← Pixel Dreamer VFX Collection for Godot 4

Pixel Dreamer VFX Collection for Godot 4

Quick Start Guide · version 5.0 · 1,187 effects in 39 packs · Godot 4.3+ (tested in 4.7)

1. Install (1 minute)

  1. 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.
  2. To use the effects in your own game, copy the addons/pd_* folders you want plus addons/pd_vfx_tools into your project's addons folder.
  3. Optional: also copy addons/pd_vfx_collection and 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

Drag any .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)

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

Measured with vfxcol_perf.py on a GeForce GT 630 (a 2012 entry-level GPU), Godot 4.7 Compatibility, 1280x720, vsync off, looping effects from different packs on screen at the same time: 10 effects = 4.8 ms per frame (208 fps) · 30 effects = 6.7 ms (148 fps) · 60 effects = 9.1 ms (110 fps). Your numbers depend on your GPU, resolution and effect mix.

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).

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.

Get Pixel Dreamer VFX Collection ($24.99)