Removing this field saves significant memory and allows removing a per-thread variable to improve performance overall
Fix a redundant dereference in SynchronousLoad and use a faster IsValid function for validating a weak pointer after resolve
#jira UE-187216
#rb robert.millar
[CL 25792946 by ben zeigler in ue5-main branch]
HasNonEditorOnlyReferences needs to be applied to suppress the checking of archetype and class for editoronly. It already applies to suppressing IsNeededForClient=false and IsEditorOnly=true, but checking the archetype+class also needs to be suppressed. This is necessary to support instances of UWidgetBlueprint, because the UWidgetBlueprint type and CDO are in the UMGEditor package and so are editoronly. But instances of UWidgetBlueprint, like instances of UBlueprint, should be treated as not editoronly when saving in editor.
Remove the workaround for WidgetBlueprints that was added in HarvestPackage - harvesting CDOs as toplevel objects even though they are not RF_Standalone.
Related but not vital: Deprecate bCheckMarks argument from IsEditorOnlyObject. SavePackage was the only user and no longer uses it.
#rb Francis.Hurteau
#rnx
#preflight 6477be677f02573726abebf9
[CL 25763169 by Matt Peters in ue5-main branch]
Bitfields were previously not supported because there was no exposed way of determining how an FBoolProperty is mapped in memory. Using fast pointer offsets would have previously caused us to always stomp a full byte over the address. Since we now support meta-data on property components (which is already used by colors and vectors), we can use the FBoolProperty when resolving the property to detect the bitoffset if FBoolProperty::IsNativeBool is false. (see usage of CountTrailingZeros64 inside FBoolHandler)
For my test this pulls down the cost of assigning boolean flags for PostProcessingOverrides from 15us to 1.7us.
Other miscellaneous changes included:
- Added a way for traits to tell the component handlers that they are not composite property types. This causes them to use direct property setters rather than requiring a composite temporary, and prevents the handler from instantiating partial property setter code.
- Moved custom accessor functions into their own file. Added one for ULightComponent::VolumetricScatteringIntensity.
#rb Ludovic.Chabant, Max.Chen
#preflight 647907a6e319748a835fbd06
[CL 25760044 by andrew rodham in ue5-main branch]
changed how the Object Handle index stores info to be able to get the class of the outer objects
Packages dont' store a ObjectPathId or ClassDescriptor as it is always known
https://p4-swarm.epicgames.net/reviews/25378953
#rb zousar.shaker
#preflight 64791957e25209b6cbbb45fc
[CL 25747367 by joe pribele in ue5-main branch]
Added some usage of the macro around FMath::ConstExprCeilLogTwo.
#rb devin.doucette
#preflight 6478c777c26e3b24490353a0
[FYI] andrew.scheidecker
[CL 25736427 by steve robb in ue5-main branch]
#preflight 646f8f135b484acfee4932fb
[Backout] - CL25597666
#fyi zack.neyland
Original CL Desc
-----------------------------------------------------------------
Reverting CL 25577637, it's is blocking Mac editor from opening entirely.
The failure is coming dyld with the following: "could not create thread local variables pthread key". This occurs during plugin loading.
#preflight 646d775d1b241f0748e75e95
#jira UE-186763
[CL 25623686 by Andriy Tylychko in ue5-main branch]
The failure is coming dyld with the following: "could not create thread local variables pthread key". This occurs during plugin loading.
#preflight 646d775d1b241f0748e75e95
#jira UE-186763
[CL 25597666 by zack neyland in ue5-main branch]
* added a thread-safe (locked) delegates variant
* refactored and enabled by default race detection for the original not thread-safe version
* added "not thread-safe not checked" variant for rare cases where race detection doesn't work or it's a known case of a race
#rb steve.robb, francis.hurteau, danny.couture
#preflight 646b9f4d576becd7b53f674c
[CL 25577637 by Andriy Tylychko in ue5-main branch]
Runtime pixel formats are named PF_ASTC_<blocksize>_NORM_RG. Use texture format name ASTC_NormalRG_Precise for encoding.
[CL 25563983 by ben woodhouse in ue5-main branch]