Hi,
My Dialogue Manager's "Dialogue System Events" is having inconsistencies with enabling/disabling components and game objects On Conversation Start and End. In Unity, it works fine from what I can tell. But when i build the game, sometimes it works, sometimes it doesn't. For example freezing my player animator, hiding cursor, etc.
From what I can see there's no reason it should do this.
Thank you.
DialogueManager OnConversationStart/End inconsistencies
-
- Posts: 12
- Joined: Tue Feb 22, 2022 11:23 am
Re: DialogueManager OnConversationStart/End inconsistencies
Hi,
Dialogue System Events OnConversationStart/End issues usually come down to which GameObjects are being used as the active conversation's actor and conversant.
If it's inconsistent between builds and the editor's play mode, try playing in the editor from the same starting scene that plays when you're in a build. It's possible that something in that scene is carrying over (settings, Dialogue Manager GameObject, etc.) that is causing problems.
You can also temporarily set the Dialogue Manager's Other Settings > Debug Level to Info, make a Development Build, and reproduce the issue. Then open the Player.log file and search for "Dialogue System: Starting conversation". Make sure it logs the correct actor and conversant GameObjects.
Dialogue System Events OnConversationStart/End issues usually come down to which GameObjects are being used as the active conversation's actor and conversant.
If it's inconsistent between builds and the editor's play mode, try playing in the editor from the same starting scene that plays when you're in a build. It's possible that something in that scene is carrying over (settings, Dialogue Manager GameObject, etc.) that is causing problems.
You can also temporarily set the Dialogue Manager's Other Settings > Debug Level to Info, make a Development Build, and reproduce the issue. Then open the Player.log file and search for "Dialogue System: Starting conversation". Make sure it logs the correct actor and conversant GameObjects.
-
- Posts: 12
- Joined: Tue Feb 22, 2022 11:23 am
Re: DialogueManager OnConversationStart/End inconsistencies
Hi, thank you for that info.
I was able to recreate the problem in-editor by loading scene 1, then going into scene 2. Scene 2 is the one that has the problem. When loading Scene 2 by itself it works fine, so something is definitely carrying over from scene 1.
I tried disabling "Dont destroy on Load" in the dialogue manager, and that seemed to fix it. Are there any other repercussions from disabling this?
thanks!
I was able to recreate the problem in-editor by loading scene 1, then going into scene 2. Scene 2 is the one that has the problem. When loading Scene 2 by itself it works fine, so something is definitely carrying over from scene 1.
I tried disabling "Dont destroy on Load" in the dialogue manager, and that seemed to fix it. Are there any other repercussions from disabling this?
thanks!
Re: DialogueManager OnConversationStart/End inconsistencies
There could be. In general, it's best (for performance if nothing else) to keep Don't Destroy On Load ticked. Just make sure that your Dialogue Manager in scene 1 is configured the same as the one in scene 2. I recommend saving your fully-customized Dialogue Manager as a prefab variant and using that same prefab variant in all scenes where you put a Dialogue Manager.
Also, don't make inspector assignments between scene objects and the Dialogue Manager. For example, if your player GameObject exists in scene 2, don't make assignments between the player in scene 2 and the Dialogue Manager in scene 2. When you arrive from scene 1, the Dialogue Manager in scene 1 will survive the scene change and replace the Dialogue Manager in scene 2, so assignments to the Dialogue Manager in scene 2 will no longer be valid.
Also, don't make inspector assignments between scene objects and the Dialogue Manager. For example, if your player GameObject exists in scene 2, don't make assignments between the player in scene 2 and the Dialogue Manager in scene 2. When you arrive from scene 1, the Dialogue Manager in scene 1 will survive the scene change and replace the Dialogue Manager in scene 2, so assignments to the Dialogue Manager in scene 2 will no longer be valid.
-
- Posts: 12
- Joined: Tue Feb 22, 2022 11:23 am
Re: DialogueManager OnConversationStart/End inconsistencies
That makes so much more sense now. I see why its happening. Thank you!