I can't find any up-to-date video or text tutorials on this.
I'm having trouble stopping user from looking around when a conversation is active and cannot select options from the dialogue.
I've followed the instructions on the tutorial but it does not address how to deal with the new input system. The ConversingUnityInputPreset cannot be added to state on Unity Input System - it just stays blank when trying.
There is also now a "Coversing State Names" option which doesn't exist on the tutorial screenshots. Not sure what to do with it.
What are settings supposed to be now that this component doesn't exist with new input system?
The provided script cannot be added here (is it a bug or by design)?
I don't see where the Coversing State Names is documented and what should be a value in Coversing State Hide cursor (boolean or what?)
UCC Tutorial does not cover new input system
Re: UCC Tutorial does not cover new input system
Hi,
Define a preset for UCC's Unity Input System > States. Call it Conversing. The only thing it needs to do is to make the cursor visible. (See the existing one for Unity Input to see what it does.) The only reason you'd need to change the Converse ability's "Conversing State Names" is if you decide to use a different name for the Conversing preset.
Increase the priority of the Converse ability. Move it above Move Towards.
Inspect the Dialogue System Trigger Interactable Target. Leave the Conversation Actor field unassigned, or assign the player GameObject to it. This should take care of freezing the player during conversations. If it doesn't, set the Dialogue Manager's Other Settings > Debug Level to Info. When the conversation starts, look for a line like this:
Dialogue System: Starting conversation 'XXX' with actor=AAA and conversant=BBB.
The 'AAA' above must be your player GameObject. Otherwise the Converse ability won't go active.
When a conversation starts, make sure the Converse state goes active. If you see the cursor but can't click anything, make sure your scene has an Event System.
Make sure to also set up the Dialogue System itself for the new Input System. Assets / Plugins / Pixel Crushers / Common / Documentation / Input_Device_Manager_Manual.pdf has a section on the new Input System. You can probably take care of this after you have the UCC integration working in your project.
Define a preset for UCC's Unity Input System > States. Call it Conversing. The only thing it needs to do is to make the cursor visible. (See the existing one for Unity Input to see what it does.) The only reason you'd need to change the Converse ability's "Conversing State Names" is if you decide to use a different name for the Conversing preset.
Increase the priority of the Converse ability. Move it above Move Towards.
Inspect the Dialogue System Trigger Interactable Target. Leave the Conversation Actor field unassigned, or assign the player GameObject to it. This should take care of freezing the player during conversations. If it doesn't, set the Dialogue Manager's Other Settings > Debug Level to Info. When the conversation starts, look for a line like this:
Dialogue System: Starting conversation 'XXX' with actor=AAA and conversant=BBB.
The 'AAA' above must be your player GameObject. Otherwise the Converse ability won't go active.
When a conversation starts, make sure the Converse state goes active. If you see the cursor but can't click anything, make sure your scene has an Event System.
Make sure to also set up the Dialogue System itself for the new Input System. Assets / Plugins / Pixel Crushers / Common / Documentation / Input_Device_Manager_Manual.pdf has a section on the new Input System. You can probably take care of this after you have the UCC integration working in your project.
Re: UCC Tutorial does not cover new input system
Thank you so so much for your help.
Spent more time than I care to admit trying to get this working and within 15 minutes of reading your post it all came together.
Moving conversing up solved the halting issue.
I had disable cursor checked instead of unchecked.
Finally, adding the event system sorted input for the dialogue.
Thanks for taking the time to respond. You're a superhero!!!
Spent more time than I care to admit trying to get this working and within 15 minutes of reading your post it all came together.
Moving conversing up solved the halting issue.
I had disable cursor checked instead of unchecked.
Finally, adding the event system sorted input for the dialogue.
Thanks for taking the time to respond. You're a superhero!!!
Re: UCC Tutorial does not cover new input system
Glad to help!
Re: UCC Tutorial does not cover new input system
Hi,
The PDF manual "Input_Device_Manager_Manual.pdf" says that I can override Awake() function of InputDeviceManager.cs but it warns me that it will hide base class's Awake().
Should I make the original InputDeviceManager Awake() virtual and override it properly or just do it as the PDF says?
The PDF manual "Input_Device_Manager_Manual.pdf" says that I can override Awake() function of InputDeviceManager.cs but it warns me that it will hide base class's Awake().
Should I make the original InputDeviceManager Awake() virtual and override it properly or just do it as the PDF says?
Code: Select all
void Awake()
{
controls = new MyControls();
}
Re: UCC Tutorial does not cover new input system
Hi,
Where does it say to override Awake()?
If you're referring to the New Input System section, it talks about writing a new script, not overriding anything on InputDeviceManager.
Where does it say to override Awake()?
If you're referring to the New Input System section, it talks about writing a new script, not overriding anything on InputDeviceManager.
Re: UCC Tutorial does not cover new input system
Hi,
Putting in a regular script in game works thank you!
Putting in a regular script in game works thank you!
Re: UCC Tutorial does not cover new input system
Glad to help!