Missing data on actor component when playing (bug in duplicating?)

I created a custom actor component to put on my characters (both player and npcs). I put it on my player and on an npc of mine. Then, I set the properties in the blueprints.

The specific property I’m talking about is an array of a custom struct, where the struct contains 2 properties: (1) TSubclassOf MyType, and (2) a map from a custom enum to another custom struct.

On the player everything is working, but on the npc the data is missing; I’ve put a breakpoint in InitializeComponent(), and I can see the data is missing (it is there when I press compile on the editor, just not when starting the game).
The weird thing is - the array items are actually there; but they are empty; it’s as if the engine is having problem serializing and deserializing my custom properties.

As far as I know, objects that are placed in the world are duplicated, unlike my player which is spawned, and that is the only reason I can think why the npcs aren’t working and the player is.

But I have no idea where or how to debug this to find the problem!

obviously, there is USTRUCT, UCLASS and UPROPERTY on any struct class and property

After writing this I had the idea to try and spawn an npc in blueprints, in runtime, to check my theory about duplicating. I did, and I was right; spawning the same npc in blueprints works.


We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.