Mass Crowd Visualization bug on android?

I tried to create a Mass crowd in UE 5.3.2, it works fine on Windows, packaged or in editor, never had problems there. I went to package for android and noticed it crashed maybe 1-2 frames after the characters spawn. I checked my rendering settings and noticed android vulkan was enabled, which I didn’t want anyways, so I disabled that. After that, I stopped crashing.

The static mesh instances (I have it set to only spawn static meshes with the crowd in the LOD settings, so no actors) flicker in and out and cause an error in the console, but it doesn’t crash. Sometimes depending on viewing angle/distance the instances are not visible at all. They seem to be most visible and less errors when far away and barely on screen, strangely.

If I remove the MassSpawner, it stops erroring, and I’ve ruled out all other sources of errors I can think of. Something to do with the visualization of the instanced static mesh, but I can’t seem to find the code for it in the source. I saw you can change the Instanced Static Mesh class in the Entity config but I got bad results with all but straight plain ISM (I think one had infinitely spawning copies every frame, while another shows nothing, while HISM glitched a lot). I tried to make a normal ISM in an actor with the same mesh, even made it move around per instance but no problems. So as far as I can tell the ISM isn’t to blame, it’s strictly something to do with how the Crowd Visualization handles the ISM.

Here is the error that gets spammed when it flickers:
LogRHI: Error: Stream x marked as in use, but vertex buffer provided is NULL (Mask = y)
x = 4, 5, or 6
y = 1, 3, or 7

Since it says a Stream is having troubles, which I take to mean a Thread, I also tried disabling parallelization of Mass and other commands on android device, nothing seemed to have any effect. I’m willing to get my hands dirty in some C++ to fix this myself if it’s feasible, but I don’t even know where to change, as I can’t seem to find ISM handling code in the MassCrowdVisualizationTrait.cpp or related code.

Any help would be appreciated.

EDIT: Removing the Movement component (or the state tree that controls movement) seems to remove the jitter/error. I guess looking at Movement component is the next plan of attack.

For me the answer was to use
Mass.CallUpdateInstances 0
console command/cvar for android.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.