Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Bug Null Reference Exception when baking MeshCollider

Discussion in 'Physics for ECS' started by poon2, Sep 3, 2023.

  1. poon2

    poon2

    Joined:
    Oct 30, 2022
    Posts:
    10
    I'm getting these errors when trying to bake either MeshCollider or a physics shape that has its Shape Type set to Mesh:
    InvalidOperationException: The BlobAssetReference is null.
    Unity.Entities.BlobAssetReferenceData.ValidateNotNull () (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/Blobs.cs:283)
    Unity.Entities.BlobAssetReference`1[T].get_Value () (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/Blobs.cs:444)
    Unity.Physics.CompoundCollider.Create (Unity.Collections.NativeArray`1[T] children) (at ./Library/PackageCache/com.unity.physics@1.0.14/Unity.Physics/Collision/Colliders/CompoundCollider.cs:313)
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem+BlobCalculationJobHandleJob.Execute (Unity.Entities.Entity rootEntity, Unity.Physics.Authoring.PhysicsCompoundData& rootBaking, Unity.Physics.PhysicsCollider& rootCollider) (at ./Library/PackageCache/com.unity.physics@1.0.14/Unity.Physics.Hybrid/EntitiesBaking/BakingSystems/BuildCompoundCollidersBakingSystem.cs:178)
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem+BlobCalculationJobHandleJob.Execute (Unity.Entities.ArchetypeChunk& chunk, System.Int32 chunkIndexInQuery, System.Boolean useEnabledMask, Unity.Burst.Intrinsics.v128& chunkEnabledMask) (at ./Unity.Entities.SourceGen.JobEntityGenerator/Unity.Entities.SourceGen.JobEntity.JobEntityGenerator/Temp/GeneratedCode/Unity.Physics.Hybrid/BuildCompoundCollidersBakingSystem__JobEntity_15397572550.g.cs:36)
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem+BlobCalculationJobHandleJob.Unity.Entities.IJobChunk.Execute (Unity.Entities.ArchetypeChunk& chunk, System.Int32 unfilteredChunkIndex, System.Boolean useEnabledMask, Unity.Burst.Intrinsics.v128& chunkEnabledMask) <0x1e5fe76ff50 + 0x00072> in <16a392407a564168a2595ef78f0bcd88>:0
    Unity.Entities.JobChunkExtensions+JobChunkProducer`1[T].ExecuteInternal (Unity.Entities.JobChunkExtensions+JobChunkWrapper`1[T]& jobWrapper, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/IJobChunk.cs:412)
    Unity.Entities.JobChunkExtensions+JobChunkProducer`1[T].Execute (Unity.Entities.JobChunkExtensions+JobChunkWrapper`1[T]& jobWrapper, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/IJobChunk.cs:359)
    InvalidOperationException: The BlobAssetReference is null.
    Unity.Entities.BlobAssetReferenceData.ValidateNotNull () (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/Blobs.cs:283)
    Unity.Entities.BlobAssetStore.ValidateBlob (Unity.Entities.BlobAssetReferenceData referenceData) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities.Hybrid/GameObjectConversion/BlobAssetStore.cs:352)
    Unity.Entities.BlobAssetStore.TryAdd[T] (Unity.Entities.Hash128 customHash, System.UInt32 typeHash, Unity.Entities.BlobAssetReference`1[T]& blobAsset) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities.Hybrid/GameObjectConversion/BlobAssetStore.cs:272)
    Unity.Entities.BlobAssetComputationContext`2[TS,TB].AddComputedBlobAsset (Unity.Entities.Hash128 hash, Unity.Entities.BlobAssetReference`1[T] blob) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities.Hybrid/GameObjectConversion/BlobAssetComputationContext.cs:114)
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem+BlobContextUpdateJobHandleJob.Execute (Unity.Physics.Authoring.PhysicsCompoundData& rootBaking) (at ./Library/PackageCache/com.unity.physics@1.0.14/Unity.Physics.Hybrid/EntitiesBaking/BakingSystems/BuildCompoundCollidersBakingSystem.cs:272)
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem+BlobContextUpdateJobHandleJob.Execute (Unity.Entities.ArchetypeChunk& chunk, System.Int32 chunkIndexInQuery, System.Boolean useEnabledMask, Unity.Burst.Intrinsics.v128& chunkEnabledMask) (at ./Unity.Entities.SourceGen.JobEntityGenerator/Unity.Entities.SourceGen.JobEntity.JobEntityGenerator/Temp/GeneratedCode/Unity.Physics.Hybrid/BuildCompoundCollidersBakingSystem__JobEntity_15397572550.g.cs:32)
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem+BlobContextUpdateJobHandleJob.Unity.Entities.IJobChunk.Execute (Unity.Entities.ArchetypeChunk& chunk, System.Int32 unfilteredChunkIndex, System.Boolean useEnabledMask, Unity.Burst.Intrinsics.v128& chunkEnabledMask) <0x1e5fe81a2e0 + 0x00072> in <16a392407a564168a2595ef78f0bcd88>:0
    Unity.Entities.JobChunkExtensions+JobChunkProducer`1[T].ExecuteInternal (Unity.Entities.JobChunkExtensions+JobChunkWrapper`1[T]& jobWrapper, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/IJobChunk.cs:412)
    Unity.Entities.JobChunkExtensions+JobChunkProducer`1[T].Execute (Unity.Entities.JobChunkExtensions+JobChunkWrapper`1[T]& jobWrapper, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/IJobChunk.cs:359)
    NullReferenceException: Object reference not set to an instance of an object
    Unity.Physics.CompoundCollider.get_NumChildren () (at ./Library/PackageCache/com.unity.physics@1.0.14/Unity.Physics/Collision/Colliders/CompoundCollider.cs:178)
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem+DeferredResolutionJobHandleJob.Execute (Unity.Entities.DynamicBuffer`1[Unity.Physics.PhysicsColliderKeyEntityPair]& colliderKeyEntityBuffer, Unity.Physics.PhysicsCollider& rootCollider, Unity.Physics.Authoring.PhysicsCompoundData& rootBaking) (at ./Library/PackageCache/com.unity.physics@1.0.14/Unity.Physics.Hybrid/EntitiesBaking/BakingSystems/BuildCompoundCollidersBakingSystem.cs:246)
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem+DeferredResolutionJobHandleJob.Execute (Unity.Entities.ArchetypeChunk& chunk, System.Int32 chunkIndexInQuery, System.Boolean useEnabledMask, Unity.Burst.Intrinsics.v128& chunkEnabledMask) (at ./Unity.Entities.SourceGen.JobEntityGenerator/Unity.Entities.SourceGen.JobEntity.JobEntityGenerator/Temp/GeneratedCode/Unity.Physics.Hybrid/BuildCompoundCollidersBakingSystem__JobEntity_15397572550.g.cs:36)
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem+DeferredResolutionJobHandleJob.Unity.Entities.IJobChunk.Execute (Unity.Entities.ArchetypeChunk& chunk, System.Int32 unfilteredChunkIndex, System.Boolean useEnabledMask, Unity.Burst.Intrinsics.v128& chunkEnabledMask) <0x1e60e7ddaa0 + 0x00072> in <16a392407a564168a2595ef78f0bcd88>:0
    Unity.Entities.JobChunkExtensions+JobChunkProducer`1[T].ExecuteInternal (Unity.Entities.JobChunkExtensions+JobChunkWrapper`1[T]& jobWrapper, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/IJobChunk.cs:412)
    Unity.Entities.JobChunkExtensions+JobChunkProducer`1[T].Execute (Unity.Entities.JobChunkExtensions+JobChunkWrapper`1[T]& jobWrapper, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/IJobChunk.cs:359)
    Unity.Jobs.JobHandle:ScheduleBatchedJobsAndComplete(JobHandle&)
    Unity.Jobs.JobHandle:Complete()
    Unity.Physics.Authoring.BuildCompoundCollidersBakingSystem:OnUpdate() (at ./Library/PackageCache/com.unity.physics@1.0.14/Unity.Physics.Hybrid/EntitiesBaking/BakingSystems/BuildCompoundCollidersBakingSystem.cs:361)
    Unity.Entities.SystemBase:Update() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/SystemBase.cs:418)
    Unity.Entities.ComponentSystemGroup:UpdateAllSystems() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/ComponentSystemGroup.cs:739)
    Unity.Entities.ComponentSystemGroup:OnUpdate() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/ComponentSystemGroup.cs:697)
    Unity.Entities.SystemBase:Update() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/SystemBase.cs:418)
    Unity.Entities.BakingUtility:postprocessBake(World, BakingSettings, BakingSystem) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities.Hybrid/Baking/BakingUtility.cs:154)
    Unity.Entities.BakingUtility:BakeScene(World, Scene, BakingSettings, Boolean, IncrementalBakingChangeTracker) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities.Hybrid/Baking/BakingUtility.cs:85)
    Unity.Scenes.Editor.LiveConversionDiffGenerator:Bake(BakingFlags) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Scenes.Editor/LiveConversion/LiveConversionDiffGenerator.cs:214)
    Unity.Scenes.Editor.LiveConversionDiffGenerator:UpdateLiveConversion(Scene, Hash128, LiveConversionDiffGenerator&, LiveConversionMode, UInt64, GUID, IEntitiesPlayerSettings, LiveConversionChangeSet&) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Scenes.Editor/LiveConversion/LiveConversionDiffGenerator.cs:447)
    Unity.Scenes.Editor.LiveConversionConnection:AddLiveConversionChangeSet(LiveConversionDiffGenerator&, Hash128, List`1, UInt64, LiveConversionMode) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Scenes.Editor/LiveConversion/LiveConversionConnection.cs:417)
    Unity.Scenes.Editor.LiveConversionConnection:Update(List`1, NativeList`1, NativeList`1, LiveConversionMode) (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Scenes.Editor/LiveConversion/LiveConversionConnection.cs:382)
    Unity.Scenes.Editor.EditorSubSceneLiveConversionSystem:OnUpdate() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Scenes.Editor/EditorSubSceneLiveConversionSystem.cs:64)
    Unity.Entities.SystemBase:Update() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/SystemBase.cs:418)
    Unity.Entities.ComponentSystemGroup:UpdateAllSystems() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/ComponentSystemGroup.cs:739)
    Unity.Entities.ComponentSystemGroup:OnUpdate() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/ComponentSystemGroup.cs:697)
    Unity.Scenes.Editor.LiveConversionEditorSystemGroup:OnUpdate() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Scenes.Editor/LiveConversion/LiveConversionEditorSystemGroup.cs:15)
    Unity.Entities.SystemBase:Update() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/SystemBase.cs:418)
    Unity.Entities.ComponentSystemGroup:UpdateAllSystems() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/ComponentSystemGroup.cs:739)
    Unity.Entities.ComponentSystemGroup:OnUpdate() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/ComponentSystemGroup.cs:697)
    Unity.Entities.InitializationSystemGroup:OnUpdate() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/DefaultWorld.cs:169)
    Unity.Entities.SystemBase:Update() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/SystemBase.cs:418)
    Unity.Entities.DummyDelegateWrapper:TriggerUpdate() (at ./Library/PackageCache/com.unity.entities@1.0.14/Unity.Entities/ScriptBehaviourUpdateOrder.cs:526)

    Does anybody know what might cause these errors?
    The physics package version is 1.0.14.
    All the meshes are marked as static.
     
  2. bnmguy

    bnmguy

    Joined:
    Oct 31, 2020
    Posts:
    125
    I get this spam constantly when using the physics sample package. I'm not sure what is triggering it. I thought it might be LODGroups with only LOD0 containing a collider, but I'm actually pretty sure it isn't that.
     
    Last edited: Sep 7, 2023
  3. poon2

    poon2

    Joined:
    Oct 30, 2022
    Posts:
    10
    I don't have any LODs
     
  4. bnmguy

    bnmguy

    Joined:
    Oct 31, 2020
    Posts:
    125
    Good to know. I am at a loss as to where this is coming from. On the bright side, besides the spam this produces everything seems to work fine.