Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors
+ Adding backwards compatibility support to optional properties
#preflight 643015e17536ac6b78a4466e
#rb Maxime.Mercier, Steve.Robb
[CL 25021794 by robert manuszewski in ue5-main branch]
[FYI] Robert.Manuszewski
Original CL Desc
-----------------------------------------------------------------
Redo 24852317:
Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors
#preflight 642549ebe11ce5214ff0a196
#rb Steve.Robb
[CL 24938058 by maxime mercier in ue5-main branch]
Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors
#preflight 642549ebe11ce5214ff0a196
#rb Steve.Robb
[CL 24869143 by robert manuszewski in ue5-main branch]
stop gap fix to prevent crashing on unresolved pointers. matches the behaviour in reference collector where it skip unresolved references
https://p4-swarm.epicgames.net/reviews/24661544
#rb zousar.shaker
#preflight 6424ba91b01a25d6a003f150
[CL 24847291 by joe pribele in ue5-main branch]
added `SetObjectPtrPropertyValue(void* PropertyValueAddress, TObjectPtr<UObject> Value)`
this allows objects to be imported from text without resolving the object
#preflight 640900fa8832f48a4dc62ee4
[CL 24567650 by joe pribele in ue5-main branch]
GetTypeHash will create a packaged object ref for hashing if the class is defined as lazy load otherwise raw pointer is hashed
a map was added for moved objects and ObjectPathId can be a WeakObjectPtr
the map allows UObjects to be mapped back to packed object refs
#rb zousar.shaker
https://p4-swarm.epicgames.net/reviews/23356491
#preflight 63b5de641c35d1cbdbccecf7
#preflight 63b70406e26e31879b8aa6d3
code cleanup of ObjectHandle
made ObjectPathId to private
trimmed down the public API as much as possible
https://p4-swarm.epicgames.net/reviews/23658342
#rb zousar.shaker
#preflight 63c5c8922a6acaf1625fcf25
#[robomerge] FNMain
changed ObjectHandleTracking to use Functions instead of delegates as the performance of delegate is poor
https://p4-swarm.epicgames.net/reviews/23751084
#rb zousar.shaker
#preflight 63c9ae14d45afa2a8fc37d9d
changed FObjectPropertyBase::CheckValidObject to not resolve FObjectPtr fields to do validation
this is needed for feature work with validation of accessing asset pointers during serialization
https://p4-swarm.epicgames.net/reviews/23782822
#rb zousar.shaker
#[fyi] francis.hurteau
#preflight 63cf06efd83c1837b14e2aeb
fix for ObjectHandleTracking initialization. order of global variable initialization was problematic
move globals into a struct added a singleton for the struct to do lazy initialization
https://p4-swarm.epicgames.net/reviews/23877016
#rb zousar.shaker
#preflight 63d308a7f626715201408881
changed `FClassProperty::Identical` to use TObjectPtr to avoid causing unnecessary reads
#rb zousar.shaker
#preflight 63d804493656ea96dc13d296
changed FObjectProperty::SerializeItem to not cause object handle reads
#preflight 63d837e91f0aa8a2897477ee
#ushell-cherrypick of 23589497 by joe.pribele
#ushell-cherrypick of 23734208 by joe.pribele
#ushell-cherrypick of 23781117 by joe.pribele
#ushell-cherrypick of 23823212 by joe.pribele
#ushell-cherrypick of 23878025 by joe.pribele
#ushell-cherrypick of 23912609 by joe.pribele
#ushell-cherrypick of 23916733 by joe.pribele
[CL 24493715 by joe pribele in ue5-main branch]
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fe5fc7ac6c61e2b553e9a9
[CL 24449378 by joe pribele in ue5-main branch]
#fyi joe.pribele
Original CL Desc
-----------------------------------------------------------------
fix for performance problem when converting arrays of TObjectPtr to UObject*
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fd1de9f43e53f6811a37af
[CL 24436160 by joe pribele in ue5-main branch]
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fd1de9f43e53f6811a37af
[CL 24432584 by joe pribele in ue5-main branch]
this is needed for feature work with validation of accessing asset pointers during serialization
https://p4-swarm.epicgames.net/reviews/23782822
#rb zousar.shaker
#fyi francis.hurteau
#preflight 63cf06efd83c1837b14e2aeb
[CL 23823212 by joe pribele in ue5-main branch]
made ObjectPathId to private
trimmed down the public API as much as possible
https://p4-swarm.epicgames.net/reviews/23658342
#rb zousar.shaker
#preflight 63c5c8922a6acaf1625fcf25
[CL 23734208 by joe pribele in ue5-main branch]