A licensee has reported that when using Create Material Instance Dynamic and adjusting a material at run-time is not working with HLODs.

It doesn't seem supported (yet) and unchecking the "merge materials" option doesn't seem to have an effect. If the material is changed in game it will remain that with which was generated with the LOD.

As a workaround I tried referencing the LOD actor in the LevelBP and used the create dynamic material instance node, but this did produce any results, even though with materials not merged I could see each one independently.

Steps to Reproduce

1. Open UE4
2. Add a few objects that can be used for HLODs
3. Set up a simple material parameter collection and add this to your material
4. Apply this material to one of the meshes
5. In the Level BP setup a Create Dynamic Material Instance that calls the parameter vector to change the color on Key Press. (See Attached Image)
6. Enable HLODs in the World Settings and Generate the LODs in the HLOD Outliner
7. PIE
8. Press the key to change the meshes color material
9. Move away from the mesh to trigger the HLOD change.

Results: HLOD does not change when

Expected: The Material Instance Dynamic should be assigned to the element.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-25236 in the post.

Login to Vote

By Design
CreatedJan 11, 2016
ResolvedJan 12, 2016
UpdatedJul 14, 2021
View Jira Issue