LempoLempo Particle FX Docs

Using Effects in GDevelop

Design in Lempo Particle Editor, export JSON, import the extension, then preview the effect in GDevelop. The extension has its own simulation and renderer, so some behavior and visual details can differ from the editor and browser preview.

Four steps

Design & export

Create your effect in Lempo Particle Editor and export it as a .json file (validated against the export schema).

Import the extension

Import AdvancedParticleEmitter.json into your GDevelop project as an extension. Requires GDevelop โ‰ฅ 5.6.284 โ€” older versions render 3D particles at the wrong scale.

Add the emitter object

Add the emitter object to your scene and set its ParticleJSON resource to the exported file. If the effect uses a custom model, also set the Models GLB resource to your .glb.

Run

Press preview and enjoy your effect in-game โ€” 2D via PixiJS, 3D via Three.js, trails included.

Exact action/condition names depend on the extension version โ€” see the extension's in-editor descriptions.

What the extension does

FeatureDetails
2D renderingPixiJS sprite pool with per-emitter blend mapping
3D renderingThree.js โ€” world-scale fix + sRGB colors on GDevelop โ‰ฅ 5.6.284, objects attached via add3DRendererObject
InstancedMesh batching3D primitives collapse ~580 draw calls into ~12 buckets, pixel-identical per particle; automatic classic fallback if instancing is unavailable
Trails & ribbons v0.2.0 2D quad strips / 3D billboard strips, pooled and blend-aware, with hideParticle honored โ€” the existing emitters grow trail support, no new objects; trail-less effects render bit-identical to before
Blend modesPer-emitter from JSON (BlendingMode: 'JSON') or forced at object level
Deterministic seedReplay is deterministic within each runtime; equal seeds do not guarantee identical particle records across preview and game
Force fields v1.2 Turbulence, vortex, attractor, collision plane โ€” computed in the runtime too

Compatibility notes

ItemValue
GDevelop>=5.6.284 for 3D (world scale + sRGB)
PixiJSPreview 8.21.x; GDevelop 7.4.2
Extension version0.2.0 โ€” pairs with editor v0.2.0 / export v1.2
Three.js0.185.1 in both preview and GDevelop (GDevelop โ‰ฅ 5.6.284)
Older extensions< 0.1.2 render Screen/Lighten/Overlay as Normal (single warning)
The shipped runtime is tested headlessly in CI with a stubbed gdjs + real three.js / PIXI (preview/test_ext_runtime.mjs, preview/test_ext_trails.mjs) โ€” so regressions in the bundled code are caught before you ever hit them.

Export checklist

  • โ˜ Effect exported as .json from the editor (format v1.2; v1.0/v1.1 migrate)
  • โ˜ Extension AdvancedParticleEmitter.json imported (โ‰ฅ 5.6.284)
  • โ˜ ParticleJSON resource set on the object
  • โ˜ Models GLB resource set if the effect uses a custom model
  • โ˜ Blend mode left on JSON to respect per-emitter modes