How do I create a local co-op player setup screen ?

I’m working on a local co-op game in Unreal Engine, and I’m struggling to create a proper player setup screen.

What I’d like to achieve:

• Detect all connected controllers (keyboards, gamepads, etc.).

• Display each controller as an option for players to select.

• Let players assign controllers to their player slot — similar to how FIFA lets you move controllers to pick sides.

I’ve been exploring Enhanced Input and the Player Controller system, but I’m not sure how to handle dynamic controller detection or the UI for assigning them to players.

Has anyone built something like this or can point me in the right direction? I’d really appreciate any guidance or examples! Thanks!