This is the first phase of allowing Blueprint types to be generated for Python, which must be accessed via unreal.get_blueprint_generated_types(...) as asset names are not guaranteed to be unique, so they're not added to the unreal module.
Once a type has been generated for Python, it will be updated if the underlying asset is changed. Should the asset be deleted then the Python type will be reset to clean state and become mostly unusable.
This change also ensures that the Unreal type pointers referenced by the Python meta-data are ARO'd correctly. This will cause a warning if you try and delete an asset with a type used by Python.
MyEnum = unreal.get_blueprint_generated_types('/Game/MyEnum') # This can also accept multiple arguments or a list, and will return a tuple of types
print(MyEnum.MY_ENTRY)
#jira UE-81862, UE-81859
#rb Lauren.Barnes
[CL 10227467 by Jamie Dale in Dev-Editor branch]
The existing Python code has been ported to use this, and this can also be used by Blueprints (or other C++ setting properties) to allow property changes that emit change notifications.
#jira UE-77388
#rb Chris.Gagnon
[CL 9706346 by Jamie Dale in Dev-Editor branch]
- This fixes out params being at the wrong offsets causing the copy of the data to look at the wrong locations
#rb: merge
[CL 8385886 by Joe Graf in Dev-VR branch]
Added error handling for a missing self paramter in a python function that is exposed to the engine
Added missing class flags that allow a python object to expose a python function as a BP node without having to be present in the native base class
Update the Blueprint action database when a python class is loaded after the list has already been populated
#rb: merge
[CL 8214003 by Joe Graf in Dev-VR branch]
#rb Jamie.Dale
#jira none
#ROBOMERGE-SOURCE: CL 7558761 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v372-7473910)
[CL 7558771 by johan duparc in Main branch]