Material Custom Primitive Data Not Updating Each Frame In Standalone - Fine In Editor

I have a blueprint that uses HISM (Hierarchical Instanced Static Mesh) component and the Set Custom Data Value on Tick for use in updating a material using the PerInstanceCustomData node. That custom data drives UV scale in my case. This works perfectly in the editor viewport or PIE. Each frame my UV scale reflects the updated value to give a growing affect to mesh per instance, roughly 7ms frame time.

When running via standalone, or packaging the game in both Development and Shipping for Windows, my frame time is still around 7ms, however the UV scale (purely driven by the custom data) only updates every second to 2 seconds.

I’ve setup prints to debug this, and in all configurations, I can see the “PerInstanceCustomData” node is returning true every frame and the value im using to set the custom data is also printing as expected.

Are some configurations needed on my end between the editor and standalone I’m not aware of. I have Unreal Insight sessions on the incorrect behavior but was unable to locate anything specific that points to the issue. Any advise appreciated as I’m at a loss for where to look next. Could this be a bug?

These blueprints are a bit long start to finish but here are the relevant portions. The Material UV scale is confirmed to be updating each frame via Print nodes.

TL;DR: Material with UV scale driven by custom primitive data does not visually update each frame to reflect the new value outside of playing in the editor viewport.

Here’s a video showing the issue with standalone (same on packaged): [UE4 Custom Primitive Data Not Updating Each Frame Outside Editor - YouTube][1]

BP_Actor setting the custom data value

Material being used by the HISM

UPDATE: I’ve found that the 1-2 second delay I was referring to is directly related to the next “ADD” node on the HISM component.

In standalone, the materials reflect the custom primitive data being passed in per mesh only after I’ve added a new instance to the component. In the editor, they update in real time.

UPDATE 2: I’ve isolated this to be specifically related to HISM compared to ISM. It appears the mark render state dirty bool is not functioning as intended on HISM. Bug report opened below.

1 Like