GC messing up TArray without UPROPERTY

I apologize for not being more detailed. UProperties are meant to expose the code to the editor itself for reflection, the facts of being able to add ‘EditAnywhere’ or ‘VisibleAnywhere’ are additional features that are not needed for reflection data to be generated, none of these specifiers are actually required. The garbage collector itself can see everything that is in the code. The problem is that anything that isn’t being reflected in the editor through UProperties is completely foreign to the garbage collector. More information about reflection data at the following link:

When the garbage collector doesn’t know that something is being used, or when you set a reflected property to be destroyed, the garbage collector gets rid of it as it sees these things as useless. More information about the garbage collector itself can be found at this link:

Non-UProperty variables still have their uses. They can for use inside of loops and functions, places where garbage collection will not occur and they will be used temporarily. Anything that is planned to be used long-term however, such as your array, should be a UProperty to ensure that it isn’t garbage collected.

I hope this helps.