Download

Python access to TSoftObjectPtr property fails

I’m trying to modify properties of a data-only blueprint asset which is a child of a C++ custom class.
I’m able to successfully read and write all the properties except those of type TSoftObjectPtr.
For example:


UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(MyExport))
 TSoftObjectPtr<USkeletalMesh> Mesh;

This Mesh property will always resolve to “None” in my python code despite having legitimate values and, actually, displaying that value when printing the parent struct in which it exists.

Is there some special way to get at these struct properties from python? I figure I need to resolve the soft pointer but I have no clue how.
Thanks.

This was a bug in 4.21 that was fixed for 4.22. As a workaround for now you could add a BlueprintCallable function that returns you the resolved object pointer.