Set material at runtime glitch?

I am making an actor placement system which creates a simulation to indicate where the actor will be placed, switching between red and blue materials to indicate whether the location is valid.

I am setting up two material instances on begin play (one red and one blue):

Then every tick, I am updating the material of the simulation actors static meshes to indicate valid versus invalid locations:

I am printing the name of the material to check that it is being selected correctly:

When the simulation actor collides with another object (i.e. an invalid location), the print string updates to RED to indicate that the correct material is being applied, yet the material of the simulation actor doesn’t update!

You can even see the red glow of the emissive material in the world! This suggests that the material is indeed being applied to the static mesh (the emissive is influencing the world!) except the mesh itself hasn’t updated!!

Any idea what is going on?

Thanks!

Hey there @jacksonnexhip! This is an interesting issue! Does this occur the same way when changing the material in an event based way instead of on tick? I setup a couple tests on my end, but it doesn’t seem that I can replicate the issue.