Scene Component doesn't update array values

Just to clarify a little more

You are correct that static mesh <–> integer combination denotes how many meshes of that type will be spawned

I have an actor with a component. That component has a Dictionary variable.
And in the actor’s blueprint I’ve set the default values for that dictionary.
But when I place the actor in a level and try to overwrite the values from the dictionary, it doesn’t work.

What’s in the actor blueprint is always used. Values that are set on the actor’s instance in a level are ignored.

EXCEPT if the actor’s blueprint doesn’t have a default value (empty array). In which case the new values are ignored in the editor, but get read properly during compile time – that’s why spawning the meshes in BeginPlay event works ok.

I tried creating a struct, but I run into the same issue. Because there will be more combinations of mesh<->int I would need an array of structures and the exact same issue happens.


Datatable won’t help me much I’m afraid either, because it’s a bit more complicated. I should have a lot of actors with this component all over my level, so I would need a lot of DataTables, or a single one with an key to denote wich component uses what rows. Would make my life very complicated compared to clicking on an actor and changing the values directly.