Logitech Steering Wheels
Table of Contents
- Logitech Steering Wheels
- Overview
- Supported Devices
- Prerequisites
- Setup
- Step 1: Connect Your Wheel
- Step 2: Verify in Unity
- Step 3: Check Input Bindings
- Step 4: Customize Bindings (If Needed)
- Input Architecture
- Force Feedback
- Built-In Support
- Logitech Gaming SDK (Optional)
- Pedal Configuration
- Combined Pedals (Single Axis)
- Separate Pedals (Recommended)
- Clutch Pedal
- Testing
- Troubleshooting
- Next Steps
Realistic Car Controller Pro supports hardware racing wheels and pedals through Unity's New Input System. Since RCCP uses an InputActionAsset for all input bindings, any USB controller that Unity recognizes as a gamepad or joystick device can drive your vehicles -- including Logitech racing wheels and other third-party peripherals.
Overview
RCCP does not include a proprietary Logitech SDK integration. Instead, it relies on Unity's Input System package, which automatically detects connected HID (Human Interface Device) peripherals. When a racing wheel is connected, Unity maps its axes and buttons through the Input System's device layer, and RCCP's RCCP_InputManager reads those values through the same InputActionAsset used for keyboard and gamepad input.
For advanced features like force feedback, RCCP provides a negativeFeedbackIntensity value on each RCCP_WheelCollider that can be used to drive haptics. Full force feedback requires the Logitech Gaming SDK (available separately on the Unity Asset Store).
Supported Devices
| Device | Status |
|---|---|
| Logitech G29 | Supported via Input System |
| Logitech G920 | Supported via Input System |
| Logitech G923 | Supported via Input System |
| Logitech G27 (legacy) | Supported if recognized by OS |
| Thrustmaster T300 / T150 | Supported if recognized by Input System |
| Fanatec wheels | Supported if recognized by Input System |
| Other USB wheels/pedals | Supported if Unity Input System detects them as a gamepad or joystick |
The key requirement is that Windows (or macOS) recognizes the device and Unity's Input System can see it. If the device shows up in Unity's Input Debugger, it will work with RCCP.
Prerequisites
Before using a racing wheel with RCCP, make sure you have:
- Unity's Input System package installed (required by RCCP -- see Installation)
- Device drivers installed on your OS:
- For Logitech: install Logitech G HUB on Windows
- For Thrustmaster: install the official Thrustmaster drivers
- For Fanatec: install the Fanatec driver package
- Steering wheel connected and recognized by the operating system before launching Unity
- The RCCP
InputActionAssetconfigured with appropriate bindings (included by default)
Setup
Step 1: Connect Your Wheel
- Connect the steering wheel via USB
- Verify it appears in your OS device manager (Windows: Device Manager > Human Interface Devices)
- If using Logitech G HUB, confirm the wheel is detected and calibrated there
Step 2: Verify in Unity
- Open your Unity project
- Go to Window > Analysis > Input Debugger
- Your steering wheel should appear in the device list (typically as a Joystick or HID device)
- If the wheel does not appear, check your drivers and USB connection
Step 3: Check Input Bindings
RCCP uses an InputActionAsset stored at:
Assets/Realistic Car Controller Pro/InputActions/RCCP_InputActions.inputactions
This asset is loaded at runtime through the RCCP_InputActions ScriptableObject in the Resources folder. The default bindings include:
| Action | Keyboard | Gamepad / Wheel |
|---|---|---|
| Steering | A/D or Arrow Keys | Left Stick X axis |
| Throttle | W or Up Arrow | Right Trigger |
| Brake | S or Down Arrow | Left Trigger |
| Handbrake | Space | Button South (A/Cross) |
| Gear Shift Up | Left Shift | Button North (Y/Triangle) |
| Gear Shift Down | Left Ctrl | Button West (X/Square) |
| NOS | N | Button East (B/Circle) |
Racing wheels typically map their steering axis to the Left Stick X binding and their pedals to the trigger axes. If your specific wheel maps differently, you can customize the bindings.
Step 4: Customize Bindings (If Needed)
If your wheel's axes do not match the default bindings:
- Open the
RCCP_InputActions.inputactionsasset in Unity's Input Actions editor - Select the Vehicle action map
- Click on the action you want to rebind (e.g., "Steering")
- Add a new binding or modify the existing gamepad binding to match your wheel's axis
- Save the asset
Players can also rebind controls at runtime if you include RCCP's rebinding UI. Rebinding overrides are saved to PlayerPrefs via RCCP_RebindSaveLoad.
Input Architecture
Understanding how input flows from the wheel to the vehicle helps with debugging:
- Hardware -- Wheel sends axis/button data over USB
- OS Driver -- Logitech G HUB (or equivalent) translates raw USB data to standard HID input
- Unity Input System -- Detects the device and maps it to the
InputActionAssetbindings - RCCP_InputManager -- Reads the Input System actions each frame and populates
RCCP_Inputs - RCCP_CarController -- Receives input values and applies them to engine, steering, and brakes
The RCCP_InputManager uses these named actions from the Vehicle action map:
| Action Name | Maps To |
|---|---|
Throttle | inputs.throttleInput |
Brake | inputs.brakeInput |
Steering | inputs.steerInput |
Handbrake | inputs.handbrakeInput |
NOS | inputs.nosInput |
Clutch | inputs.clutchInput |
Start/Stop Engine | Engine toggle |
Gear Shift Up / Gear Shift Down | Gear changes |
Force Feedback
Built-In Support
RCCP includes a negativeFeedbackIntensity property on each RCCP_WheelCollider (range 0 to 1). This value is calculated by the drivetrain based on engine braking and surface conditions. It represents how much resistance the wheel should feel at any given moment.
You can read this value from your own force feedback script:
RCCP_CarController vehicle = RCCP_SceneManager.Instance.activePlayerVehicle;
// Get feedback from front-left wheel
float feedback = vehicle.FrontAxle.leftWheelCollider.negativeFeedbackIntensity;
Logitech Gaming SDK (Optional)
For full force feedback with Logitech wheels (spring force, damper, surface effects), you need the Logitech Gaming SDK package, available on the Unity Asset Store:
Logitech Gaming SDK on Asset Store
This is a separate third-party package and is not included with RCCP. Once installed, you can write a bridge script that reads RCCP's negativeFeedbackIntensity and other vehicle state values, then sends them to the Logitech SDK's force feedback API.
Pedal Configuration
Most racing wheels have separate pedal axes. Common configurations:
Combined Pedals (Single Axis)
Some wheels report throttle and brake on a single combined axis. If this happens:
- Open Input Debugger and identify which axis the pedals use
- You may need to split the axis in your InputAction bindings using composite bindings (positive/negative parts of a single axis)
Separate Pedals (Recommended)
Most modern wheels (G29, G920, G923) report throttle and brake as separate axes. The default RCCP bindings expect:
- Throttle on the Right Trigger axis
- Brake on the Left Trigger axis
If your pedals map to different axes, rebind them in the RCCP_InputActions.inputactions asset.
Clutch Pedal
RCCP supports clutch input through the Clutch action in the Vehicle action map. If your wheel has a clutch pedal, bind it to this action for manual clutch control.
Testing
- Connect the steering wheel and launch Unity
- Open Window > Analysis > Input Debugger to confirm the device is detected
- Open any RCCP demo scene (e.g., from Demo Content)
- Press Play
- Turn the wheel -- the vehicle should steer
- Press the throttle pedal -- the vehicle should accelerate
- Press the brake pedal -- the vehicle should slow down
- If any input does not work, check the Input Debugger to see which axes are being activated and adjust your bindings accordingly
Troubleshooting
| Problem | Likely Cause | Solution |
|---|---|---|
| Wheel not detected in Input Debugger | Driver issue or USB problem | Ensure G HUB (or equivalent) is running, firmware is updated, try a different USB port |
| Steering direction is reversed | Axis polarity inverted | Invert the Steering binding in the InputActions asset, or use the "Invert" processor |
| Pedals not responding | Pedal axes not mapped correctly | Check Input Debugger to identify the correct axes, then update bindings |
| Combined pedal axis (throttle + brake on one axis) | Wheel reports combined axis | Use composite bindings to split positive and negative ranges |
| Force feedback not working | Logitech SDK not installed | Install the Logitech Gaming SDK package from the Asset Store |
| Wheel works in other games but not Unity | Input System not detecting HID device | Check that the Input System package is installed and the device appears in Input Debugger |
| Buttons on wheel not doing anything | Buttons not bound to RCCP actions | Open InputActions asset and add bindings for the specific button indices |
| Input feels laggy or delayed | Frame rate or input polling | Ensure the project runs at a stable frame rate; check that the Input System update mode is set to "Dynamic Update" in Project Settings > Input System Package |
Next Steps
- Inputs -- Default keyboard and gamepad input bindings
- Mobile -- On-screen mobile touch controls
- Settings -- Configure input and controller settings
Support: bonecrackergames@gmail.com | www.bonecrackergames.com
Need help? See Troubleshooting