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 Various errors coming from Entities settings and UI

Discussion in 'Entity Component System' started by Cramonky, Jun 13, 2023.

  1. Cramonky

    Cramonky

    Joined:
    Apr 1, 2013
    Posts:
    181
    Hiya,

    I am working with Entities 1.0 now, and I am having a lot of annoying errors coming from the Entities client settings and other UI.

    These errors occur when entering play mode:
    You may not pass in objects that are already persistent
    UnityEngine.StackTraceUtility:ExtractStackTrace ()
    UnityEditorInternal.InternalEditorUtility:SaveToSerializedFileAndForget (UnityEngine.Object[],string,bool)
    UnityEditor.ScriptableSingleton`1<Unity.Entities.Build.EntitiesClientSettings>:Save (bool)
    Unity.Entities.Build.EntitiesClientSettings:Save () (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.Build/EntitiesClientSettings.cs:65)
    Unity.Entities.Build.EntitiesClientSettings:OnDisable () (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.Build/EntitiesClientSettings.cs:70)

    ScriptableSingleton already exists. Did you query the singleton in a constructor? UnityEditor.ScriptableSingleton`1<Unity.Entities.Build.EntitiesClientSettings>:.ctor () Unity.Entities.Build.EntitiesClientSettings:.ctor ()

    And this one occurs when you exit play mode with an entity selected from the Entities Hierarchy:
    ObjectDisposedException: The Unity.Entities.EntityManager has been deallocated, it is not allowed to access it
    Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckWriteAndThrowNoEarlyOut (Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle) (at <6c9b376c3fca40b787e8c1a2133bf243>:0)
    Unity.Entities.EntityManager.GetCheckedEntityDataAccess () (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities/EntityManager.cs:86)
    Unity.Entities.EntityManager.get_EntityCapacity () (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities/EntityManager.cs:183)
    Unity.Entities.Editor.EntityManagerEditorExtensions.SafeExists (Unity.Entities.EntityManager entityManager, Unity.Entities.Entity entity) (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.Editor/Extensions/EntityManagerEditorExtensions.cs:7)
    Unity.Entities.EntityContainer.Exists () (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.Editor/Inspector/EntityContainer.cs:57)
    Unity.Entities.DynamicBufferContainer`1[TElement].Exists () (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.Editor/Inspector/DynamicBufferContainer.cs:26)
    Unity.Entities.DynamicBufferContainer`1[TElement].get_Header () (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.Editor/Inspector/DynamicBufferContainer.cs:32)
    Unity.Entities.DynamicBufferContainer`1[TElement].get_Count () (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.Editor/Inspector/DynamicBufferContainer.cs:40)
    Unity.Properties.IndexedCollectionPropertyBag`2[TList,TElement].TryGetProperty (TList& container, System.Int32 index, Unity.Properties.IProperty`1[TList]& property) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PathVisitor.Unity.Properties.IPropertyBagVisitor.Visit[TContainer] (Unity.Properties.IPropertyBag`1[TContainer] properties, TContainer& container) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PropertyBag`1[TContainer].Unity.Properties.IPropertyBag<TContainer>.Accept (Unity.Properties.IPropertyBagVisitor visitor, TContainer& container) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PropertyBag.AcceptWithSpecializedVisitor[TContainer] (Unity.Properties.IPropertyBag`1[TContainer] properties, Unity.Properties.IPropertyBagVisitor visitor, TContainer& container) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PropertyContainer.TryAccept[TContainer] (Unity.Properties.IPropertyBagVisitor visitor, TContainer& container, Unity.Properties.VisitReturnCode& returnCode, Unity.Properties.VisitParameters parameters) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PropertyContainer.Accept[TContainer] (Unity.Properties.IPropertyBagVisitor visitor, TContainer& container, Unity.Properties.VisitParameters parameters) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PathVisitor.Unity.Properties.IPropertyVisitor.Visit[TContainer,TValue] (Unity.Properties.Property`2[TContainer,TValue] property, TContainer& container) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.Property`2[TContainer,TValue].Accept (Unity.Properties.IPropertyVisitor visitor, TContainer& container) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PathVisitor.Unity.Properties.IPropertyBagVisitor.Visit[TContainer] (Unity.Properties.IPropertyBag`1[TContainer] properties, TContainer& container) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PropertyBag`1[TContainer].Unity.Properties.IPropertyBag<TContainer>.Accept (Unity.Properties.IPropertyBagVisitor visitor, TContainer& container) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PropertyBag.AcceptWithSpecializedVisitor[TContainer] (Unity.Properties.IPropertyBag`1[TContainer] properties, Unity.Properties.IPropertyBagVisitor visitor, TContainer& container) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PropertyContainer.TryAccept[TContainer] (Unity.Properties.IPropertyBagVisitor visitor, TContainer& container, Unity.Properties.VisitReturnCode& returnCode, Unity.Properties.VisitParameters parameters) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PropertyContainer.TryAccept[TContainer] (Unity.Properties.IPropertyBagVisitor visitor, TContainer& container, Unity.Properties.VisitParameters parameters) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Properties.PropertyContainer.IsPathValid[TContainer] (TContainer& container, Unity.Properties.PropertyPath& path) (at <3e33d9af339141ceb6c1afaaa6fa6b88>:0)
    Unity.Entities.UI.BindingTarget`1[TTarget].IsPathValid (Unity.Properties.PropertyPath path) (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.UI.Editor/Elements/Internal/BindingTarget.cs:68)
    Unity.Entities.UI.BindingContextElement.IsPathValid (Unity.Properties.PropertyPath path) (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.UI.Editor/Elements/BindingContextElement.cs:306)
    Unity.Entities.UI.CustomInspectorElement.UnityEngine.UIElements.IBinding.Update () (at ./Library/PackageCache/com.unity.entities@1.0.10/Unity.Entities.UI.Editor/Elements/Internal/CustomInspectorElement.cs:61)
    UnityEngine.UIElements.VisualTreeBindingsUpdater.UpdateBindings () (at <73c3b9fa4da644c9a21a8a16d8e2909f>:0)
    UnityEngine.UIElements.VisualTreeBindingsUpdater.Update () (at <73c3b9fa4da644c9a21a8a16d8e2909f>:0)
    UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at <73c3b9fa4da644c9a21a8a16d8e2909f>:0)
    UnityEngine.UIElements.Panel.UpdateBindings () (at <73c3b9fa4da644c9a21a8a16d8e2909f>:0)
    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.UpdateSchedulers () (at <73c3b9fa4da644c9a21a8a16d8e2909f>:0)
    UnityEngine.UIElements.UIEventRegistration.UpdateSchedulers () (at <73c3b9fa4da644c9a21a8a16d8e2909f>:0)
    UnityEditor.RetainedMode.UpdateSchedulers () (at <ddc34215cb194bc6b42a1ae3b66800fe>:0)

    These don't affect the functionality of the project, but it is rather annoying to have these errors cluttering up my console.
     
    msfredb7 likes this.
  2. msfredb7

    msfredb7

    Joined:
    Nov 1, 2012
    Posts:
    143
    We get the third error as well on our project 100% of the time. @Cramonky did you submit a bug report yet?
     
  3. Cramonky

    Cramonky

    Joined:
    Apr 1, 2013
    Posts:
    181
    Interestingly the first 2 errors went away after I did a "clean up" of my project by deleting everything except the strictly necessary folders (Assets, Packages, Project Settings). Now I'm getting the "ScriptableSingleton already exists." error coming from the Shader Graph project settings. :confused:

    The 3rd error is still happening though, and unfortunately I have really bad internet so even uploading a blank project (~1.5 GB) as part of a bug report is a whole ordeal for me.
     
  4. msfredb7

    msfredb7

    Joined:
    Nov 1, 2012
    Posts:
    143
    Gotcha, I'll submit one then.
     
  5. Cramonky

    Cramonky

    Joined:
    Apr 1, 2013
    Posts:
    181
    Appreciate it.

    I'm also only now realizing that the 3rd error is much more of a problem than I initially thought. I thought that just selecting any other object would cause the inspector to change and make the errors go away. This is the case sometimes, but in many other cases the error spam will continue and make some inspectors not work correctly.

    The best workaround I have at the moment is to reimport a script to force a domain reload.
     
  6. msfredb7

    msfredb7

    Joined:
    Nov 1, 2012
    Posts:
    143
    Exactly, that's why I have a dedicated shortcut for it now :D
    upload_2023-6-13_15-40-59.png
     
    Cramonky likes this.
  7. msfredb7

    msfredb7

    Joined:
    Nov 1, 2012
    Posts:
    143