Skip to content

Game Input steering wheel FFB events have no effect on Logitech and Thrustmaster wheels in UE5 #97

@Naytor

Description

@Naytor

I am encountering an issue where force feedback events have no physical effect on steering wheels using GameInput in UE5 .

When using the latest version of  GameInput from NuGet inside Unreal Engine 5.5.4 on Windows 11, I can create and start force‑feedback (FFB) effects on two different steering wheels ( Logitech G29 and Thrustmaster T248 ).
GameInputCreateForceFeedbackEffect() succeeds, GetState() returns GameInputFeedbackRunning, but no physical feedback is produced—the wheels go completely limp the moment the UE editor or packaged build launches, and spring centering resumes ( depending on ghub settings in the case of the g29 ) as soon as the application quits.

Both wheels I am testing with work in available games like Automobilita2, Asseto Corsa, etc. and they both produce FFB effects with the test apps provided by Logitech and Thrustmaster.

Both wheels have latest drivers and firmware.

I have also tested with the LogitechGamingSteeringWheelSDK and this is able to control the FFB effects on the logitech wheel from UE5 editor.

I believe the issue is that IsForceFeedbackMotorPoweredOn() consistently reports FALSE, when wheels are enumerated, and before and after sending and starting force feedback events, in editor and in packaged builds.
According to the documentation if IsForceFeedbackMotorPoweredOn() is false the FFB effects will have no effect on the wheel.

The wheels are plugging in when testing, and show power lights on.

I have tried tricking the motors into powering on in UE5 with raw HID, and DirectInput before attempting to create events.

Both wheels inputs are working with the GameInput plugin in UE5.

There are no warnings or errors in the logs related to GameInput or FFB.

I have tested spring and constant ffb events.

When queried with GameInput both wheels forceFeedbackMotorCount is 1. And both wheels report that they support spring, friction, damper, and inertia events.

The G29 is recognized as GameInputKindRacingWheel and the t248 is recognized as GameInputKindController.

I don't know if this is a bug, or if there is some undocumented step I am missing. Any help would be greatly appreciated.

Test Environment:
-UE5.5.4 built from source, with the GDK installed, and have verified my environment variable.
-Windows 11
-Latest game input from nuget installed to windows, and Gameinput.lib linked via third party plugin.

Metadata

Metadata

Assignees

No one assigned

    Labels

    gameinputRelated to GameInput API

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions