In a source-built UE off Meta’s ‘oculus-5.5.1-release-1.106.0-v74.1’, I’ve been building a Niagara particle system where in “Particle Spawn” or “Particle Update” I need to set certain values from a User / Emitter / System value.
When I run the Niagara system in-editor (pie), CPU-only emitter, Standalone Vulkan Mobile, or on a Meta Quest Pro / 3 device, it runs fine.
However, when I switch to GPU-mode emitter with “Emulated Uniform Buffers” also enabled, Standalone Vulkan Mobile or on Meta Quest Pro / 3 device, the Particle values initialized from User / Emitter / System are always zero / unset.
I’ve isolated the problem to just this flipping this setting: Enable Emulated Uniform Buffers. Particles are broken Niagara particles when on, off runs fine.
Otherwise:
Mobile GPUScene: on/off runs fine
Enable packing LightGrid light data to UBO: locked on runs fine
Enable uniform local lights support on mobile forward: on/off runs fine
Mobile Application Space Warp: on/off runs fine
So is this a case of don’t use Emulated Uniform Buffers?
It was quite a surprise to me this specifically was not tested against Niagara.
It’s also stealing a couple weeks of dev-time to identify, resolve, and then redo work all over again.