Bug with the new No Domain / Scene Reload Play Mode

   1427   0   0
User Avatar
Member
20 posts
Joined: Sept. 2018
Offline
Hi,

There is a bug in the Houdini plugin when using it together with the Play Mode option that Unity provides in 2019.3 (No Domain and scene reload) due to the fact that the plugin uses static variables.

This exception happens when you try to reload the session:

ArgumentException: An item with the same key has already been added. Key: 2525707674640
System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) (at <437ba245d8404784b9fbab9b439ac908>:0)
HoudiniEngineUnity.HEU_SessionManager.LoadAllSessionData () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Sessions/HEU_SessionManager.cs:196)
HoudiniEngineUnity.HEU_PluginStorage.InstantiateAndLoad () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Core/HEU_PluginStorage.cs:124)
HoudiniEngineUnity.HEU_PluginStorage.get_Instance () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Core/HEU_PluginStorage.cs:101)
HoudiniEngineUnity.HEU_PluginSettings.get_HoudiniInstallPath () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Core/HEU_PluginSettings.cs:813)
HoudiniEngineUnity.HEU_Platform.GetSavedHoudiniPath () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Core/HEU_Platform.cs:154)
HoudiniEngineUnity.HEU_Platform.GetHoudiniEnginePath () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Core/HEU_Platform.cs:83)
HoudiniEngineUnity.HEU_Platform.SetHoudiniEnginePath () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Core/HEU_Platform.cs:196)
HoudiniEngineUnity.HEU_Platform..cctor () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Core/HEU_Platform.cs:73)
Rethrow as TypeInitializationException: The type initializer for 'HoudiniEngineUnity.HEU_Platform' threw an exception.
HoudiniEngineUnity.HEU_PluginStorage.SaveAllSessionData (System.Collections.Generic.List`1[T] allSessions) (at Assets/Plugins/HoudiniEngineUnity/Scripts/Core/HEU_PluginStorage.cs:581)
HoudiniEngineUnity.HEU_SessionManager.SaveAllSessionData () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Sessions/HEU_SessionManager.cs:174)
HoudiniEngineUnity.HEU_SessionManager.UnregisterSession (System.Int64 sessionID) (at Assets/Plugins/HoudiniEngineUnity/Scripts/Sessions/HEU_SessionManager.cs:151)
HoudiniEngineUnity.HEU_SessionHAPI.CloseSession () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Sessions/HEU_SessionHAPI.cs:416)
HoudiniEngineUnity.HEU_SessionManager.CheckAndCloseExistingSession () (at Assets/Plugins/HoudiniEngineUnity/Scripts/Sessions/HEU_SessionManager.cs:388)
HoudiniEngineUnity.HEU_SessionManager.CreateThriftPipeSession (System.String pipeName, System.Boolean autoClose, System.Single timeout, System.Boolean bLogError) (at Assets/Plugins/HoudiniEngineUnity/Scripts/Sessions/HEU_SessionManager.cs:309)
HoudiniEngineUnity.HEU_SessionManager.GetOrCreateDefaultSession (System.Boolean bNotifyUserError) (at Assets/Plugins/HoudiniEngineUnity/Scripts/Sessions/HEU_SessionManager.cs:258)
HoudiniEngineUnity.HEU_SessionManager.ValidatePluginSession (HoudiniEngineUnity.HEU_SessionBase session) (at Assets/Plugins/HoudiniEngineUnity/Scripts/Sessions/HEU_SessionManager.cs:475)
HoudiniEngineUnity.HEU_EditorMenu.LoadHoudiniAssetWindow () (at Assets/Plugins/HoudiniEngineUnity/Editor/HEU_EditorMenu.cs:223)
  • Quick Links