- Changed codepaths reading FProperty objects using ReadObject() to now use ReadPropertyUnchecked(), since FProperty is not a child of UObject (ReadObject was also an unchecked implementation so validation has been lost).
These changes allow ReadObject to return a UObject fetched from a constructed TObjectPtr<UObject> which enables UObject access tracking. This corrects the previous implementation of ReadProperty which would return an FProperty from a temporarily constructed TObjectPtr<UObject>. This had the effect of running TObjectPtr tracking handlers (if any are registered) on the FProperty object which is not actually a UObject type. Using the intermediate TObjectPtr<UObject> in a handler could corrupt the underlying FProperty data as many codepaths in TObjectPtr lazily initialize UObject member variables upon calling UObject methods.
#jira UE-204533
#rb Francis.Hurteau, Robert.Manuszewski
[CL 30924162 by kevin macaulayvacher in ue5-main branch]
[FYI] kevin.macaulayvacher
Original CL Desc
-----------------------------------------------------------------
Re-enable check for invalid PackageHandles when resolving Packaged Objects. This check helps with identifying cases where garbage memory is used to construct objects
#rb Francis.Hurteau
[CL 30885059 by kevin macaulayvacher in ue5-main branch]
Add comments warning against use of IsDefaultSubobject due to the historically inconsistent behavior, and deprecate CollectDefaultSubobjects for being redundant and incorrect
Improve general comments related to subobject functions to better match the current behavior
#jira UE-201046
#rb dan.oconnor
[CL 30858830 by ben zeigler in ue5-main branch]
Added GarbageCollectComplete event that gets fired after GC is truly done (existing events were inconsitent in that manner)
#rb Johan.Torp
[CL 30845256 by robert manuszewski in ue5-main branch]
[BugFix] mark properties as overridden when changed by fixup tool
[Temp] gave IDO properties without categories a category as a workaround to a details customization bug
#rb Francis.Hurteau
[CL 30826433 by jordan hoffmann in ue5-main branch]
Duplicate values are filtered out during load.
Existing config values for set properties should continue to be loaded the same way as before.
Example syntax:
SetProperty=("Value1", "Value2")
+SetProperty="Value3"
+SetProperty=("Value4", "Value5")
[REVIEW]
[CL 30815266 by spencer melnick in ue5-main branch]
* Allows resulting object from StaticDuplicateObject to get override information
#rb Maxime.Mercier
#jira UE-204007
[CL 30790681 by logan buchy in ue5-main branch]
- Avoid automatically adding AsyncLoading flag during duplication as this can prevent GC. This flag should only be managed by the async loading code itself.
#jira UE-204346
#rb Francis.Hurteau
[CL 30771059 by danny couture in ue5-main branch]
Comments are added from the curve's outliner menu. Editing can just be done by clicking the comment after it has been created
Also exposed the setting to view curves in a tree view in the timeline itself
NOTE: this removes a 4.5 core redirect from CurveName to LastObservedName as CurveName was reinstated as the canonical name for the curve, and having the redirect in place causes issues with tagged property serialization when new properties are added.
#jira UE-203593
#rb Nicholas.Frechette
[CL 30769970 by thomas sarkanen in ue5-main branch]