SImucube SDL2, Direct Input, UE4 and Inconsistent results


Im a part of a team that develops simulators.
We are currently using simucube for our steeringwheels and UE4 for simulations.

We are having issues using SDL2 and Direct Input to control our steeringwheel.
Constant forces works great, but for example “Spring” does not. it does create a spring effect, but it ignores the changes to for example “center”.

We are trying to get a steeringwheel to match up to a selfdriving car, and first thought that the easiest way would simply be by adding a Spring effect and changing the center position on tick, but that solution doesnt work since spring isnt working properly for us.

Our second solution is building a PID controller and using constant effects to push the steeringwheel towards the correct position, but that leaves us with a heap of other issues such as tuning, occilation etc.

Does anyone know wether Direct Input and SDL2 supports just setting the position of the steeringwheel and keeping it at that position (or any other position we choose at runtime).

Simucube harware version: revision 2(r005)
Simucube Firmware Version 1.0.25
Simucube Configuration Tool Version: 1.0.25
IONI Driver Version: 10716

Best Regards
Oskar Wallin

1 Like

I’ve replied to your email about this, lets continue our discussion there.


Our team has a similar problem. We want to change “Spring” in real-time from UE4. what was your solution?


We didnt manage to solve it. the problem seems to be in the Plugin / SDL2 integration. we moved all functionality regarding the steeringwheel to a separate application we built.
Stopped using spring effect, but instead update a constant force effect with a PID module.

We noticed that updating a SDL2 device in UE4 really affects performance, looking at almost 5 ms per frame when updating an effect using the plugins we’ve found.

I would recommend building your own plugin that uses SDL2 and keeping it out of the game and render thread.

Best Regards
Oskar Wallin