Summary
Weapon shell-eject VFX ignore the Niagara system’s own scalability settings: a creator-assigned shells system never spawns on the Low graphics preset, even when its effect type and quality masks allow Low.
Please select what you are reporting on:
Unreal Editor for Fortnite
What Type of Bug are you experiencing?
Scene Graph
Steps to Reproduce
- In UEFN, make an Armory weapon from sub_machine_gun_template (any template shows it).
- Assign a custom Niagara system to the weapon’s shell-ejection slot: fort_trace_weapon_component.SetBulletShells(option{MySystem}) from Verse, or the weapon’s Bullet Shells option.
- In that system, set the effect type to NET_Gameplay_Burst_Critical and leave every emitter’s quality-level mask on all levels (Low included). Add a visible mesh or sprite emitter and a CPU emitter with a Play Audio module.
- For comparison, assign the same system to the weapon’s muzzle-flash slot (SetMuzzleFlash).
- Launch a session. On the client set Settings > Graphics > Quality Presets to Medium, equip the weapon and fire.
- Set the preset to Low and fire again.
Expected Result
The shells-slot system spawns at every preset its own scalability settings allow. With all quality levels enabled, it plays on Low exactly as it does on Medium, like the muzzle-flash copy.
Observed Result
• Medium: both copies play, the shells one and the muzzle-flash one.
• Low: the muzzle-flash copy plays. The shells copy never appears, and its audio emitter is silent too, so the system is never created; this is not a renderer or GPU-simulation limit.
The weapon seems to skip shell FX on Low world detail (and possibly for low-significance pawns or at distance) before Niagara is asked. None of the asset’s scalability settings change that: effect type, emitter quality masks, scalability overrides.
Platform(s)
Tested on: Windows PC, Mobile, Switch
Additional Notes
• Ruled out on our side: Nanite off on the meshes, material usage flags for Niagara meshes, non-Nanite meshes, CPU vs GPU emitters (the CPU audio emitter is also silent).
• Suggested fix: when a creator assigns a custom VFX to a weapon slot (SetBulletShells, or the Bullet Shells option), switch that weapon to a path that always respects the custom system’s own Niagara scalability settings, instead of the weapon’s built-in Low-detail check. No toggle is needed: the change only applies when a custom VFX is assigned, so stock weapons, stock brass casings and every existing template behave exactly as today. The muzzle-flash slot already seems to work this way.