---
name: cinder-native-vfx
description: Discover, compose and import reusable particle effects into an Engine game; use for native Cinder effects or the separate WebGPU ink reference.
---

# VFX in a Game

Use `{{CLI}} catalog --json` and `info --style <style> --json` to choose a source.
Cinder Fall provides ten styles, each with 35 emitters. `elements --json` lists
the addressable parts; `mount`, `compose` and `export` operate on compositions.

For native effects in the current game's installed Engine:

1. Run `{{CLI}} cook --style <style> --json` to validate the selected source.
2. Run `{{CLI}} install --style <style> --json` to copy its complete source closure
   into this game's `assets`. The command returns the effect GUID and refuses to
   overwrite existing sources. It does not create a second game or alter roots.
3. Read the installed Engine VFX/asset skills, bind that GUID to
   `ParticleEffectPlayer`, add the VFX runtime feature, and build the current game.
   Use the Game connector's Engine-owned Preview. Observe the actual effect and
   its trigger/playback; a successful Cook alone is not visual acceptance.

> [!IMPORTANT]
> Native materials use the explicit `program.bindings` and `program.sceneDepth`
> contract introduced by [Engine #3895](https://github.com/ForgeaXGame/forgeax-engine/pull/3895).
> Doctor validates the installed compiler interface, not material or rendering
> compatibility. Project build validates materials; Preview validates playback.
> A material that samples and writes scene depth declares `before-pass`; preserve
> its authored depth-write state. Unsupported multisample feedback needs an Engine
> producer, not a substitute texture or silently disabled depth writes.

`preview --effect ink-ground-burst` opens the separate preserved WebGPU/WGSL
reference. Keep the foreground terminal alive; `preview stop --effect
ink-ground-burst`, Ctrl-C, disable and uninstall close its owned process. This
reference is not a native Engine delivery. Historical prebuilt Engine galleries
are excluded from the Game package; native Cinder uses the current game's Preview.
