This isn't supported by the reflection system and is already disallowed, but the error message was confusing. It now gives an error message more like UHT, and suggests using a struct as an alternative to direct nesting.
#jira
#rb Lauren.Barnes
#ROBOMERGE-SOURCE: CL 12253865 in //UE4/Release-4.25/... via CL 12253868
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v668-12245121)
[CL 12296563 by jamie dale in Main branch]
It is a common mistake to omit the type(s) for the container elements, so this case will now present an error stating the reason and the correct fix.
#jira
#rb Lauren.Barnes
#ROBOMERGE-SOURCE: CL 12251952 in //UE4/Release-4.25/... via CL 12251955
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v668-12245121)
[CL 12251961 by jamie dale in Main branch]
This delegate was previously useless as it would run when the PythonScriptPlugin module was loaded, which meant that no-one could bind to it
#rb none
[CL 10795922 by Jamie Dale in Main branch]
- Fixed Python container wrappers leaking transient property instances.
- PyUtil::TPropOnScope will manage an optionally owned property instance, deleting it if required when it goes out-of-scope.
- Fixed Python container wrappers crashing during GC due to calling FReferenceCollector::AddReferencedObjects passing a FProperty-based type.
- Fixed Python delegate wrappers crashing when called with arguments due to checking Children rather than ChildProperties.
#rb Robert.Manuszewski
#rnx
[CL 10791312 by Jamie Dale in Main branch]
Bad values here can cause the unreal.py file to fail to parse, so we now validate that user-defined values are valid for Python when generating the glue and report an error for any that are invalid.
This also re-adds the type prefixes to any class, struct, or enum types that would start with a number without their prefix. Once again, this is needed to avoid invalid symbol names in the unreal.py file.
#jira UE-85176
#rb none
[CL 10479002 by Jamie Dale in Dev-Editor branch]
This allows people to create a Blueprint node that can define a blob of literal Python script, along with wildcard inputs and outputs to be used by the script itself.
The node takes care of marshalling data in and out of the Python script, and allows people to invoke custom Python from Blueprints without relying on Python generated BPFL types.
#jira UE-84932
#rb Dan.OConnor
[CL 10421545 by Jamie Dale in Dev-Editor branch]
This will attempt to notify the nearest object in the Python owner context stack, and is otherwise identical to the implementation for wrapped objects (see 10265342).
#rb Lauren.Barnes
#rnx
[CL 10343893 by Jamie Dale in Dev-Editor branch]