Hello,
We’re seeing a problem where the Xbox input interface fails to recognize the controller pairing at start up. Our QA can repro this fairly easily. The following fragment of the log out shows the problem:
LogXboxOne: Stable Users:
LogXboxOne: [0]: Real
LogXboxOne: GamerTag: 2 Dev 174708543 XboxUserId: 2814659150893021 UserId 16 SignedIn: 1 Guest: 0 NumControllers: 0
LogXboxOne: [1]: Virtual
LogXboxOne: User: null
LogXboxOne: [2]: Virtual
LogXboxOne: User: null
LogXboxOne: [3]: Virtual
LogXboxOne: User: null
LogXboxOne: Controller States:
LogXboxOne: Controller 0 [1] Prev[1]
LogXboxOne: GamePad: 0x2CBA5487ED7E [Windows.Xbox.Input.Gamepad] No user signed in to gamepad
LogXboxOne: Controller 1 [2] Prev[2]
LogXboxOne: GamePad: 0x30000000000138B [Windows.Xbox.Input.Gamepad] No user signed in to gamepad
LogXboxOne: Controller 2 [3] Prev[3]
LogXboxOne: GamePad: 0x300000000001391 [Windows.Xbox.Input.Gamepad] No user signed in to gamepad
As you can see there’s a user signed in but as there’s no associated controller it appears as though no one is signed in. This is an XR violation so we need to resolve this somehow.
The repro method is simple although it’s timing dependent. Starting with no profile signed in launch the game and then immediately initiate signing in a profile. If the sign in process begins while the splash screen is up and completes after it’s removed the problem will occur.
Right now I’m looking at adding a function to XboxOneInputInterface to force a call to FixupControllersAndUsers on the next tick.
Please advise, thanks.