Skip to content

Commit fd92171

Browse files
committed
Update Controllers, gamepads and joysticks for SDL 3
- Mention SDL 3 is now used for input on desktop platforms. - Mention that mobile/web platforms may have less reliable controller support as they don't use SDL yet, but it's planned.
1 parent 6de6560 commit fd92171

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

tutorials/inputs/controllers_gamepads_joysticks.rst

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,20 @@ Controllers, gamepads, and joysticks
44
====================================
55

66
Godot supports hundreds of controller models out of the box.
7-
Controllers are supported on Windows, macOS, Linux, Android, iOS, and HTML5.
7+
Controllers are supported on Windows, macOS, Linux, Android, iOS, and Web.
8+
9+
.. note::
10+
11+
Since Godot 4.5, the engine relies on `SDL 3 <https://www.libsdl.org/index.php>`__
12+
for controller support on Windows, macOS and Linux. This means the list of supported controllers
13+
and their behavior should closely match what is available in other games
14+
and engines using SDL 3. Note that SDL is only used for input,
15+
not for windowing or sound.
16+
17+
Prior to Godot 4.5, the engine used its own controller support code.
18+
This can cause certain controllers to behave incorrectly.
19+
This custom code is still used to support controllers on Android, iOS and Web,
20+
so it may result in issues appearing only on those platforms.
821

922
Note that more specialized devices such as steering wheels, rudder pedals and
1023
`HOTAS <https://en.wikipedia.org/wiki/HOTAS>`__ are less tested and may not
@@ -354,10 +367,24 @@ Controllers can still work without udev support, but it is less reliable as
354367
regular polling must be used to check for controllers being connected or
355368
disconnected during gameplay (hotplugging).
356369

357-
HTML5
358-
^^^^^
370+
Android/iOS
371+
^^^^^^^^^^^
359372

360-
HTML5 controller support is often less reliable compared to "native" platforms.
373+
As described at the top of the page, controller support on mobile platforms relies
374+
on a custom implementation instead of using SDL for input. This means controller
375+
support may be less reliable than on desktop platforms.
376+
377+
Support for SDL-based controller input on mobile platforms is
378+
`planned <https://github.com/godotengine/godot/pull/109645>`__
379+
in a future release.
380+
381+
Web
382+
^^^
383+
384+
Web controller support is often less reliable compared to "native" platforms.
361385
The quality of controller support tends to vary wildly across browsers. As a
362386
result, you may have to instruct your players to use a different browser if they
363387
can't get their controller to work.
388+
389+
Like for mobile platforms, support for SDL-based controller input on the web platform
390+
is `planned <https://github.com/godotengine/godot/pull/109645>`__ in a future release.

0 commit comments

Comments
 (0)