Quick answer: Niagara emitters scale by Effects Quality. Packaged builds may run at Low (0.25× spawn) by default. Either raise quality, override scalability per-system, or check Detail Mode tags.

A boss explosion looks spectacular in PIE: thousands of embers, dense smoke, shrapnel everywhere. In a shipping build on the same machine, the same explosion is half the density and the smoke barely reaches knee height. The particle system asset hasn’t changed. The scalability system has decided to scale it down.

How Effects Quality Scales Niagara

Unreal’s scalability system runs separate quality tiers for Effects (sg.EffectsQuality):

On startup, packaged builds run device detection and pick a quality bucket. The editor runs at Cinematic by default. Mismatch produces the “looks great in editor, smaller in build” symptom.

Step 1: Check Current Quality at Runtime

Open the console in the build (~) and run:

sg.EffectsQuality
fx.Niagara.ShowSystemInfo 1

The first command prints the active tier. The second overlays per-system spawn counts on screen. If your tier is 0 or 1, the multiplier is biting.

Step 2: Force a Higher Tier

To globally bump effects quality for a build:

// DefaultEngine.ini
[SystemSettings]
sg.EffectsQuality = 3

This forces Cinematic regardless of detected device. Only do this if your target hardware can sustain it; otherwise you trade visual quality for frame drops.

Step 3: Per-System Override

For specific systems that must always run at full density (boss attacks, story moments), override scalability in the Niagara System:

  1. Open the Niagara System asset.
  2. Select the emitter.
  3. In the Emitter Properties, expand Scalability.
  4. Set Override Scalability Settings → On.
  5. Set every quality bucket’s spawn count override to 1.0.

The emitter is now immune to project-wide effects quality changes. Use sparingly — defeating scalability project-wide negates the point.

Step 4: Audit Detail Mode

Each emitter has a Detail Mode (Low/Medium/High). Emitters set to High won’t spawn at all when the project’s r.DetailMode is below their tier:

r.DetailMode 0   // only Low emitters
r.DetailMode 1   // Low + Medium
r.DetailMode 2   // all

If a build mysteriously omits an entire emitter (not just reduces it), Detail Mode is the suspect.

Step 5: GPU vs CPU Simulation

Niagara emitters can run on GPU or CPU. Some platforms have GPU simulation disabled by default (mobile, switch in some configs). A GPU emitter on a CPU-only platform doesn’t spawn anything. Open Project Settings → Plugins → Niagara and verify GPU simulation is enabled for your platform. For platform-specific behavior, switch the emitter to CPU and accept the perf cost.

Verifying

In the packaged build console, run fx.Niagara.ShowSystemInfo 1 and trigger the effect. The on-screen overlay shows spawn count per emitter. Compare to the editor numbers; they should match after the scalability override. Take a screenshot for QA records.

“Scalability is a feature, not a bug — until it scales something you didn’t want it to. Override per-system for hero VFX.”

Always test in shipping config on representative hardware before locking in your scalability assumptions.