How do I properly destruct a nested TArray?

If something is not a pointer in array it will be destroyed when you remove element from array, as non-pointer variables are data itself.

Statically allocated variables (the base array in your case) are can’t be deleted, but in case of arrays it can be emptied.

Without UPROPERTY(), engine don’t seerefrences to UObjects that varable contains, it means it can be deleted and if object is deleted you encounter nasiest existance in C++, invalid pointer. But since you don’t use nay pointers this should not be a issue at all

I never heard of TArray in TArray to work, so this may really cause a trouble. You saying you getting crashes so did you check the logs in Saved/Logs on what is actully happening?

you could create your own 3 dimentional array by making struct with single array and overriding [] operator with FVector argument (if i’m not mistaken you can use any type as operator argument). Let’s say we have cube of 64 on each axis, you create array with 646464 elements (262144), and every 64 elements of that single array will be different raw of Y-axis and every 4096 as new row of Z-axis. If oyu think baout it not makes much diffrence as array in array would allocate this in memory in similar way