Hierarchical Instanted Static Mesh flickers

After adding and removing thousands of instances from a HISM component, the HISM begins to flicker when adding additional instances. Here is a video demonstration. The flickering starts at time=1:12.

https://youtu.be/BjiPNkBk0Wc?t=1m12s

I think problem might be with HISM when each instanced have its own LOD. I’m having some flicker before also and i read that HISM is buggy with LOD calculation at run time when you adding and removing, so till i only have less than 50 instances, i just switch to Instanced Static Mesh Component and the problem gone.

Your solution isn’t quite clear to me. Are you suggesting to just stop using HISM?

My suggest is using Instanced Static Mesh instead of Hierarchical ISM

Hello,

We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.

https://forums.unrealengine.com/unreal-engine/announcements-and-releases/1410408-unreal-engine-bug-submission-form

Thanks

Duncan, this is not very helpful. You should not be replying to bug reports by simply saying “Don’t use that feature”. The ISM does not provide the same benefits of the HISM, it is not a replacement.

Thanks for clarifying that Sean. I just filled out the bug report there.

what’s your deal man ? just trying to help and suggestion based on my experience, also that’s why i put on comment section not answer. Suggestion is for your reference you can take it or not. ok.

I submitted the bug using that submission form, but I can’t find it on your site. I looked here ( https://issues.unrealengine.com/ ) and searched for the title (the same as this post) but I can’t find it. Can you show me where I can find it?

@Duncan Dam, that is not the way to help by suggesting HISM should not be used.

@mgumley I am facing the same issue but mine is more severe. See the video of the HISM flickering in and out as I simply change the view point : link text

Did you guys ever get this figured out, I am having the exact same issue.

Did you guys ever get this figured out, I am having the exact same issue.

Did you guys ever get this figured out, I am having the exact same issue.

Thank you, I may have to do the same thing.

Hi, folks! I have found what I believe is a partial solution.

I found that my issue lied in the HISMs building asynchronously: after moving some HISM instances, the meshes would briefly pop out and in again within a single frame. In other words, there was no single game frame where the instances were gone; as I stepped through in play mode, the meshes would often disappear and reappear after a single click of the “Step Forward” button.

In order to address this I’m now calling UHierarchicalInstancedStaticMeshComponent::BuildTreeIfOutdated after doing the operation on the instances that causes my flickering, passing in false for Async and true for ForceUpdate. My understanding is that this forces the HISM to build synchronously on that frame.

I’ve done a little bit of profiling and haven’t found a big performance impact from this technique, but that might vary depending on the size of your HISMs and / or how frequently you need to call BuildTreeIfOutdated.

1 Like

Thank you.

Is there anyway I can do this in blueprints?

Based on my experiences it has been fixed in 4.22, so just update your project as soon as it’s released and the flickering should go away :slight_smile:

I’m using 4.26 and had the issue just right now.

The problem for me was that the HISM component’s transform (not the instances’) was being occluded by some other element in the game. The engine would then start culling/unculling the instances of this HISM. Thus the flickering.

What is made to fix this was to make sure the transform of the HISM component would not be 0,0,0 and also bumped the boundScale of the HISM component by 4.