[BUG] Array Members in Arrays of Structs Just Plain Don't Work

Title is a bit of a mouthful, so in less concise terms and a picture paints a thousand words:

If you have a struct with an array as a member, then create an array of those structs, attempting to use ‘Add’ on the struct array will fail every time. It works once (index = 0), but subsequently never works again. I tested this by logging the actor being added to the array, then logging the contents of the array before and after the add operation - as you can see, nothing is being added to the array:

LogBlueprintUserMessages: [BP_GripSensor_C_103] BP_GripSensor103 overlapped Cube26
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] BEFORE ADD:
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] BP_GripSensor110
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] AFTER ADD:
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] BP_GripSensor110
LogBlueprintUserMessages: [BP_GripSensor_C_104] BP_GripSensor104 overlapped Cube26
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] BEFORE ADD:
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] BP_GripSensor110
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] AFTER ADD:
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] BP_GripSensor110
LogBlueprintUserMessages: [BP_GripSensor_C_105] BP_GripSensor105 overlapped Cube26
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] BEFORE ADD:
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] BP_GripSensor110
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] AFTER ADD:
LogBlueprintUserMessages: [BP_EchoGripHands_C_13] BP_GripSensor110

Edit: I have tried duplicating the array into a temporary one, then assigning it back to the struct, this also does not work. Whilst the temporary array does receive a new entry, when setting the struct member array, it once again only has the first index and loses the new one.

I just stumbled upon the same problem, but in blueprints, version 4.13.2.

You can not add more than one element to the arrays in the structs, tried Add, Append and Insert.

Don’t do that, it’s massively inefficient.

Just don’t use structs; create an object blueprint instead. It’s also painfully less than ideal, but it is at least reliable,

Something to do with the pointer stuff… I usually just create a new array with all elements and replace the whole thing.

I solved it with the object blueprint for now, thanks for the help Holybreath and ambershee.