Xbox Input Interface initialization error

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.

I have some more information on this issue. Short answer: this is an OS quirk not a bug in Unreal.

Also a correction: to repro this begin the sign in process at the same time that the title is launched and then set the controller down and don’t touch it again.

We now believe that the Xbox OS isn’t associating the controller with the new user in the absence of input events. We’re going to look for a workaround at the IIS.