# 7. VFX Graph Pitfalls Part of [[VFX Graph]]. Previous: [[6. VFX Graph Performance and Quest]]. > [!note] Verification status > Items 2-7 are stated in the 17.5 Requirements and Component API pages (2026-11-10); the rest are general practice. **Code not compiled in Unity.** 1. **Effect vanishes when its origin is off-screen.** Bounds too small. Record bounds or set Manual bounds to the full reach. 2. **Nothing renders on some Android devices.** OpenGL ES isn't supported - use Vulkan, and gate with `SystemInfo.supportsComputeShaders && maxComputeBufferInputsVertex > 0`. 3. **Colors look wrong / effect missing in URP.** Gamma color space isn't supported in URP. Use Linear. 4. **String property names every frame.** Least optimized path; use `ExposedProperty` or `Shader.PropertyToID` statics. 5. **"My event didn't do anything this frame."** Events are processed in the component's next update, **after LateUpdate**. Don't expect same-frame results. 6. **`aliveParticleCount` lies (briefly).** It updates asynchronously about once per second. Use `HasAnySystemAwake()` to decide when an effect is done. 7. **Payload changes after sending.** Safe - the payload is copied on `SendEvent`. Creating a new `VFXEventAttribute` per event is the waste, not reusing one. 8. **Event attribute from another graph.** A `VFXEventAttribute` is compatible with the graph it was created for; after swapping `visualEffectAsset`, create a new one. 9. **GPU event children stop spawning.** Child capacity too small for parent capacity x trigger count. 10. **Instantiating a VisualEffect per hit.** Use one service instance + events, or pool (part 3). 11. **Leaked GraphicsBuffers.** Release in `OnDisable`/`OnDestroy`; with Domain Reload disabled in Enter Play Mode Options, leaks persist across plays. 12. **Expecting particle collisions in C#.** GPU collisions don't call scripts. Raycast in gameplay code and *then* send the VFX event. 13. **Huge capacity "just in case".** Capacity allocates memory up front. 14. **Output event handlers missing `canExecuteInEditor`.** It's abstract on `VFXOutputEventAbstractHandler`; your class won't compile without it. 15. **Quest frame drops from one fancy effect.** Profile on device; keep a Particle System fallback.