#2+ Players on 1 keyboard - My first Unity Asset Store release

1 messages · Page 1 of 1 (latest)

rocky pecan
#

The goal is to use Unity's new InputSystem even when a device is used by multiple players. Available for $15 at https://u3d.as/3pzb (unpaid bills beat my desire to make it free :-/)

  • Allows any device to support any number of players; i.e. 4 players on a keyboard, 2 on a gamepad, etc.
  • Works with Unity's PlayerInputManager join/left system.
  • Works with Unity's button rebinding system.

Get the Share InputSystem Device package from ShawnFeatherly and speed up your game development process. Find this & other Input Management options on the Unity Asset Store.

#

Tonight I finished a 7th sample scene with video on how to rebuild it. https://youtu.be/5uuN1jhuOYo

Link #1: $15 https://u3d.as/3pzb
Link #2: free https://discussions.unity.com/t/2-players-on-same-input-device/762490

0:00 Intro
0:14 Create new Unity project and add dependencies
1:00 Create InputActions Asset
5:44 Create script to control each player
7:44 Create scene
8:56 Create Player prefab
10:15 Create Player manager

▶ Play video
#

@cerulean latch mentioned this is the correct place to post dev-log type updates to my Unity Asset Store package. I'll do that from now on. Thanks for the guidance!

rocky pecan
#

The 7th sample above quickly got Unity Asset Store approval. It is now part of the live version of the tool, v0.0.5 🙂
Today is the last day for "new release" 50% off.

rocky pecan
#

Update to v0.0.6

  • Rebind keys with WASD & Arrow keys sample
  • Ability to rebind keys based off PlayerInput index. (Not just InputControl)
  • Fixed bug with gamepad icons conflicting with keyboard text.
  • Fixed player leaving causing nullrefs seemingly randomly.
  • Fixed PressAndRepeat's work in builds support.
rocky pecan
rocky pecan
#

v.0.0.7

  • Fixed bug where navigating from UI that allows group LockedSelections to UI that didn't allow group LockedSelections, incorrectly persisted locked icon.
  • Fixed bug where if one player joins, then rebinding another player would disable their ability to join.
analog escarp
#

Cool design but given that there are no ratings I really don't see the credibility. You got this though

sick tulip
#

Sorry but 15$ for this ?

#

Using the new input system i can make a keyboard for 2 players in 15 minutes

rocky pecan
# sick tulip Using the new input system i can make a keyboard for 2 players in 15 minutes

Appreciate the feedback! There is some great resources on the forums. To save you time, here's one that's do-able in 15 minutes.

Problem is this 15 minute version creates a requirement to either rebuild the already built-in and familiar PlayerInput's join/leave system and InputControl rebinding. Or extra work on how to hook into the existing Unity system. How this asset ties in splitting any device to work with most other InputSystem components is what I feel makes it worth it.

rocky pecan
sick tulip
#

just bind wasd to player 1 movement and arrows to player 2 movement, one profile in the new input system there is no extra work or other stuff you need to do

#

then make another profile for just player one, load whatever system you need via code or object reference

#

i said 15 minutes in regard to someone that doesnt fully know what they are doing, watching a tutorial

#

i could make you this system in under 4 minutes

rocky pecan
sick tulip
#

i just said that i can do that, its not hard, the 2 "this" upvotes from others should be proove enough

#

if not, i dont care, im just here to warn others how easy it is to do this and to why not to buy this (at this price)

#

anything more then 5$ for this is a ripoff and yes im calling your asset a ripoff, cuz at this pricepoint it is

rocky pecan
#

Sounds good. People can decide for themselves if they consider "saying you can" and "completing it" separate things.

rocky pecan
#

Published a video that showcases new components in v0.0.8: https://youtu.be/RMgNmgaBdwk

Easily create unity projects to handle multiple players on a single device, such as 2 players on a keyboard, .

0:00 Setup 2 players on 1 device with only Unity's InputSystem
2:04 Not working demonstration
2:28 Apply fix using paid asset
2:53 Working demonstration
3:20 Join Action
3:34 Player locomotion

$15 Unity Asset Store package used: https...

▶ Play video
rocky pecan
#

v0.0.9 is live:
feature: If control scheme uses both keyboard & mouse, prioritize the keyboard as the playerDevice.
feature: joinAction supports multiple players using the same button for their joinAction. Players join sequentially after multiple button presses.
bug: ResetAll syncs bindings with PlayerInput & PlayerInputManager clones
bug: CopyBinding handles null ref (for targetAction)

rocky pecan
#

Trying to make better showcase videos. so far it's so-so. https://youtu.be/8oOhI8AitrQ

Covers enabling 2 players to share a keyboard using an existing setup, such as the project setup from Unity's InputSystem tutorial; https://youtu.be/lGxXQzE5Vu8

0:00 Open InputActions Asset
0:12 Control Scheme KeyboardLeft
0:33 Actions use KeyboardLeft
1:45 Add 2 Player Share Device Package
2:29 Play it

Steps to split keyboard for 2 players. C...

▶ Play video
rocky pecan
#

v0.0.10 is live:
refac: rename ShareInputDevice/ShareDevice folder to ShareDevice/PlayerInput
bug: UiRebind properly updates UI with bindings when playerIndex is greater than player count.
bug: Join players only with current ActionMap actions. This avoids something like UI navigate being able to trigger a joinPlayer for the wrong control scheme.
bug: if 2 players are created during the same frame on a single device, the worst fit playerPrefab is destroyed.
bug: devicesAlreadyInitialized is reset even between play sessions in the UnityEditor

rocky pecan
#

v0.0.12 has been submitted for review!

v0.0.11 is live:
doc: package.json name updated to match Asstets/ShareDevice folder name.
bug: controlscheme check no longer duplicated on all devices of the same type.

reef nymph
#

what does this plugin do that allocating keys manually can’t do

#

like why should I use this instead of setting player 1 to wasd and player 2 to arrow keys

#

I see people above made points about time and things but if we had infinite time to do something like this, why should we pay for this plugin instead of write a few lines for free

rocky pecan
# reef nymph what does this plugin do that allocating keys manually can’t do

@reef nymph , @vocal orchid & @sweet viper , thanks for checking it out! and for making it clear I can't seem to figure out how to communicate the "why". Please let me know if the following makes sense:

This asset lets you utilize PlayerInputManager for split keyboard/controller. Any split device solution you find on the internet will have you rewrite a replacement for PlayerInputManager.

I created this video https://www.youtube.com/watch?v=RMgNmgaBdwk&t=124s to demonstrate the problem. The first 2 minutes of the video is using only Unity to get to what you'd think would work. After 2 minutes, this video demonstrates the problem. Exactly where it doesn't work as most think it should.

If your use case is simple, such as getting the project in the video to work, doing it yourself could be done in an hour. If you're planning to utilize join/rejoin, key rebinding, or any feature of PlayerInputManager with split keyboard/controller it's going to take you way more than an hour. That's where this asset is worth it.

Above it was mentioned "i could make you this system in under 4 minutes". Then added they were unable to take 4 minutes to prove it. It's also possible they gave it a go then didn't want to comment further after realizing the issue. Do any of you guys believe enough that 2 players, WASD and arrow keys, can utilize PlayerInputManger in less than 15 minutes that you're willing to try doing it?

Easily create unity projects to handle multiple players on a single device, such as 2 players on a keyboard, .

0:00 Setup 2 players on 1 device with only Unity's InputSystem
2:04 Not working demonstration
2:28 Apply fix using paid asset
2:53 Working demonstration
3:20 Join Action
3:34 Player locomotion

$15 Unity Asset Store package used: https...

▶ Play video
reef nymph
#

i'm not too familiar with PlayerInputManager so i couldn't say for sure on the possibility on making a system with it in a set amount of time. However, I decided i'd try something akin to Lucy's solution above with the new input system. This is probably the most crude and not the best method for doing this, however, it is certainly a method for doing this.

#

I do think that making a system close to the sophisticatedness of yours with all the bells and whistles could certainly take quite a long time, however, after looking at the documentation it doesn't seem like it would be a task that takes a forever amount of time requiring someone to go out and spend $15 on such an asset.

#

Im sure that there are people who would buy it though, and it is definitely a good asset for the people who do. We just think that it isn't worth it for one reason or another and I think you'll just have to wait a bit before you find your audience.

rocky pecan
# reef nymph i'm not too familiar with PlayerInputManager so i couldn't say for sure on the p...

@reef nymph, thank you for not only giving it a go but capturing that recording! DM me if you have any interest in a free key for this paid asset.

Lucy and you both avoided utilizing PlayerInputManager. The "why" of this asset. Very understandable given how hard I know it is to utilize PlayerInputManger with split keyboard/controller. Looks like you replaced PlayerInputManager by adding code into, the slightly odd location of, MovementController. Totally works! ...just feel bad for whoever has to maintain it.