SetMaterial is setting the material, but it's not showing in play

I’m dynamically creating a series of actors, each of which it stored in an array.

The colors of those actors are then being set based on the actor’s world location.

For whatever reason, the actor in array element 0 doesn’t work right. It’s not showing the color it’s set to in the play window.

I know that it’s color was set because I can pull the value and print it to the screen.

Array → Get (0) → Target-StaticMesh → GetMaterial (Element Index 3) → GetDisplayName → PrintString

It prints “Blue_mat” but it’s NOT blue in the play window. It’s still the blank WorldGridMaterial. I also know that ‘Blue_mat’ does work because it works for every other actor that ends up as blue, just not for one in array element 0. In fact, no color works there. They get set, but they don’t show on the screen.

I was originally setting the colors at the time that the actors were being spawned and not from the array. The first actor spawned was not getting the color set, so I moved to setting the colors after all actors were spawned, but still the same problem.

The material IS being set, but it’s NOT showing in the play window.

Can someone please help me find a way to get this to work?

Thanks.

Can you show the code?

Total idiot mistake. I figured it out. I had left a blank copy of the staticmesh in the level map at 0,0,0 so the mesh that was being spawned in on top of it was all set correctly, just being hidden behind my incompetence. :man_facepalming:

1 Like