Say I want to iterate over all properties of an unknown Blueprint-only class and react to their types. I know I can distinguish boolean, numeric, struct and object properties, but strings technically are objects that do not derive from the UObject class.
Question: how do I distinguish String properties from other object properties?
The easiest I found to find all the property types supported by UE4 is to simply call UProperty::GetClass()->GetName() and print that. For the various strings, this yields:
UStrProperty for FStrings
UNameProperty for FNames
UTextProperty for FTexts
There is also a UArrayProperty for TArrays, however I’m currently struggling to determine the exact template type of the array. TMap and TSet are not supported (as also stated somewhere in the documentation).