Creating Ui Character selection screen for split screen 2 player game

FCoreDelegates::OnControllerConnectionChange is broadcasted when Controller Connected/Disconnected

You can scan for xinput devices on windows with something like (Super wonky):
You can combine this with listening to the main connection change delegate to maintain a list of valid Controllers.

#if PLATFORM_WINDOWS
	XINPUT_STATE XInputStates[MAX_GAMEPAD_COUNT];
	for (int32 ControllerIdx = 0; ControllerIdx < MAX_GAMEPAD_COUNT; ControllerIdx++)
	{

		XINPUT_STATE& InputState = XInputStates[ControllerIdx];

		bool IsConnected = (XInputGetState(ControllerIdx, &InputState) == ERROR_SUCCESS) ? true : false;
		OnGamepadConnected(IsConnected, 0, ControllerIdx);
	}
#endif