Using EventManager for multiple local controller UI inputs?

I’ve been trying to get something working about this without much luck.

Basically, I need the following:

There may be some number of players from 1-4, each on a controller (this I can handle, and I’ve got the inputs mapping fine for actually USING the controllers during gameplay).

There is then a standard character select screen similar to a fighting game: Blazblue, Soul Calibur, DoA, etc.
Each player can pick a character, press a button, and have their character “selected”. It is possible and valid for multiple players to select the same character at the same time.

As far as showing which player has picked which character, setting a ready/launch state, saving off choices to be spawned in the next scene, etc, I can manage that just fine.

What I can’t seem to manage is finding a way to actually listen to multiple input sources for UI interaction. EventManager can only accept a single input source, and on top of that can only have a single “selected” object at a time.

That being said, I’d love to use EventManager, because of how robust and automatic its navigation systems are. Honestly, at this point I’d settle for just being able to create a stack of “clone” ui grids, one for each player, each with their own EventManager, and then a top “true” grid which listens to the full stack of input grids and changes visuals based on what’s happening to the stack. That, I could do as well. Not elegant, but I could manage it and I’d get to keep EventManager’s navigation systems.

I guess, at this point, I’m wondering if my only solution is to basically build my own UI input manager designed for this? I searched around a bit, and found a handful of people with the same problem, but no one ever had a robust answer and nothing is recent. I just wanted to get a second opinion before going down that road, since it drastically bloats what I’ll need to do to get this working.

I did find this: http://blog.pastelstudios.com/2015/09/07/unity-tips-tricks-multiple-event-systems-single-scene-unity-5-1/

But it doesn’t actually do anything when I tried adding those tweaks to the project, and I can’t figure out why. Nothing highlights in the game UI, no input is recognized, no errors, just nothing. I’m guessing something has changed since it was written? (I’m on Unity 2017.2)

Also, for context, I’m not great with code (which is why tweaking the eventManager myself is sort of beyond me). I can usually implement an example without breaking anything, but that’s about it. I’ve been handling all of the programming with Bolt from the asset store, and so far it’s been incredible, and let me get to a full working game play prototype. But with this UI stuff I’ve kind of hit a wall. I could likely write a UI input system in Bolt, but if there’s a way to avoid that…

If anyone has a thought on this, I’d very much appreciate the help. Unity’s input handling system seems in need of an overhaul in general…

Without trying to go in to too much detail, you have a few options.

You can either write your own events and post them through the Event service (creating UnityEvent handlers)
Or you can write your own input handlers to attach to the Event system to listen for the additional inputs.

Check the UI Source for info on both patterns. (as the docs are rubbish)

Same problem here ^^
Can’t find a way to work with 2 event system at a time and it makes the multi controller UI setting a real pain in the neck…
I wonder what is the “standard” solution for this.