Initialise a TArray at Construction

In my current project, I’ve created a C++ enemy with BP child that drops one or more items on death. The items are held in a data table.

I’ve created an array of droppable items to allow in blueprint to set what enemy drops what item(s) and want to use PostEditChangeProperty in C++ to automatically get the item info, based on its unique ID.

The problem I’m having is that while in the editor, I can see the items are there but the C++ can’t. UE_LOG shows that the item count is 0, a Print String inside the BP construction script shows the correct count. Using the same log in the C++ Begin Play also shows the correct number of entries so my guess is there is some sort of initialisation going on at that time which causes everything to work. I need it to happen before that.

Is there any way for C++ to get the information from the TArray while still using the editor? It is literally to set the information without having to type everything in every time.

ETA: The array is there to access when PostEditChangeProperty is called. The reason I wanted it earlier is there’s a second array that I wanted to hold the existing ID so things don’t get overwritten by accident. I may just need to rethink my check on what change has taken place.