How can I always have the Quest Journal UI open?

Announcements, support questions, and discussion for Quest Machine.
Post Reply
dcalderwood
Posts: 8
Joined: Sun Apr 17, 2022 1:25 pm

How can I always have the Quest Journal UI open?

Post by dcalderwood »

Is there a way that I can always have the UI for the Quest Journal enabled? I have added the Quest Machine UI to my existing Inventory where I have multiple tabs. Under my quests tab I want the Quest Journal UI always enabled. The "Show/Hide" functionality is controlled by the parent game object. I don't want to have a toggle button inside my inventory window. I just want it to always be enabled and show when the player goes to that window, or hits the open Quest window keyboard button.
User avatar
Tony Li
Posts: 22102
Joined: Thu Jul 18, 2013 1:27 pm

Re: How can I always have the Quest Journal UI open?

Post by Tony Li »

Hi,

On the Quest Machine GameObject's Quest Machine Configuration component, untick Hide Journal UI On Start.

On the Quest Journal UI, remove the Animator component. On the UI Panel component, clear the Show Animation Trigger and Hide Animation Trigger fields. Set Start State to Open. Untick Deactivate On Hidden.
dcalderwood
Posts: 8
Joined: Sun Apr 17, 2022 1:25 pm

Re: How can I always have the Quest Journal UI open?

Post by dcalderwood »

Perfect! Thank you so much, that is exactly what I needed.

Only after doing these steps I can't see my active quests anymore. On the Quest Machine Configuration I have enabled the debugger. It runs through these steps in the image. The quests seem to get enabled and active but then get disabled for some reason. Any ideas?
Attachments
QuestMachine_Issue01.PNG
QuestMachine_Issue01.PNG (72.14 KiB) Viewed 720 times
User avatar
Tony Li
Posts: 22102
Joined: Thu Jul 18, 2013 1:27 pm

Re: How can I always have the Quest Journal UI open?

Post by Tony Li »

Is the quest giver's copy of the quest disabled, or is the player's copy of the quest disabled? To check, inspect the player at runtime and click on the quest name in the Quest Journal's Quests list. This will show the quest in the Quest Editor window and also show the details in the Inspector.

Can you send a reproduction project to tony (at) pixelcrushers.com?
dcalderwood
Posts: 8
Joined: Sun Apr 17, 2022 1:25 pm

Re: How can I always have the Quest Journal UI open?

Post by dcalderwood »

The quest is fine, I am able to go through all the steps and complete it. I also followed along during run-time and confirmed that it goes to each step correctly.

I just went and un-did all the steps you told me about earlier.
On the Quest Machine GameObject's Quest Machine Configuration component, untick Hide Journal UI On Start.

On the Quest Journal UI, remove the Animator component. On the UI Panel component, clear the Show Animation Trigger and Hide Animation Trigger fields. Set Start State to Open. Untick Deactivate On Hidden.
After putting all of these settings back, it works just fine. I just have to click a button to show/hide the Quest Journal UI. Since it is inside my inventory I would like to avoid clicking an additional button. Did I do one of these steps incorrectly maybe?
User avatar
Tony Li
Posts: 22102
Joined: Thu Jul 18, 2013 1:27 pm

Re: How can I always have the Quest Journal UI open?

Post by Tony Li »

Hi,

If you set up your UI using the steps I provided above, the journal UI should keep listening for "Refresh UIs" messages and automatically refresh whenever the quest journal changes (e.g., new quest or quest state changed). You can manually call the UnityUIQuestJournalUI's Repaint(QuestJournal) method, but it shouldn't be necessary.

Feel free to send a reproduction project to tony (at) pixelcrushers.com if you'd like me to take a look.
Post Reply