PS: If you’re going to use this sort of thing in the save game, I would do some tests first, to make sure it serializes correctly ( gets mapped into the save game and back ).
Another way to do this, is to just have an array, and compute your offset into it using a bit of math.
According to my knowledge structure wrapper is the only way to do it (as showed by the ClockworkOcean). TMaps don’t support values as arrays - even in cpp it’s not supported.
The other way would be to use std::map and this can have almost any type as value, but it’s also rather not recommended to mix standard types with Unreal ones (and it will not be supported in BP).
For the record, this is technically incorrect. You can have whatever type you like as the ValueType of a TMap.
The reflection system does not support it, so it can not be a UPROPERTY, but there is no limitation in TMap.