OverrideDialogueUI not setting portraits
Posted: Thu Apr 13, 2023 5:53 am
Hi,
I need help with two different issues that (I think) are both related to the OverrideDialogueUI Component.
Basic infos about the game:
It is a story based game about memories. In the entire game you are either in the village where you select memories that you want to see, OR you are within a memory. After finishing a memory you return to the village.
All memories follow the same structure. They mostly play out on a canvas that is layerd on top of the village. When starting a memory a prefab is instantiated and any changing data is read from a ScriptableObject (so - it's always the same prefab). When the memory is finished, the prefab instance is deleted. The village environment stays active all the time. There are no scene changes during the game.
The default Dialogue UI that the DialogueManager uses is called "CharacterComment_DialogueUI". This is used for dialogue in the village.
Within the memory there are some parts that use the dialogue system with the OverrideDialogueUI Component. The Dialogue UIs used in the memories are called "Comic_DialogueUI" and "MemoryComment_DialogueUI".
Issue 1
There is the option to show an intro before the game. The intro is a prefab that is instantiated in the scene and deleted after it is finished. Within the intro the Dialogue System is used. For debugging I implemented a toggle whether to show the intro or not. If set to false, the intro prefab is not instantiated and the game starts right away with the village view.
The issue is: When the intro is played, all following OverrideDialogueUI Components do not seem to work. The UIs "Comic_DialogueUI" and "MemoryComment_DialogueUI" do not show up and it uses the default UI instead ("CharacterComment_DialogueUI").
When setting the "show intro" toggle to false before starting play mode (so the intro prefab is not instantiated at all) everything works fine.
During the intro there are no changes (to my knowledge) to any settings of the DialogueManager. It just uses the Dialogue System with normal DialgoueSystemTriggers.
I tried calling DialogueManager.StopAllConversations() before and after Destroying the Intro Prefab Instance bc I thought maybe sth. is still running in the background but that did not solve the issue.
Issue 2 (This one is more important at the moment)
"MemoryComment_DialogueUI" (which is used with an OverrideDialogueUI within a Memory) should display a character portrait but it does not seem to work. I've tried following setups:
--------------------------------------------------------
Sorry for the novel sized question. Any help is appreciated!
Thank you in advance!
Best
Lorena
I need help with two different issues that (I think) are both related to the OverrideDialogueUI Component.
Basic infos about the game:
It is a story based game about memories. In the entire game you are either in the village where you select memories that you want to see, OR you are within a memory. After finishing a memory you return to the village.
All memories follow the same structure. They mostly play out on a canvas that is layerd on top of the village. When starting a memory a prefab is instantiated and any changing data is read from a ScriptableObject (so - it's always the same prefab). When the memory is finished, the prefab instance is deleted. The village environment stays active all the time. There are no scene changes during the game.
The default Dialogue UI that the DialogueManager uses is called "CharacterComment_DialogueUI". This is used for dialogue in the village.
Within the memory there are some parts that use the dialogue system with the OverrideDialogueUI Component. The Dialogue UIs used in the memories are called "Comic_DialogueUI" and "MemoryComment_DialogueUI".
Issue 1
There is the option to show an intro before the game. The intro is a prefab that is instantiated in the scene and deleted after it is finished. Within the intro the Dialogue System is used. For debugging I implemented a toggle whether to show the intro or not. If set to false, the intro prefab is not instantiated and the game starts right away with the village view.
The issue is: When the intro is played, all following OverrideDialogueUI Components do not seem to work. The UIs "Comic_DialogueUI" and "MemoryComment_DialogueUI" do not show up and it uses the default UI instead ("CharacterComment_DialogueUI").
When setting the "show intro" toggle to false before starting play mode (so the intro prefab is not instantiated at all) everything works fine.
During the intro there are no changes (to my knowledge) to any settings of the DialogueManager. It just uses the Dialogue System with normal DialgoueSystemTriggers.
I tried calling DialogueManager.StopAllConversations() before and after Destroying the Intro Prefab Instance bc I thought maybe sth. is still running in the background but that did not solve the issue.
Issue 2 (This one is more important at the moment)
"MemoryComment_DialogueUI" (which is used with an OverrideDialogueUI within a Memory) should display a character portrait but it does not seem to work. I've tried following setups:
- NO OverrideDialogueUI, so it uses the default "CharacterComment_DialogueUI": the portrait is displayed correctly.
- OverrideDialogueUI uses a copy of the default "CharacterComment_DialogueUI": the placeholder portrait of the prefab is displayed.
- "MemoryComment_DialgoueUI" set as default dialgoue UI and NO OverrideDialgoue UI in the Memory: portrait is displayed correctly.
- OverrideDialogueUI uses "MemoryComment_DialogueUI" prefab: the placeholder portrait of the prefab is displayed.
- OverrideDialogueUI uses "MemoryComment_DialogueUI" prefab in Village scene (so not in the instanced memory): the placeholder portrait of the prefab is displayed.
- Used a OverrideDisplaySettings in the memory with "MemoryComment_DialogueUI": the placeholder portrait of the prefab is displayed.
--------------------------------------------------------
Sorry for the novel sized question. Any help is appreciated!
Thank you in advance!
Best
Lorena