I’m building a local splitscreen game in Unreal Engine 5.6 using Blueprints, and I need each player to have their own cursor on the character select screen. The problem is that only one player can interact with the UI at a time; the other players’ cursors are visible but won’t move or register any UI interactions. This isn’t an online setup—strictly local multiplayer. I’ve got per‑player cursors displaying, but they don’t respond to input or trigger UI events. I’m looking for guidance on making all players’ cursors fully functional so they can simultaneously navigate and select characters.
Hi @TartanWarrior14 ,Welcome back to the forums!
Could you share some screenshots of how you have everything set up?
That way we can see more clearly where the system might be failing, and it’ll be much easier to help you figure out what’s causing the issue.
Also, I found a post similar to what you’re trying to do that might be helpful!
Hope it helps!
After working on it, I ended up taking a different approach and created a system that spawns the cursor as a character, using the level as the widget map. It worked at first, but now I have a new issue. I’m trying to make a system that detects players who aren’t assigned to a character and lets them join the game after pressing an input, which then allows them to possess that character. While working on the input actions in Unreal Engine, I found a node called “On Input Device Connection Change,” but I still don’t understand how to assign specific controllers to the created players so they can possess their characters. I tried using the platform ID, but it didn’t work, even with the controller connected. What I’m preventing is the controller automatically adding a character without an input press—only after the button is pressed should the player be added and possess the character in the game via Blueprints. I figured this might involve the device ID, not to change it, but to use it to identify the exact device so the player can possess it. I might be overcomplicating things, as all I really want is a character select mode in Unreal that works like in Super Smash Bros, where players can join just by pressing a button. It was working before, but there were issues with remembering which character was which, so I removed the widget that assigned them, and now I’m rebuilding the system from scratch.
this is what you need Set Local Player Controller ID | Unreal Engine 5.0 Documentation | Epic Developer Community
That should automatically assign each controller to each gamepad by index, you can call that in begin play in the player controller or on spawned in the pawn
Where it gets tricky is if keyboard and mouse are an option, you too, usually you’ll want that on player 0 because it’s easier. You can have an event for mouse input and use gates to to toggle whether or not to allow mouse and keyboard inputs, (like if you had 2 gamepads and did not want to use a mouse.
Using gamepads to control ui is also tricky sometimes, make sure your player controller is set to input mode ui only when the widgets are on the screen. Depending on how you are doing it you may have to set up a selection system for the ui yourself from scratch but if the player controller is set to ui only and the controller is registered to that player it should usually be able to do that automatically, it’s a good idea to put all interactive widgets in one container like a horizontal box or a grid.