Have a couple questions regarding what’s best practice for handling properties unexposed to blueprint and python and the only way to change them is from c++.
- How do I identify them? For example I want to change UAnimSequence.
RetargetSourceAssetReferencePose
(maybe not the best example but it will work).
Couldn’t find it in blueprint search…
And in python API it’s missing too and trying to access it directly
assets = unreal.EditorUtilityLibrary.get_selected_asset_data()
a = assets[0].get_asset() # type: unreal.AnimSequence
print(a.get_editor_property("RetargetSourceAssetReferencePose"))
# Exception: AnimSequence: Property 'RetargetSourceAssetReferencePose' for attribute 'RetargetSourceAssetReferencePose' on 'AnimSequence' is protected and cannot be read
The question is how do I make sure it’s not exposed by some other nickname?
I’ve researched source code and it seems that unexposed properties have empty UProperty macro (I guess it also can have other value besides EditAnywhere
that would make it unexposed). Is this it or there are other ways to make it usable for bp/python?
- Is there some way around it to access it from blueprint and python besides rewriting the entire thing in C++? Maybe there is some way to make it exposed from C++ without recompiling the engine and then access it from bp and python?