Page 1 of 1

Barks vanish on the second time through a scene / save slot

Posted: Tue Mar 22, 2022 6:10 pm
by EdwinWiseOne
This is driving me insane. I have, for the sake of discussion, two scenes A and B, a conversation that triggers going into scene B, and barks inside scene B. There are also multiple save slots, which seem to play a role in this, though I don't know how.

The conversation is conditional on a Variable which is set at the end of the conversation sequence so the conversation doesn't repeat.

I'm playing on the Oculus (excuse me, Meta) Quest 2 and all current versions of things, except Unity which is 2021.2.15f1

Here is the scenario I just tried:

1. Go from Scene A to Scene B.
* Conversation triggers
* Back out of Scene B and return to Scene A before the Conversation can end (and set the condition variable)
* SaveSystem.SaveToSlot saves to a slot

2. Go back into Scene B
* SaveSystem.LoadFromSlot loads from the SAME slot
* Conversation triggers
* Conversation completes
* Barks all work just fine.
* Exit back to Scene A (the conversation is marked as complete)
* SaveSystem.SaveToSlot saves to a slot

3. Go back into Scene B
* SaveSystem.LoadFromSlot loads from the SAME slot
* No Conversation, as per condition
* No barks appear

4. Exit app. Restart App. Go back into Scene B
* SaveSystem.LoadFromSlot loads from the SAME slot
* No Conversation
* No barks

5. Go back to Scene A and enter Scene B with a different slot
* SaveSystem.LoadFromSlot loads from a NEW slot
* Conversation triggers
* Barks all work just fine.

The dialogue system seems to be fine - the only trace I see is:

03-22 16:58:57.601 31745 31770 I Unity : Dialogue System: Dialogue System Trigger is firing OnUse.

Thanks,

Edwin

Re: Barks vanish on the second time through a scene / save slot

Posted: Tue Mar 22, 2022 8:41 pm
by Tony Li
Hi Edwin,

If you temporarily set the Dialogue Manager's Other Settings > Debug Level to Info, it will log a lot of info to the Console. This might give you more insight into what's going on.

Are there conditions on whatever triggers the barks?

Also, how are you starting things in scene B? If you're using Dialogue System Trigger(s) that are set to OnStart, try setting them to OnSaveDataApplied instead.

If none of that helps, can you send a reproduction project to tony (at) pixelcrushers.com? (Please include exact reproduction steps.)

Re: Barks vanish on the second time through a scene / save slot

Posted: Wed Mar 23, 2022 12:56 pm
by EdwinWiseOne
> Other Settings > Debug Level to Info

I do have this set to Info and see traces elsewhere, but nothing appropriate to my Bark situation, or even near the bark except the one line I mentioned. Though, because the Quest traces a _stupid_ amount of data, I fgrep filter it all, so I'm looking specifically for "Dialogue System: " traces... would additional inclusions show me more? I ran once unfiltered and ... didn't see anything obvious.

The triggers are all "OnUse" and the dialogue system shows it being fired, and there are no conditions.

A reproduction project... maybe I can sort something out, but I'm not sure I'm keen on sending the whole thing over.

Re: Barks vanish on the second time through a scene / save slot

Posted: Wed Mar 23, 2022 1:19 pm
by Tony Li
Hi,

All Dialogue System logs start with "Dialogue System:" for just this reason, so you can easily grep them.

Can you play in the Unity editor's play mode? When you get to a point where barks aren't appearing when they should, pause the game. At this point, do you see a log like the line below?

Dialogue System: Bark(speaker=xxx, listener=yyy): 'text'

If not, then the bark isn't being triggered.

If you do see that line, check the barker's bark UI. Is the UI text set to the content of the bark?

Re: Barks vanish on the second time through a scene / save slot

Posted: Wed Mar 23, 2022 7:37 pm
by EdwinWiseOne
Thanks for all the responses.

Unfortunately, I'm on a Mac and can't run Quest 2 content inside the editor without some ... serious revamping.

However, maybe I can find where that would be logged and instrument it further in the source.,

Edwin!

Edit:

When I don't get a bark, I see:

Code: Select all

Dialogue System: Dialogue System Trigger is firing OnUse.
When I _do_ see a bark, earlier, it shows:

Code: Select all

Dialogue System: Dialogue System Trigger is firing OnUse.
Dialogue System: Add Link (The Designer): ID=15:1 'Score!' (True)
Dialogue System: Bark (speaker=BarkScore (UnityEngine.Transform), listener=): 'Score!'
Now to keep digging and figure out why....

Re: Barks vanish on the second time through a scene / save slot

Posted: Wed Mar 23, 2022 8:22 pm
by Tony Li
When you don't get a bark, is this line:

Code: Select all

Dialogue System: Dialogue System Trigger is firing OnUse.
followed by something like:

Code: Select all

Dialogue System: Block on False Link...
If so, then Conditions on the dialogue entries are all currently false, so there's nothing to bark.

---

It may help to temporarily set up your scene so it can play in the editor (e.g., keyboard + mouse + traditional screen) instead of Quest so you can more easily get to the bottom of the issue.

Re: Barks vanish on the second time through a scene / save slot

Posted: Wed Mar 23, 2022 8:29 pm
by EdwinWiseOne
Okay, for SOME REASON, it thinks I have a conversation active, and I don't have it set to allow barks during conversation.

I don't _see_ a conversation, and one shouldn't be active.... but there you have it. Maybe I'll just do a sweep and close out any conversations, or maybe I'll just allow barks during.

Edit:

I just turned on the master "allow barks during conversation" flag and that was the only thing that helped. Still not sure where my phantom conversation is coming from but I'm going to ignore it until it bites me in the ass again.

Onward and upward!

Re: Barks vanish on the second time through a scene / save slot

Posted: Wed Mar 23, 2022 8:53 pm
by Tony Li
Hi,

Are you changing scenes or loading the game while a conversation is active? Maybe a conversation is actually active for the same frame that the bark tries to start.

If you're using Dialogue System Triggers set to OnStart to start the barks, try setting the Dialogue System Triggers to OnSaveDataApplied instead.

Re: Barks vanish on the second time through a scene / save slot

Posted: Thu Mar 24, 2022 4:54 pm
by EdwinWiseOne
I may give that a try, thanks.