#XBOX Controller Assignment Issue

1 messages · Page 1 of 1 (latest)

turbid sluice
#

A thread is probably the correct place as there will probably be a lot of text. No clue how much we are allowed to share as we have signed a few NDAs by now but we are not really getting anywhere with other sources and we were recommended to ask here. So here goes:

Normally when creating our players we use "Create Local Player" with spawn controller enabled. This works without any issues across all PC versions.

Now that we have moved to XBOX the create local player seems to no longer assign the input devices properly to the created controllers / pawns; player 0 has always worked without issues and so does player 1, but players 2-3 do not and they have control over player 1 regardless of the way they've been created or assigned.

What has been tried without progress on the XBOX:
Get player controller from input device -> Not Valid -> Set local player controller ID (ID from loop index),
Get User For Input Device -> Create Local Player For Platform User,
Using Internal_ChangeInputDeviceUserMapping to change old GetUserForInputDevice(DeviceID) to FPlatformUserId NewUser = IPlatformInputDeviceMapper::Get().AllocateNewUserId(),
Creating local players with manual IDs,
Adding delays to blueprint- and C++-functions,
Changing orders of execution for init related functions,
Tried toggling "Skip assigning gamepad to player 1"

On PC some of these work and successfully assign the input device to the controller/pawn which makes this even more annoying to figure out.

#

Ran out of space:

The input devices seem to be registering correctly when starting them up:
[2026.03.13-13.17.58:499][443]LogXboxCommonPlatformInputDeviceMapper: creating input device mapping for new device. FInputDeviceId=1 AppLocalDeviceId=75583A91DD23F7481681FB50E36B5F65F17278D991717EB24D285516591E0138
[2026.03.13-13.17.58:499][443]LogXboxCommonPlatformInputDeviceMapper: Deferring connection event to wait for potential pairing event
[2026.03.13-13.17.58:499][443]LogGameInput: Device Connection Changed from 'NoStatus' to 'Connected|InputEnabled|OutputEnabled'
[2026.03.13-13.18.00:082][537]LogXboxCommonPlatformInputDeviceMapper: creating input device mapping for new device. FInputDeviceId=2 AppLocalDeviceId=49377F759C817F4F2D9FB16A56132E3FB473474968B71AF6994D63D2E70D7E45
[2026.03.13-13.18.00:082][537]LogXboxCommonPlatformInputDeviceMapper: Deferring connection event to wait for potential pairing event
[2026.03.13-13.18.00:082][537]LogGameInput: Device Connection Changed from 'NoStatus' to 'Connected|InputEnabled|OutputEnabled'
[2026.03.13-13.18.02:482][681]LogXboxCommonPlatformInputDeviceMapper: creating input device mapping for new device. FInputDeviceId=3 AppLocalDeviceId=1EE4A5644071B29A2C2F5254FF11F54B6811AC5348524B4EDA40E699A41B90C6
[2026.03.13-13.18.02:482][681]LogXboxCommonPlatformInputDeviceMapper: Deferring connection event to wait for potential pairing event

But when running an interaction function:
[2026.03.13-13.27.35:478][945]LogBlueprintUserMessages: [QuickplayMenuPawn_C_2147482285] Interacting w/ID: 0
[2026.03.13-13.27.36:680][ 17]LogBlueprintUserMessages: [QuickplayMenuPawn_C_2147482266] Interacting w/ID: 1
[2026.03.13-13.27.40:050][219]LogBlueprintUserMessages: [QuickplayMenuPawn_C_2147482266] Interacting w/ID: 1

Some seem to suggest that this could be a legacy input system issue as the project was upgraded from pre-UE5 version, but testing it seems very difficult, so can not confirm.

#

This is the last feature we have in development and we would like to keep it for the console versions but we are really not getting anywhere with the developer forums, googling or any LLM-assistant. Any help is appreciated.

winged mortar
#

Are you getting pairing changed logs for the devices finishing their mapping? And the other controllers are signed into real or guest accounts?

turbid sluice
#

On the guest / account: We honestly have no clue. The first player is currently always prompted to choose an account for testing purposes but that is about as far as accounts go. If each input device is supposed to have an actual account tied to it, we have not done that. Seems weird that an account is required for dummy characters to be controlled.

On the logs: Can't confirm or deny, about to go to our offices so I can take another look at the logs. What are these logs supposed to look like, we are just learning everything as we go since this is our first console game.

winged mortar
#

I would start with the accounts. Even on local for the console, each user is meant to be logged in separately. It's like.. Allowing you to progress in your account for the console regardless of whether you're playing at a friend's in splitscreen or with each other over internet. The guest accounts are just an easy way to avoid having to sign into a full account if you're just messing around.

But generally this will map to the intention of a player controlling something. In Xbox's case, one or more input devices can be associated with a Seat/Player. Which is probably why you see them controlling the primary player's stuff, cause it thinks you just made a couple extra input devices for the primary account.

turbid sluice
#

At least now we have somewhere to start looking, nice change of pace. I can see why each input device could have their own account in a bigger game where everyone's progress is tracked separately, but in our game players 2-4 just choose from what the first player has and nothing is ever saved for them.

Will leave for the office now, and I'll update this thread if there is progress

turbid sluice
#

@winged mortar Thank you so much for the suggestion, the guest account ended up being the real issue, the symptoms just seemed so random that we just couldn't believe it was that. Now we can finally start preparing for release.