Skip to the content.

Manual Transmission

Expands the driving immersion and experience in Grand Theft Auto V, with wheel support, manual transmission, advanced transmission settings, advanced steering settings, configurable assists and much more.

Pic

đź“Ą Releases

Features

For gameplay and driving:

Any speedometer supporting RPM/Gear reading from memory:

Mods that counter the power loss when sliding sideways (Also partially mitigated by LSD):

The default grip levels cause the wheel to bounce left and right because they’re too grippy. These handlings have reduced grip to realistic levels, and are essential for playing with a wheel. Mix and match all you need, as these don’t overlap much.

Requirements

Optional: (Downloads)

Activation

A license is required to play version 5.6.2 and newer of Manual Transmission. You can get one by pledging on Patreon. The script will inform you when you need to generate or renew the license.

Installation

Put the following items into your GTA V game folder:

Make sure the ManualTransmission folder is writeable! (not Read Only). If the folder is not writeable, it will automatically be copied to %localappdata%\ikt\ManualTransmission.

You may also directly place the ManualTransmission folder in %localappdata%\ikt\ManualTransmission.

Open the menu using the mtmenu cheat or the \| hotkey, and start customizing things.

The hotkey may be changed in settings_menu.ini -> [MENU] -> MenuKey. Keyboard_Keys.txt contains special keys you can use, on top of the default alphanumeric keys.

Updating

Replace Gears.asi and copy the ManualTransmission folder in the GTA V game folder.

You don’t need to overwrite changes in the ManualTransmission folder: the script will write new settings in the file as necessary.

Wheel setup

Wheel

  1. Remove or disable any XInput or DirectInput input hook configurations for your wheel for GTA V (x360ce, for example).
  2. Open the menu, navigate to Controls -> Wheel & pedals.
  3. Set up your analog inputs in Analog input setup and set up your analog inputs (throttle, brakes, steering).
  4. Go back to the Wheel & pedals menu and go through all options. Read the description of each option.
  5. Read the force feedback section.

The script supports DirectInput devices and any combination of inputs can be used. Additionally, the script automatically switches over from inputs when pressing the devices’ throttle pedal, for seamless switching. An example is doing a mission, getting into a car and immediately driving away with the gamepad or keyboard, and then when hitting the throttle pedal of the wheel rig, the steering wheel takes over.

FiveM

The script specifies FX_ASI_BUILD up to and including the latest supported game version, which should make it function as a user plug-in. Refer to FiveM documentation and support in case anything does not work - I do not use FiveM and cannot verify explicit compatibility.

  1. Create a plugins folder in FiveM Application Data.
  2. Put Gears.asi and the folder ManualTransmission in plugins.

You can also just copy-paste the ManualTransmission folder if you have configured the mod for singleplayer already.

If the %localappdata%\ikt\ManualTransmission folder exists, it will use that instead.

The script works in servers that allow user plugins (ScriptHookV scripts). Last checked to work with MT v5.5.0 and FiveM using the 2545 version of the game.

There are no plans at the moment to re-write this script to a native FiveM (server) script.

Default controls

Refer to settings_controls.ini for the default controls.

Opening the menu:

These shortcuts can be changed in settings_menu.ini.

Keyboard defaults (US-ANSI)

By default, W is throttle and S is brake.

Sequential and Automatic:

Controller defaults

By default, RightTrigger is throttle and LeftTrigger is brake.

Wheel defaults

There are no defaults.

Use the menu to assign throttle/brake/clutch and other actions, such as shifting, changing gearbox mode and game controls.

Usage and setup

After installation use the menu key, button(s) or cheat to open the Manual Transmission menu. You will need this menu to change all the options of the script and set up things like steering wheels or custom controls.

Driving basics

Manual Transmission simulates a real car, so you might want to know how to drive a manual.

Using the clutch: Depending on your settings, you might need to operate the clutch to drive your car.

When the stalling option is enabled, remember to not let the RPM dip too low. It might stall otherwise. Stalling can be noticed by the RPM bar dropping below the stationary RPM.

When using a H-pattern shifter, remember to clutch in to shift. Not pressing the clutch might cause a misshift, which might damage the car, and the car will not go in gear. You’ll hear a grinding sound when this happens.

When timed right, it’s possible to shift into gear without clutching, when the speed of the car and the RPM match up.

Braking and reversing: While Manual Transmission is active, the brake input will only work as a brake. When stopped, the brake input will not reverse your car.

To reverse, shift into the reverse gear. Press the accelerator input to accelerate in reverse.

Wheel-specific: While Manual Transmission is active, the pedals behave like real pedals. When the manual transmission part of the mod is turned off, the throttle and brake pedals work like the left and right trigger on a controller.

Input switching

The mod picks up the last control and is only active for that set of controls. To switch between inputs (keyboard, controller or wheel), you only need to tap the throttle on that device. The mod switches between these inputs by itself, and the main menu shows what the current active input is.

Specifically for wheel users, you might need to fully depress the throttle pedal or clutch pedal (once) if the mod keeps swapping away from the keyboard or controller.

If you’d like to lock the controls to a specific input, head over to Debug and check Disable input detection. This allows switching inputs manually in the main menu.

Vehicle Configurations

The script supports various vehicle-specific options, such as shifting behavior and driving assists. The submenu Manual Transmission settings -> Vehicle configurations shows the current known configurations. When you’re in a vehicle that fits the model and/or plate, that configuration is loaded.

With the option Create configuration..., a new, clean configuration is generated and activated. Some submenu subtitles show CFG: [<Configuration>], which means the options in that submenu are loaded from and saved to that configuration. Edits you make for these options don’t get applied globally.

When hand-making a configuration yourself, options that are missing in the configuration file will use whatever the global settings are.

For instructions for this feature, check ManualTransmission/Vehicles/Information.txt.

Driving assists

Assist icons

Have trouble keeping the car on the road? The Driving assists feature might help!

The following assists are available:

Icons in the HUD will flash when certain assists are active.

Animations

The script now overrides the animations and matches the steering wheel rotation. The system needs a bit of help to understand what to do, though.

Let me know if anything is missing, so I can update animations.yml to support as many vehicle types as possible out-of-the-box.

animations.yml is a text file containing the animation definitions: What animations to use for which vehicle layouts, and how many degrees of rotation chosen the animation supports. Most game vehicles are present already, but most add-ons need to be added.

If a vehicle doesn’t have matching animations, do this:

  1. Open the vehicles.meta containing your car.
  2. Find the <layout> for your car entry.
  3. Copy the contents of that (for example, LAYOUT_STD_AE86).
  4. Paste it in animations.yml in a suitable animation.

You can usually guess what’s suitable from the other entries already present. The debug menu has an animation section where you can force animations, you can also use that to find a suitable animation.

If a vehicle defines an animation clipset not in animations.yml, it can be added.

  1. Check the layout name in vehicles.meta.
  2. Check the corresponding clipset dictionaries in vehiclelayouts.meta
  3. Check the corresponding clipset dictionaries in clip_sets.xml
  4. Make an educated guess what the dictionary is for your vehicle
  5. Check the dictionary in clip_anim.rpf
  6. Open the .ycd in notepad and hope you find a steer_no_lean or pov_steer
  7. Copy an - Animation: entry in animations.yml - mind the indentation!
  8. Substitute the dictionary and animation name for your vehicle, replace layouts with your new layout and throw in an educated guess what the rotation degree is.

Useful resource: AlexGuirre’s animation list.

If the current steering angle is more than what the animation supports, it will just stay at the maximum.

While synced animations are active the game limits the viewing angle to about 10 degrees left/right. Using an alternative camera mod is highly recommended.

Wheel FFB LUT

A lookup table (LUT) can be used in this script. A LUT can be used to customize wheel response, for example, to linearize the response from the motors.

The supported format is the same as Assetto Corsa. Use the following tools to generate a LUT for your wheel:

  1. WheelCheck
  2. LUT Generator for AC

The instructions are similar as the LUT generator page, but here they are specific to this script:

  1. Run WheelCheck with your wheel plugged in.
  2. Set Max Count to 100.
  3. Select Step Log 2 (linear force test) and wait until the test stops. The test starts directly when the option is selected, and ends when the wheel stops moving. It might take a while to start if your wheel has a force feedback deadzone.
  4. Run LUTGenerator.exe
  5. Open the .csv generated by WheelCheck. It’s in the C:\Users\<user>\Documents folder.
  6. Save the generated LUT in ManualTransmission folder, eg g27.lut.
  7. Open settings_wheel.ini, and under the [FORCE_FEEDBACK] section, add LUTFile = g27.lut.

Using a LUT file will disable the AntiDeadForce, as it already corrects for any dead spots.

If you’re hand-rolling your own LUT or changing the forces, make sure the first entry is 0|0 and the last line is 1|1. The Gears.log file will also output warnings or errors if something is wrong.

Force feedback

The force feedback in 5.5.0 takes its data from observed slip angles of the steered wheels, so it’s important that the data fed to it is somewhat accurate.

Handling for force feedback

The force generated is proportional to the optimal wheel slip angle, as defined in by fTractionCurveLateral in a vehicles’ handling.meta entry.

This value is in degrees. It dictates how quickly the car responds to steering inputs, and massively affects force feedback feel. Small values make it respond quite quickly, large values make the force feedback sluggish and vague.

GTA V uses pretty high values by default, as do many vehicle authors, so most handlings feel sluggish and need adjustment to feel accurate.

I recommend using realistic values, and to not exceed 12.5 degrees. Otherwise it will feel sluggish and vague.

The fTractionCurveMax/fTractionCurveMin values dictate how much grip the tires have, roughly expressed in g-force for neutral load (no downforce).

Most handlings use a high value (sometimes paired with flags that increase gravity), but this makes the car feel too responsive. I recommend running strHandlingFlags with 20100, which does not enable gravity-modifying flags, adds some tire squish (less harsh FFB on uneven terrain), and stops the car from slowing down very quickly off-throttle (unrelated to FFB, but still a must-have).

With realistic traction values, the force feedback behavior is much more natural.

Here are a few numbers from Assetto Corsa, where minor differences can make quite some difference.

Force feedback settings and other notes

Firstly - take a look at the Wheel FFB LUT section! For non-direct drive wheels, it’s a vast improvement in detail and lower-level force. Direct drive wheels won’t need it.

Version 5.5.0 was developed with a Logitech G27, and later a Fanatec CSL DD. Both wheels differ vastly in feel, but similar (default) settings work fine.

For the settings: The descriptions ought to be descriptive enough. Following is just general advice, but for the best results just try stuff yourself.

The “FFB normalization options” are to make high fTractionCurveLateral cars feel somewhat responsive. If you’re going for realistic, very low fTractionCurveLateral handlings, it might be useful to use the “No normalization” values, otherwise the difference in feeling between minute handling changes is diminished.

Finally: GTA V’s physics and scripting engine is coupled to the frame rate. Playing the game at a higher framerate results in more accurate force feedback.

This has one trade-off: Some tracks have small gaps in their collision surface, so with high frame rates, these can be felt. There is no way to filter these out, so consider appealing the track author to fix their collisions.

Troubleshooting

Something don’t work? Read this first.

Game compatibility

The current version of the mod has been tested with the latest GTA V version during development, which is v1.0.3274.0. Limited support runs back to v1.0.1604.0, but new features might be unstable.

Compatibility options

Check the Developer options -> Compatibility settings.

Known issues

Steering wheel issues

Credits

A massive Thank You to everyone who contributed!

Contact

If you have any issues or questions, you can find me (ikt) on the following channels:

Please include the log files, so that I can help you more quickly.