Unity Particle System Not Visible in Build - URP and Shader Stripping Fix

Problem: Your particle effects look correct in the Unity Editor, but in a standalone or mobile build they are invisible, partially missing, or render as pink/black quads.

Root cause (typical): Build pipelines are stricter than Play Mode. URP renderer assets, shader variants, particle materials, and quality tiers can diverge between Editor and build. The most common cause is shader variant stripping or an unintended renderer/material mismatch.

If your particles are never visible even in the Editor, start with your emitter setup and simulation bounds first. This article focuses on Editor works, build fails behavior.


Quick fix checklist

  1. Confirm every particle system uses a valid URP-compatible material (not a legacy built-in shader).
  2. Verify your build actually uses the intended URP Render Pipeline Asset for the active quality level.
  3. Temporarily disable aggressive shader stripping and rebuild to confirm variant loss.
  4. Ensure particle materials and textures are directly referenced in scenes/prefabs included in build.
  5. Test graphics API and quality tier parity between Editor and target platform.

Step 1 - Validate particle material and shader compatibility

  1. Select the particle system prefab or scene object.
  2. In Renderer > Material, verify the assigned material is not missing.
  3. Use URP-ready shaders such as:
    • Universal Render Pipeline/Particles/Unlit
    • Universal Render Pipeline/Particles/Lit
  4. Avoid legacy built-in shaders in URP projects unless intentionally supported.

Verification: Build a minimal test scene with one camera, one light, and one particle prefab. If it renders there, the issue is pipeline/config-related in your main project.


Step 2 - Confirm URP pipeline asset and quality tier mapping

Particle rendering differences often come from the wrong render pipeline asset being bound in player settings.

  1. Open Project Settings > Graphics and confirm the correct URP asset is assigned.
  2. Open Project Settings > Quality and verify each active tier points to the intended URP asset.
  3. Check that your build target uses the expected quality level at startup.

Common mistake: Editor uses one quality tier and build starts on another with different renderer settings.


Step 3 - Test shader variant stripping

URP and player builds can strip shader variants that particles need, especially with custom keywords.

  1. In URP asset settings, set stripping options less aggressively for a test build.
  2. If using custom particle shaders, add them to Always Included Shaders temporarily.
  3. Rebuild and compare.

If particles return, you found a stripping issue. Then reintroduce stripping carefully while whitelisting required variants.

Official reference: Unity URP shader stripping.


Step 4 - Force asset inclusion in build

A particle prefab may exist, but its material/texture can still be excluded if only loaded indirectly.

  1. Ensure particle prefabs are referenced by scenes included in Build Settings or by Addressables with valid catalogs.
  2. Avoid keeping required assets only in editor-only test scenes.
  3. For Addressables, verify group build and runtime load paths on device.

Verification: Log load success for particle prefab, material, and texture before playback in a development build.


Step 5 - Check platform graphics and camera settings

  1. Compare graphics API (DirectX/Vulkan/Metal/OpenGLES) between test environments.
  2. Check camera culling masks and layer setup for VFX layers.
  3. Confirm sorting layer/order for transparent particles in URP.
  4. Inspect overdraw-heavy scenes for depth/write settings that hide effects.

Symptom pattern: Particles appear in simple scenes but vanish in production scenes because of layer/sorting conflicts.


Alternative fixes

  • Disable GPU instancing on the particle material as a diagnostic step.
  • Reduce soft particles/depth usage for low-end targets to rule out depth texture issues.
  • Switch to a known-good URP particle shader preset and retest before custom shader debugging.
  • If you recently upgraded Unity/URP, regenerate material variants and reimport shaders.

Prevention tips

  • Keep a dedicated VFX smoke-test scene in CI for build validation.
  • Version-lock URP package updates per sprint to avoid surprise rendering regressions.
  • Maintain a small list of approved particle shaders and material presets.
  • Re-test particles whenever quality tiers, renderer assets, or graphics APIs change.

FAQ

Why does it work in Editor but not in build?
Editor can retain broader shader availability and different quality/runtime settings. Player builds strip and optimize aggressively.

Do I always need Always Included Shaders?
No. Use it as a diagnostic tool, then move to targeted variant inclusion for long-term performance.

Can Addressables cause invisible particles?
Yes. If material/texture dependencies are missing from groups or catalogs, prefabs can load without valid visual data.


Related links

Bookmark this fix so you can run the checklist before each release build. Share it with your team if particle VFX disappear only on device.