Structs and Arrays

This maybe just how its ‘supposed’ to work, but I noticed when having an array of structs in blueprints, if you try to modify any of the structs in the array the changes won’t update. This probably because the array is getting the struct by value instead of its reference. The result is, if you want to update anything in array of structs, your forced to basically recreate the object and replace it - which isn’t very efficient and its also a lot more code - code you can’t really make a macro that would do it for you every time either.

Any suggestions on a work around, maybe using some custom C++ code?

Edit: I’ve decided to turn all my structs into UObjects as thats probably the easiest way to deal with this.

I’m experiencing the same issue in Blueprints updating/modifying user defined Struct members within an Array of Structs. I’ve searched for a definitive YES/NO in Answer Hub to this suspected Bug.


I’ve upgraded to 4.5.1 and tried several approaches to get it to work using Set Struct Members and Set Array Element Nodes. These appear to have no effect.

My Blueprint workaround: A Structure of Arrays. I simply encapsulate two or more Arrays of an individual Data-type into Virtual Structure with some fancy Labeling and Categories/Subcategories (ie: VStructure|Array|Structname). I use macros to perform array operations (Add/Insert/Remove) on all arrays in the VirStruct to maintain index alignment. The more arrays the more expensive. The trade off, update/modify Member with greater granularity flawlessly.

I’d rather be able to update a Struct Members in Array of Structs. I’d appreciate any answer/solutions to this issue.

I’m having some problems to remove a default element from a struct array… let me try to explain:
I’ve created a struct array, but I have added an element accidently, but I don’t know where is the button “Remove Item”… can you help me?..
Here is the image to trying to illustrate the problem…