virtual uint8* GetValueBaseAddress(uint8* ParentValueAddress, const UStruct* ExpectedType) const override { if (ParentValueAddress) { // "ParentValueAddress" is pointer to a value of the type defined in "ParentProperty". FMyStruct& Value = *reinterpret_cast(ParentValueAddress); // The return value should match the ExpectedType. The expected type should be the same as the GetBaseStructure() returned by this provider. return (Value.GetScriptStruct() == ExpectedType) ? Value.GetMemory() : nullptr; } return nullptr; } };