In order to edit this wiki, you must register and verify your account.
Motion controls
This article provides a list of methods to achieve motion controls within Cemu.
Cemu is capable of emulating motion controls within the Wii U GamePad or a Wiimote (MotionPlus model). In order to accomplish that in Cemu, various methods can be attempted, including setting up a UDP-based motion server application to send the motion data of a real motion-support controller (that Cemuhook's GamePad Motion Source API listens to), using the emulated Wiimote Controller API in Cemu's input menu in combination with a real Wiimote (MotionPlus model), or using a hacky workaround that involves right clicking and dragging within the Cemu window.
Cemu 1.18.0 and later support the Cemuhook motion API natively (Input Options > API > DSUClient
) and adds native motion for the emulated Wiimote Controller API.
Cemu's DSUClient API option should not yet be used due to some inconsistencies. The Wiimote Controller API should still be fine, however.
Full-motion solutions
The following solutions are full-motion because they provide a three-axis gyroscope and three-axis accelerometer.
DualShock 4 (DS4) or DualSense (DS5)
This is a very feature-rich solution because the device also includes a touchpad which can be very useful at games that do heavy usage of the GamePad touchscreen, such as Super Mario 3D World
Cemu supports the motion control capabilities within the DualShock 4 and DualSense natively by setting the API to the SDLController API on Windows. On Linux, ds4drv-cemuhook is needed (rumble should also work with Wine's XInput emulation).
Wiimotes
Original Wiimotes only contain an accelerometer, so their functionality is limited, e.g. as a "Wii Wheel" for Mario Kart 8.
Motion for the emulated Wiimote Controller API option is supported out of the box when the Wiimote API is used with a real Wiimote in Cemu's input options. This is necessary for games that absolutely require a Wiimote.
Alternative methods
Third-party alternatives exist for motion control support via Wiimotes (MotionPlus model), including WiimoteHook.
On Linux, linuxmotehook exists. WiimoteHook, depending on your setup, may work on Linux if wineconsole and .NET 4.5.2 or better are installed.
Nintendo Switch controllers
Cemu supports the motion control capabilities within Nintendo Switch controllers natively by setting the API to the SDLController API on Windows. On Linux, joycond-cemuhook works.
Various controllers on Linux
Since Linux allows its drivers to expose motion data to userspace, it is possible to read it from such modern drivers for multiple devices. This also means ever-expanding list of supported devices as drivers for them become available. Please note that only motion feature is provided, neither buttons nor touchscreen are mapped even if present. Supported devices currently include the Nintendo Switch Joy-Cons and Pro Controller, as well as the DualShock 3, DualShock 4, and DualSense controllers via evdevhook.
Mobile devices
Not all mobile devices include a gyroscope. Some only include a magnetometer, which runs slow within Cemu; certain devices only include an accelerometer, which does not allow for yaw motion
iOS
Beginning with the iPhone 4, a gyroscope is included in every iPhone. The recommended method to utilize your iPhone for motion controls in Cemu is through DSUController, which provides motion sensor data (select Wii Classic Controller for GamePad) and basic button functionality. The Nunchuk can also be emulated, but requires a second device.
Alternatively, WiiMoteDSU also provides motion sensor data and basic button functionality.
Android
The MotionSource app is capable of providing gyroscope data to Cemu via Cemuhook.
Windows phones
The only way to set up motion controls with Windows phones in Cemu is through the UWP MotionSource app.
Full-motion solutions with limitations
DualShock 3
The DualShock 3 only provides yaw axis data.
Cemuhook's ScpToolkit patch is capable of utilizing the gyroscope within the DualShock 3 to use in Cemu on Windows.
Partial solutions
Xbox controllers
This method emulates motion data using the analog stick on the Xbox controllers; it is counter-intuitive in several cases and not recommended
To set up an Xbox controller with motion data, download cemu-no-gyro and Cemuhook and set the GamePad motion source to DSU1.
Mouse
Hold down the right button in a game and move the mouse allows for a full degree of movement. Control third axis scrolling the mouse wheel. This method is not recommended.