Note: The base archive doesn't actually rewrite any paths itself, but a derived archive can by overriding OnObjectSerialized
#preflight 63ea968f8e7e896ad2914e34
#rb Rex.Hill, Bart.Hawthorne
#rnx
[CL 24197511 by jamie dale in ue5-main branch]
The following functions are new:
- ObjectPathToPathWithinPackage, eg) "/Game/MyAsset.MyAsset:SubObject.AnotherObject" -> "MyAsset:SubObject.AnotherObject"
- ObjectPathToOuterPath, eg) "/Game/MyAsset.MyAsset:SubObject.AnotherObject" -> "/Game/MyAsset.MyAsset:SubObject"
- ObjectPathToSubObjectPath, eg) "/Game/MyAsset.MyAsset:SubObject.AnotherObject" -> "SubObject.AnotherObject"
The behavior of ObjectPathToObjectName has also been fixed to always return the leaf-most object name within the path (eg, "/Game/MyAsset.MyAsset:SubObject.AnotherObject" -> "AnotherObject"). Any code that relied on the old behavior should use ObjectPathToSubObjectPath instead.
#preflight 63e2677e1020773a3f32f55b
#rb Matt.Peters
[CL 24057677 by jamie dale in ue5-main branch]
This can be used to merge multiple transactions (using different identifier tables) together, either using a single combined identifier table (for portability), or using the in-process FName table (for non-portability, but less memory).
#preflight 63e0fb2ac2257e56f4e49cc9
#rb Rex.Hill, Bart.Hawthorne
#rnx
[CL 24043041 by jamie dale in ue5-main branch]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2
#preflight 63d09351574ab9cae4670216
#rb none
[CL 23844750 by henrik karlsson in ue5-main branch]
Engine change for modifying minigame rollback in cooked unreal editor.
fixing OnRep_AttachChildren so children attach to a parent when the parent and the child are created at different times.
#preflight 6386c882f213a116eb6c46d2
#rb: Bart.Hawthorne
[FYI] Bart.Hawthorne
[CL 23324008 by eric knapik in ue5-main branch]
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds
After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds
#jira
#preflight 63336159b20e73a098b7f24f
[CL 22218213 by bryan sefcik in ue5-main branch]
This now more aggressively resets properties (as there are non-editable properties, such as bActorIsBeingDestroyed) that need to reset when reusing an actor that was destroyed.
This also fixes a bug where a null pointer could be overwritten by a DSO from the archetype.
#preflight skip
#rb Jason.Walter, Francis.Hurteau
#rnx
[CL 21835868 by jamie dale in ue5-main branch]
In this context "newly created" means both created via NewObject but also objects that go from a dead->alive state via an undo/redo operation. Previously the latter would have produced a partial (usually empty) diff for the new object state, which put the burden of correctness on higher-level systems that were listening for changes.
Annotation diffing changed the rules about how objects might have been serialized for diffing (eg, managed components only diff some properties), so higher-level systems that are doing their own archetype diffing are now producing poor/incorrect results.
This change puts that burden onto the transaction record to handle correctly, as it is the only thing that accurately knows how to do so.
#rb Rex.Hill, Francis.Hurteau, Jason.Walter
[CL 21724446 by jamie dale in ue5-main branch]