Using built in Dialogue System UI rather than Corgi UI

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
pruri
Posts: 8
Joined: Sun Mar 30, 2025 12:26 pm

Using built in Dialogue System UI rather than Corgi UI

Post by pruri »

Corgi Integration Question:

I feel like I'm going crazy. I've reviewed the documentation, watched the videos, and absolutely didn't want to bother before I posted this question. I feel like this topic should have been my 1:1 issue but for some reason I cannot resolve my problem following the instructions here: https://www.pixelcrushers.com/phpbb/vie ... php?t=6809

I have a very simple UI that I want to keep by utilizing Dialogue System's UI that I have customized rather than what Corgi ships with. After recently integrating Corgi, I cannot seem to get my old panels to work.

Here are what I perceive are the relevant settings to share:
Screenshot 2025-04-11 at 1.32.07 PM.png
Screenshot 2025-04-11 at 1.32.07 PM.png (43.18 KiB) Viewed 1113 times
Screenshot 2025-04-11 at 1.57.39 PM.png
Screenshot 2025-04-11 at 1.57.39 PM.png (86.08 KiB) Viewed 1113 times
However, no matter which override settings I attempt to put in, even selecting the NPC to use Panel 0 (which "NPC Subtitle" certainly is), when the dialogue does play it comes through to this Input Field or whatever this is:
Screenshot 2025-04-11 at 1.54.55 PM.png
Screenshot 2025-04-11 at 1.54.55 PM.png (45.75 KiB) Viewed 1113 times
I get the same result if I set these settings to "Default".
User avatar
Tony Li
Posts: 23250
Joined: Thu Jul 18, 2013 1:27 pm

Re: Using built in Dialogue System UI rather than Corgi UI

Post by Tony Li »

Hi,

Find your dialogue UI in the hierarchy or as a prefab in your Project view, and assign it to the Dialogue Manager's Display Settings > Dialogue UI field.

If that doesn't do the trick for some reason, please let me know if there are any errors or warnings in the Console window.
pruri
Posts: 8
Joined: Sun Mar 30, 2025 12:26 pm

Re: Using built in Dialogue System UI rather than Corgi UI

Post by pruri »

I think this is set up correct?
Screenshot 2025-04-11 at 2.13.36 PM.png
Screenshot 2025-04-11 at 2.13.36 PM.png (103.34 KiB) Viewed 1106 times
I'm not sure if importing Corgi may have adjusted something about the way this was setup but this looks normal.

I am, however, receiving the following warning and error (the NRE from CorgiEngine's Level Manager is not something I have toggled or otherwise touched so I assumed it wasn't an issue, and alert texts are not being used at all).
Screenshot 2025-04-11 at 2.16.24 PM.png
Screenshot 2025-04-11 at 2.16.24 PM.png (40.9 KiB) Viewed 1106 times
pruri
Posts: 8
Joined: Sun Mar 30, 2025 12:26 pm

Re: Using built in Dialogue System UI rather than Corgi UI

Post by pruri »

Nevermind it looks like a substantial amount of stuff may have been unassigned from my custom setup on the Corgi import.

Thanks again for the quick response.
User avatar
Tony Li
Posts: 23250
Joined: Thu Jul 18, 2013 1:27 pm

Re: Using built in Dialogue System UI rather than Corgi UI

Post by Tony Li »

If you run into any issues after getting all of the assignments straightened out, let me know how I can help.
pruri
Posts: 8
Joined: Sun Mar 30, 2025 12:26 pm

Re: Using built in Dialogue System UI rather than Corgi UI

Post by pruri »

Thank you so much Tony!

Hopefully this can be disposed of pretty quick:

After setting everything back up with the assigned fields going where they ought to, it seems like I don't need to utilize Corgi features at all for dialogue (not sure why I thought that if the Engine was in the game that I *must* use a Conversation Zone for the trigger). Therefore, I simply won't use Corgi for Dialogue related events.

However, is there any literature out there regarding the two save systems interacting with one another I can read up on? (I.e., Dialogue System's Save/Load vs. Corgi's Save/Load?). Specifically the two talking to one another and/or best practices for managing data across scenes?
User avatar
Tony Li
Posts: 23250
Joined: Thu Jul 18, 2013 1:27 pm

Re: Using built in Dialogue System UI rather than Corgi UI

Post by Tony Li »

Hi,

It may be a good idea to use a ConversationZone component because it also pauses the player characters during conversations. However, you can do this on your own if you prefer not to use a ConversationZone.

For saving/loading, you can choose to use the Dialogue System's save/load/scene changer, or Corgi's.

If you use Corgi's, please see this: How To: Use Corgi / TopDown Engine MMSceneLoadingManager. Also set up the Dialogue System's save system components see: Saving & Loading.
pruri
Posts: 8
Joined: Sun Mar 30, 2025 12:26 pm

Re: Using built in Dialogue System UI rather than Corgi UI

Post by pruri »

You're just amazing Tony, thank you so much! Everything is working and the literature you provided was super on point.

Is there a simple way to (rather than disable player input using a Conversation Zone) to instead preempt Corgi controls etc. if Dialogue Manager has a subtitle on screen?

Basically the inverse of what Conversation Zone would handle, where we want only a player to be able to *only* respond to the Dialogue prompt until it has finished and only then be able to do something like use the "i" key to open inventory?

No rush responding to this, you've been more than helpful enough.
User avatar
Tony Li
Posts: 23250
Joined: Thu Jul 18, 2013 1:27 pm

Re: Using built in Dialogue System UI rather than Corgi UI

Post by Tony Li »

Hi,

You can add a script to the Dialogue Manager that has OnConversationStart(Transform) and OnConversationEnd(Transform) special methods. Here's a basic example:

FreezePlayersDuringConversations .cs

Code: Select all

using UnityEngine;
public class FreezePlayersDuringConversations : MonoBehaviour
{
    void OnConversationStart(Transform actor) => MoreMountains.CorgiEngine.LevelManager.Instance.FreezeCharacters();
    void OnConversationEnd(Transform actor) => MoreMountains.CorgiEngine.LevelManager.Instance.UnFreezeCharacters();
}
It freezes the player character(s) during conversations. However, it doesn't stop their movement animation, etc, so they may loop animation during the conversation. You can selectively copy code from ConversationZone if you want to handle that kind of stuff.
Post Reply