Controller permanently disconnects when unplugging smart phone connected by USB

I posted this in Discord but didn’t receive a resonse.

I’m using Godot 4.6rc2 (also tested rc1). I thought it was a bug with the rc, but I couldn’t reproduce it in a minimal project. I have some simple code that logs when the joy connection changes:

_init():

Input.joy_connection_changed.connect(_on_joy_connection_changed)

func _on_joy_connection_changed(device: int, connected: bool) -> void:
    Log.debug("Joy connection changed: %d (connected: %s)" % [ device, connected ])

I have a DualSense 5 joypad plugged in, which works fine.

For an internet connection, I’m tethering to my Pixel smart phone via USB. When I unplug the phone, it immediately writes to the console:

Joy connection changed: 0 (connected: false)

and the controller will never connect again until I restart the game. It also behaves this way when I plug the phone back in.

Since I can’t reproduce it in a MRP, I’m not sure if I should file a bug, but I don’t know what I would be doing with the Input to cause this issue in my project. If anyone has anything I can try, let me know.

If you get internet from your phone via USB, that is known to be REALLY buggy on Windows, I had many weird, almost nonsensical issues come up a few years ago when I was forced to do that. (I assume you’re on windows), so I think this is an overall OS issue, not specifically related to Godot I don’t think.

Thanks for the reply.

“It’s just a Windows bug” is a very probable answer, although I’m still curious why it would affect this one Godot project but not a MRP on the same version, or any other game.