Joypad buttons inconsistency

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
forrestuv
Posts: 64
Joined: Tue Nov 06, 2018 11:28 am

Joypad buttons inconsistency

Post by forrestuv »

Hi,
I dunno why on some systems the joypad buttons to continue dialogues and cancel conversation are different.
In my PC: A->Continue, B->Cancel
In other PC: X->Continue, A->Cancel

What's the problem?
thx
User avatar
Tony Li
Posts: 22144
Joined: Thu Jul 18, 2013 1:27 pm

Re: Joypad buttons inconsistency

Post by Tony Li »

Hi,

Are they the same kind of gamepad device (e.g., both official Microsoft Xbox One controllers)? If not, maybe the difference is in the hardware. For example, Switch joycons typically swap the use of the A and B buttons.

Are you using Unity's built-in input manager, the Input System package (which is still quite buggy), or a third party asset such as Rewired or InControl?
forrestuv
Posts: 64
Joined: Tue Nov 06, 2018 11:28 am

Re: Joypad buttons inconsistency

Post by forrestuv »

I have standard StandAloneInput (Unity 2020.3.30)
Rewired is installed and used for the game but I didn't configure it for dialoguesystem (can I have the link to do it?)
Yes indeed joypads could be different (360 compatible vs XboxOne vs Playstation connected to pc), I need to have same buttons for every joypad hardware.
Can u help? thx
User avatar
Tony Li
Posts: 22144
Joined: Thu Jul 18, 2013 1:27 pm

Re: Joypad buttons inconsistency

Post by Tony Li »

If you're using Rewired for the game, I recommend using it for the Dialogue System, too. It will keep buttons consistent across different devices. The instructions are here. Briefly:

1. Import Plugins ► Pixel Crushers ► Common ► Third Party Support ► Rewired Support.

2. Add an Input Device Manager Rewired component to the Dialogue Manager. (This component should exist side-by-side with the Input Device Manager. It does not replace the Input Device Manager component.)

3. Inspect the Dialogue Manager's Input Settings → Cancel and Cancel Conversation triggers. Set the Button Name fields to Rewired actions, or leave them blank if you don't want to use those. Other Dialogue System components, such as UI Button Key Trigger will also use Rewired; assign Rewired actions to their Use Button fields.

4. Since the Dialogue System uses Unity UI, make sure to use a RewiredStandaloneInputModule on your EventSystem.
forrestuv
Posts: 64
Joined: Tue Nov 06, 2018 11:28 am

Re: Joypad buttons inconsistency

Post by forrestuv »

The instructions show how to configure the cancel button, but how to configure the continue btn with rewired? (the btn that fastforward typewriter conversation and advance)
User avatar
Tony Li
Posts: 22144
Joined: Thu Jul 18, 2013 1:27 pm

Re: Joypad buttons inconsistency

Post by Tony Li »

That's Unity UI. The continue button will have focus (i.e., be selected by the EventSystem), so the EventSystem's RewiredStandaloneInputManager > Submit input will click it.

If you've added a UIButtonKeyTrigger component to the continue button, you can assign an additional hotkey (Rewired action) to its Button Name field.
Post Reply