GamepadFX for Drivers
It's finally time that I release this after over a year in the making. Unhappy with the vanilla controller system and knowing how misunderstood it is, I wanted to make steering smoother and more intuitive. Thanks to x4fab/ilja's CSP support this became possible.
Unlike most gamepadFX posted since I started this project, AC-X doesn't lean on assists. Instead it helps the driver with enhanced thumbstick control, physics applied to the car's steering, and improved vibration feedback. Still allowing the driver to learn from mistakes, rewarding skilled control, and feeling the difference between cars/setups.
[ MAIN FEATURES ]
In-game UI app for settings
Live steering graph
Better steering methods
Gyroscope correction
Bezier thumbstick curve
Adjustable vibration
and more
[ INFO ]
Minimum CSP Version: 0.1.77
Minimum CM Version: v0.8.2393.39063
(gamepadFX added 2/27/2022)
CM > Settings > CSP > GUI must be active
The sliders in Content Manager > Settings > Controls aren't used for AC-X
You can keep them set for vanilla steering or other gamepadFX scripts
Do not use an external thumbstick curve from Steam, DS4Windows, etc
It will stack with the AC-X curve and ruin the steering.
If you prefer an external curve, you should set AC-X curve to linear
Vibrations are default at 0% so you can set them up first
[ INSTALL ]
Technically there's two apps, the gamepadFX script and the UI settings app.
You can drag and drop the downloaded zip file into CM, to install the settings app.
Then open it in game, it should allow you to install the gamepadFX from there.
You can also do a manual install by moving both folders from the zip
into your steamapps\assettocorsa folder.
Code:
Basic help document for ACX:
You can use the checkboxes on general tab to toggle AC-X functionality.
For example you can turn off the AC-X vibrations to use the vanilla instead.
Steering speed options:
Total: (suggested: 2.0 seconds lock to lock)
Same as vanilla, applies a generic amount of steering per second
Will feel differently based on how much steering angle the car has
Wheel: (suggested: 440-550)
Recommended choice
Car steering wheel will rotate at this speed
ie; with a Street car using 1260 degrees vs. F1 car using 360 degrees,
both will have the same steering wheel speed unlike the other options.
Mimicking how fast a human driver could physically turn the wheel.
Angle: (suggested: ~32)
Similar to wheel except it uses steering angle at the tires
It means each car will actually turn at the same rate.
This setting is good if you mostly drive in 3rd person
Feedback is a percentage of your steering speed.
So you can change steering speed and feedback stays consistent.
You can test smoothing by tapping the steering and watching it
return to center.
Align: A slight effect mostly at lower stick levels, it's basically a
duplicate ffb to help the car track straight. This makes looser cars
more comfortable to drive and pretty much has no drawbacks.
Rumble: Steering shake going over curbs/grass/etc
Gyro:
This is not a controller gyro/tilt sensor thing.
This attempts to separate the steering axis from the chassis
AKA rear slides will generate steering input
Angle multiplier:
This controls the steering angle target for the gyro
Raise to add more angle
Speed multiplier:
How quickly the gyro will reach target angle
Human override multiplier:
How much stick input will override the gyro
Curve:
I've changed the default curve to be more easily adjustable.
X1 will adjust inner stick feel (short range steering)
X2 will adjust outer stick feel (long range steering)
So, if you feel like the stick is a little too sharp or responsive
with light movements, you can move X1 to the right to soften it.
If you feel like the steering isn't ramping up as much as you want,
then you can move X2 further to the left.
Vibration:
PS5: needs Steam input to vibrate properly
Without Steam, minimum vibration seems to be 100% volume (~10-20% total)
I've set the default profiles as RPM on the right,
braking on the left, and some feedback in between.
CSP only has a vibration "left" and "right" parameter for me to use.
In the future I would love to have trigger vibrations for xbox, etc
Macro:
assettocorsa\extension\lua\joypad-assist\acx\macro\
Put a "macro.exe" here, AC-X will auto launch and terminate it with AC.
Included AHK script to compile if you want.
It binds A(xbox) and X(ps4/ps5) to return to pits (CTRL+P)