I am not sure of what changes I(my team) made that the LocalToWorldSystem had started spewing out NullReferenceException.
System.NullReferenceException: Object reference not set to an instance of an object
This Exception was thrown from a job compiled with Burst, which has limited exception support.
0x00007ff93cd8bf31 (7be7db59e86a6fefef485588e75db73) Unity::Entities::ArchetypeChunkData::Unity.Entities.ArchetypeChunkData.GetChangeVersionArrayForType (at F:/GitHub/anima-client/Library/PackageCache/com.unity.entities@1.2.3/Unity.Entities/Types/ArchetypeChunkData.cs:270)
0x00007ff93cd8bed2 (7be7db59e86a6fefef485588e75db73) Unity::Entities::ArchetypeChunkData::Unity.Entities.ArchetypeChunkData.GetChangeVersion (at F:/GitHub/anima-client/Library/PackageCache/com.unity.entities@1.2.3/Unity.Entities/Types/ArchetypeChunkData.cs:278)
0x00007ff93cd961ed (7be7db59e86a6fefef485588e75db73) Unity::Entities::ComponentLookup<Unity::Transforms::PostTransformMatrix>::Unity.Entities.ComponentLookup`1<Unity.Transforms.PostTransformMatrix>.DidChange (at F:/GitHub/anima-client/Library/PackageCache/com.unity.entities@1.2.3/Unity.Entities/Iterators/ComponentLookup.cs:208)
0x00007ff93cd99202 (7be7db59e86a6fefef485588e75db73) Unity::Transforms::LocalToWorldSystem::ComputeChildLocalToWorldJob::Unity.Transforms.LocalToWorldSystem.ComputeChildLocalToWorldJob.ChildLocalToWorldFromTransformMatrix (at F:/GitHub/anima-client/Library/PackageCache/com.unity.entities@1.2.3/Unity.Transforms/LocalToWorldSystem.cs:86)
0x00007ff93cd99b7f (7be7db59e86a6fefef485588e75db73) Unity::Transforms::LocalToWorldSystem::ComputeChildLocalToWorldJob::Unity.Transforms.LocalToWorldSystem.ComputeChildLocalToWorldJob.Execute (at F:/GitHub/anima-client/Library/PackageCache/com.unity.entities@1.2.3/Unity.Transforms/LocalToWorldSystem.cs:139)
0x00007ff93cd99c6a (7be7db59e86a6fefef485588e75db73) Unity::Transforms::LocalToWorldSystem::ComputeChildLocalToWorldJob::Unity.Transforms.LocalToWorldSystem.ComputeChildLocalToWorldJob.Unity.Entities.IJobChunk.Execute (at F:/GitHub/anima-client/Library/PackageCache/com.unity.burst@1.8.13/.Runtime/unknown/unknown:0)
0x00007ff93cd97bfb (7be7db59e86a6fefef485588e75db73) Unity.Entities.JobChunkExtensions.JobChunkProducer`1<Unity.Transforms.LocalToWorldSystem.ComputeChildLocalToWorldJob>.ExecuteInternal (at F:/GitHub/anima-client/Library/PackageCache/com.unity.entities@1.2.3/Unity.Entities/IJobChunk.cs:399)
0x00007ff93cd935b4 (7be7db59e86a6fefef485588e75db73) Unity.Entities.JobChunkExtensions.JobChunkProducer`1<Unity.Transforms.LocalToWorldSystem.ComputeChildLocalToWorldJob>.Execute(ref Unity.Entities.JobChunkExtensions.JobChunkWrapper`1<Unity.Transforms.LocalToWorldSystem.ComputeChildLocalToWorldJob> jobWrapper, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex) -> void_ebdbe0adfe7ab1bd663e8a56b9a6e55c from Unity.Entities, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null (at F:/GitHub/anima-client/Library/PackageCache/com.unity.entities@1.2.3/Unity.Entities/IJobChunk.cs:364)
0x00007ff93cd932b7 (7be7db59e86a6fefef485588e75db73) 9e7635127991855fac31b535184f2d1c
0x00007ff70f322222 (Unity) ExecuteJob
0x00007ff70f322594 (Unity) ExecuteJobCopyData
0x00007ff70f3232cf (Unity) ForwardJobForEachToManaged
0x00007ff70f31f68d (Unity) ujob_execute_job
0x00007ff70f31e89d (Unity) lane_guts
0x00007ff70f3214a4 (Unity) worker_thread_routine
0x00007ff70f54df0b (Unity) Thread::RunThreadWrapper
0x00007ff9bf94259d (KERNEL32) BaseThreadInitThunk
0x00007ff9c066af38 (ntdll) RtlUserThreadStart
I have no idea how the Archetype data could be null
Resolved: By aggressively debugging throughout the LocalToWorldSystem, I have finally discovered the cause of my problem. It turns out that I have race condition scenarios with multiple systems that create/destroy child entities in varying execution orders. Had to implement a DestroyObject tagging component and custom manage the creation and destruction of entities.
Somehow, it might be a great user-accessibility feature for beginners to have a managed API for safely handling the lifecycle of entities, especially when working in a team with varying skill levels. Systems get implemented and forgotten over time.