I am trying to get ORK3 to support local multiplayer (not Online MultiPlayer) with [New Input System].
The NewInputSystem can easily absorb almost any input, not only PS4/Xbox, but Switch, Touch, Steam controllers, etc.
This makes multi-platform support very easy.
Depending on the number of controllers, this is a real-time battle controlled by one to four players.
How can I make the ControlMap of a member in the second PlayerGroup work while the first player remains IsPlayerControlled?
http://makinom.com/guide/documentation/features/input-keys/#13-toc-title
I would like to use this guide to achieve local multiplayer using InputID.
However, after quite a bit of trying, I converted the playerIndex (0-3) in [New Input System] in Custom Script to InputID (0-3) and told ORK to enter the InputKey for each player, but the second Player's ControlMap does not work.
http://makinom.com/guide/extensions/scripts/unity-input-action-input-key/
I tried this Makinom plugin and it worked fine for solo, but it did not recognize the InputID and considered the two controllers as the same input.
So, I used CustomScript to indicate the InputKey.
In [New Input System], when you press a button on the second controller in the PlayerInputManager Component, a JoinAction is performed.
So PlayerInputManager instantiates Prefab and assigns PlayerInput's playerIndex.
I want to use this because from a usability standpoint, it would be easier for a second friend to Join. (For example, a friend can instantly Join by simply pressing and holding the button on the second controller for 3 seconds.)
https://docs.unity3d.com/Packages/com.unity.inputsystem@1.3/manual/Components.html
So, set the combatant's Prefab to InstantiatePrefab in PlayerInputManager.
AutoMachineComponent is pre-attached to the Prefab.
Set StartType to Start=0 and run Player Join Group Node and Add Combatant Node from Machine at the same time as Instantiate.
From a custom script
var pickInput = Maki.InputKeys.Get(attackID);
pickInput.SetAxis(playerIndex,1f);
yield return null;
pickInput.SetAxis(playerIndex,0f);
Do I need anything else, I tried ShortCutAbility instead of Ability with the same result.
To begin with, the player2 combatant’s control map does not work.
How can I use Makinom2 + ORK3 with separate Input IDs to trigger Ability on each Combatant in the same ControlMap?