- Released the GIL while loading or finding an asset.
- Released the GIL while loading or finding an object.
- Released the GIL while loading or finding packages.
- Released the GIL while logging/flushing stdout/stderr from Python.
#rb Jamie.Dale
#preflight 61f2fb1d1f12674afbbf9933
#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 18764878 via CL 18764883 via CL 18764890 via CL 18765457 via CL 18765586
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18765591 by patrick laflamme in ue5-main branch]
- Removed the meta=(MakeStructureDefaultValue= "1,1,1") from the FTransform struct because Unreal Header Tool is already capable to deduce that from the MakeTransform() default C++ prameter.
- Removed the meta=(Scale = "1,1,1") from MakeTransform UFUNCTION because that can be deduced by Unread Header Toold from the default C++ parameter.
Fixed Python code not invoking the a 'Make' function (declared with meta HasNativeMake on a USTRUCT) if no parameters were supplied to Python (ex. unreal.Transform() would not call the MakeTransform(...)).
- In most case, not calling the Make function worked as expected, but the Make function could implement side effects, so always honor it.
Resaved BP macro assets using MakeTransform() with the default values. The default values saved as string with the asset changed from "1,1,1" to "1.000000,1.000000,1.000000" and this triggered a BP Compiler warning.
The following tests were performed:
- In the Blueprint Editor, added a Make Transform node and ensured the default values for scale were (1, 1, 1)
- In the Blueprint Editor, created a User Defined Struct, added as a member a Transform, ensured the default values for the transform scale were (1, 1, 1)
- Added a Python regression unit tests to ensure unreal.Transform() takes the default scale value as (1, 1, 1) if the scale parameter is not provided.
- Created a Blueprint Macro Libraries with a Macro calling MakeTransform() with default parameters, saved it, applied the fix, got the warning, refreshed the node, resaved the macro and ensured the macro used the correct default scale.
#jira UE-133741 - MakeStructureDefaultValue is not used in Python
#rb Jamie.Dale
#ROBOMERGE-OWNER: patrick.laflamme
#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 18337929 via CL 18338143 via CL 18338146 via CL 18338492 via CL 18338517
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18338531 by patrick laflamme in ue5-release-engine-test branch]
- This makes Python a bit faster at startup (according to my benchmark) and reduce noise looking at the sys.path.
#jira UE-135129 - Avoid adding non-existing directory to Python 'sys.path'
#rb Jamie.Dale
#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 18324422 in //UE5/Release-5.0/... via CL 18324431
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18324435 by patrick laflamme in ue5-release-engine-test branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
- Supported reading the enum entry display name set in C++ as well as the one injected from python with the [at]uenum annotation.
- Added unit tests.
#jira UE-132375 - Add a way for python to get the friendly name of an enum value
#rb Jamie.Dale
#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 18019999 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
[CL 18020038 by patrick laflamme in ue5-release-engine-test branch]
PyObject ptr equality doesn't work for method objects as there's a new instance everytime.
Instead, compare the callables tp_call pointers and PyMethod_Self values for methods.
#rb Patrick.Laflamme, Jamie.Dale
#ROBOMERGE-AUTHOR: jeanmichel.dignard
#ROBOMERGE-SOURCE: CL 17981106 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
[CL 17981189 by jeanmichel dignard in ue5-release-engine-test branch]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
- Used static_cast<bool>() to work with both python 3.7 and 3.9. The macro expression type changed from bool to int between the versions.
#jira UE-126618 - //UE5/Main - UE4 Static Analysis Win64 (PVS-Studio) - pyengine.cpp compares a bool type value with a value of 0
#rb Brooke.Hubert
#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 17523778 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17523850 by patrick laflamme in ue5-release-engine-test branch]
- Tested those fixes with Python 3.7.x (current) and 3.9.7 (upcoming) on Windows and Mac
#jira UE-124978 - Upgrade to Python 3.9.x
#rb Jamie.Dale
#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 17491930 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17491945 by patrick laflamme in ue5-release-engine-test branch]
Supplied by David.Bollo of The Coalition.
Fixes some non unity compile errors
[FYI] David.Bollo
#jira none
#ROBOMERGE-SOURCE: CL 17206575 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17206608 by dan phillips in ue5-release-engine-test branch]
Plugins can now add third-party Python scripts within their Content/Python/Lib/site-packages and Content/Python/Lib/{Platform}/site-packages folders, and these will be automatically available for import within UE.
#rb JeanMichel.Dignard, Timothy.Daoust
#ROBOMERGE-SOURCE: CL 16884142 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16884152 by jamie dale in ue5-release-engine-test branch]
- ~ key now also works for python command boxes
- Improved tooltip for the output log drawer
- Cosmetic UI changes.
#ROBOMERGE-SOURCE: CL 16352021 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)
[CL 16352157 by matt kuhlenschmidt in ue5-release-engine-test branch]
The following flags are now set when initializing the embedded Python interpreter:
- Py_IgnoreEnvironmentFlag - Ignore PYTHONPATH when calculating sys.path.
- Py_IsolatedFlag - Skip adding the user's site-packages directory to sys.path.
To counter the loss of PYTHONPATH, a new UE_PYTHONPATH environment variable is now available with the same rules as PYTHONPATH.
#jira UE-113583
#rb Rex.Hill
[CL 16064481 by Jamie Dale in ue5-main branch]