Reflection system does not support native arrays, pointer of pointer, as well as TArray in TArray. I you can still use native arrays without being reflected, but then GC won’t see it so if something is only in that matrix it wont be protected from being collected and if objects get destroyed you will have invalid pointers.
You could try using TMap with FIntVector as index or some other dimentional struct
Blueprint overall dont support any form of multidimentional array and as well TMap so you would need to make write and read nodes on your own.
Some people make struct with array and make a array of that structs, so you get struct from array and read array from struct. It actually seems to be the less problematic solution as you cna use it with UPROPERTY(), GC will fully work with it and you actully can edit such thing with property editor and blueprints quite easily