← Pixel Dreamer VFX Collection for Godot 4
Pixel Dreamer VFX Collection for Godot 4
Quick Start Guide · version 5.1 · 1,211 effects in 39 packs · Godot 4.3+ (tested in 4.7)
1. Install (1 minute)
- Unzip, then open the folder in Godot and press F5: the effect browser starts. Click a name or use Up/Down, Space replays, C auto-cycles, drag to orbit, wheel to zoom.
- To use the effects in your own game, copy the
addons/pd_*folders you want plusaddons/pd_vfx_toolsinto your project'saddonsfolder. - Optional: also copy
addons/pd_vfx_collectionand enable Pixel Dreamer VFX Collection in Project > Project Settings > Plugins. A "VFX Collection" dock appears next to FileSystem with a preview of every effect.
2. Add an effect without code
.tscn from addons/<pack>/effects/ (or from the dock) into your 3D or 2D scene. Looping effects (fire, aura, rain) play on their own.
One-shot effects (hit, explosion, cast) play when you call play(), or tick Play On Ready / set Repeat Every in the Inspector.3. Add an effect from code
Every pack ships the same small helper, PDVFX (addons/pd_vfx_tools/pd_vfx_tools.gd). Copy-paste:
Spawn an effect where something happened
var fx = PDVFX.spawn(preload("res://addons/pd_vfx60_particles/effects_3d/Explosion.tscn"), self, hit_pos)Make it bigger or smaller (scaling the node alone does not resize particles)
PDVFX.set_scale(fx, 2.0)
Tone it down (1.0 = original, 0.3 = calm and subtle)
PDVFX.set_intensity(fx, 0.4)
Tilt a camera-facing effect such as a slash (rotating the node does not turn billboards)
var slash = PDVFX.spawn(preload("res://addons/pd_japan_vfx/effects/Katana_Slash_White.tscn"), self, hit_pos)
PDVFX.set_angle(slash, 45.0)Point an upward effect (fountain, geyser, sparks) at a target
var jet = PDVFX.spawn(preload("res://addons/pd_water_vfx/effects/Geyser_Aqua.tscn"), self, hit_pos)
PDVFX.aim(jet, target_pos)Fire a projectile: cast, fly, hit - and react on impact
var bolt = PDVFX.spawn(preload("res://addons/pd_projectile_vfx/effects/Fireball_Orange.tscn"), self, hit_pos)
bolt.launch(target_pos + Vector3.UP)
bolt.hit.connect(func(at): print("hit at ", at))Replay a one-shot effect
PDVFX.play(fx)
Speed it up or slow it down (1.0 = original)
PDVFX.set_speed(fx, 2.0)
Remove an effect: particles finish, the rest fades out over 0.5 s (looping effects never end on their own)
PDVFX.despawn(fx, 0.5)
Spawn a looping effect that removes itself after 3 seconds
var aura = PDVFX.spawn(preload("res://addons/pd_arcane_vfx/effects/Heal_Aura.tscn"), self, hit_pos, 1.0, 3.0)Prepare effects behind a loading screen (no hitch on first use)
await PDVFX.warm_up([preload("res://addons/pd_vfx60_particles/effects_3d/Explosion.tscn")], self)Performance
FAQ
I scaled the node and the particles stayed the same size.
Godot particles live in world space and ignore the node's scale. Use PDVFX.set_scale(fx, s) - it fixes particles and billboards.
I rotated a slash and it still faces the same way.
Camera-facing sprites (billboards) ignore rotation. Use PDVFX.set_angle(fx, degrees).
I want something simple, not a big flashy effect.
Open the Essentials category in the browser (simple fireballs, small casts, lightning, heals), or call PDVFX.set_intensity(fx, 0.3-0.6).
How do I remove a looping effect?
Call PDVFX.despawn(fx, 0.5), or give PDVFX.spawn a lifetime in seconds. Looping effects never end on their own, and despawn is safe on an effect that is already gone.
An effect stutters the first time it plays.
Godot compiles the shader on first use. Call PDVFX.warm_up([...], self) behind a loading screen or a fade.
Which renderer?
Forward+, Mobile and Compatibility all work (tested in Godot 4.7, Compatibility). Web export works too - try the browser demo.
Can I use it in a commercial game?
Yes, in any personal or commercial project. Do not resell or redistribute the files as an asset pack.
Do I get new effects?
Yes. Updates are free - download the same file again from the store page.