User Defined Structure Property names appear mangled on reflection

Ruminant
Thu, 11 Sep 2014 17:26:38 +0000
Rendering

I’m using reflection with User Defined Structures (created in Blueprint) and am finding that when iterating through the properties, they all have extended names. For example, “Foobar” as seen in the editor, reads back as “Foobar_1_b24e4343a32434fe343434” from the UProperty.

I’ve taken the tactic of chopping back the extra information - but wanted to know if there was a correct way to read back the property names.

I iterate through the structure like this:

for(TFieldIterator<UProperty> PropIt(StructProperty->Struct); PropIt; ++PropIt)
{
    UProperty* Property = *PropIt;
    // Property->GetName() here returns "name_1_1fe456ef5e6ea7b7bc" instead of "name"
   ...
}

It’s not a major problem, since the workaround appear to be “chop back two underscores”, but that feels a little ugly.

7 posts - 1 participant