So I’m currently making an IPropertyTypeCustomization for a struct named FWaveEntry
USTRUCT()
struct FWaveEntry
{
GENERATED_BODY()
UPROPERTY(EditAnywhere)
UWaveData* Wave;
UPROPERTY(EditAnywhere)
FTest TestStruct;
};
and inside FWaveEntryCustomization.CustomizeHeader(…)
TSharedPtr<IPropertyHandle> TestStructProperty = PropertyHandle->GetChildHandle(GET_MEMBER_NAME_CHECKED(FWaveEntry, TestStruct));
TSharedPtr<IPropertyHandle> TestPropertyFromStruct = TestStructProperty->GetChildHandle(GET_MEMBER_NAME_CHECKED(FTest, TestValue));
TSharedPtr<IPropertyHandle> WaveDataPropertyHandle = PropertyHandle->GetChildHandle(GET_MEMBER_NAME_CHECKED(FWaveEntry, Wave));
TSharedPtr<IPropertyHandle> ProjectileSpeedPropertyHandle = PropertyHandle->GetChildHandle(GET_MEMBER_NAME_CHECKED(UWaveData, ProjectileSpeed));
I’m able to access an internal value of my FTest struct that’ve I’ve put into my FWaveEntry so I can bind it to a widget, however, when I try to do this with an UObject(UDataAsset) my handle isn’t valid? The handle to just the UObject is valid but any handles I try to get from the internals of the UObject are not valid? I’m guessing this has something to do with maybe IPropertyHandles not supporting UObjects as ik IPropertyTypeCustomization is for structs. Any ideas on how I can get this specifically to work or if there is another way I can bind some widgets to the data in that UWaveData? Like going through FProperties maybe?