Sim Racing Haptic Effects

Custom Effects Engines,
Built for Every Sim.

Each supported sim gets its own dedicated effects engine. Every effect inside that engine is hand-built around what that sim's telemetry actually exposes, so the lockups, the kerbs, the engine and the road all feel like they belong to that car in that sim. Smart effects calibrate themselves to your car and setup where the data allows.

Explained Effect synthesis 9 min read
In this guide

Custom Per Sim.
Tuned Per Effect.
Calibrated To the Car and Track.

Most sim racing haptic software gives you a library of generic effects with configurable filters, frequencies, envelopes and routing. The package handles the audio, the tuning is yours, and a well-spent afternoon in the effects editor produces a usable rig. That model works, and the dominant package built it. The ceiling on that approach is that the effects themselves are sim-agnostic, so the per-sim quirks that make a Hypercar feel different from a GT3 in LMU, or that make iRacing's ABS telemetry behave differently from ACC's, end up papered over by users with custom formulas.

Track Impulse is built the other way around. Each effect is a purpose-built synthesis path with its own carrier frequency, its own envelope shape, its own waveform, and its own input signal derived from the sim. Wheel slip fuses longitudinal slip with a yaw-rate-scaled lateral signal per wheel. Engine rumble has a carrier that scales with RPM. ABS layers a brake-pressure curve, a pulse rate that slows as you press harder, and a carrier that shifts pitch in parallel. Different effects describe different things, and they feel different on the shaker because they are built different, by us, per sim.

The synthesis runs in two stages. A per-sim layer reads the game's shared memory, extracts the right raw signals, and writes amplitude and frequency targets per wheel. A sim-agnostic synthesiser then generates the actual audio: per-effect waveforms, harmonics, envelopes, priority ducking, and eight-zone output routing. The two layers are deliberately separated so that adding a new sim never touches the audio code, and adding a new effect never touches sim code.

What this means in the seat

You can feel which wheel did what, how hard, and why. A slip event on the right rear is on the right rear shaker. An ABS lockup on the front left tells you to ease pedal pressure on the front left, not just that ABS is somewhere active.

Per-Wheel Synthesis.
Not Per-Wheel Routing.

Every effect in Track Impulse is computed independently for all four corners of the car. Wheel slip on the left front is its own signal, derived from that wheel's longitudinal and lateral state. The right rear gets its own. The fronts and rears can be doing completely different things, because in the sim, they are.

Routing per-wheel is the easier half. Most packages get there: a four-corner output mode that maps a left-front signal to a left-front shaker. The harder half is whether the signal itself was computed per-wheel in the first place, or whether a chassis-level number was generated and then routed to the corners. The two feel different on the rig.

Mainstream packages get the easy cases right where the sim publishes per-wheel data directly. Road vibration and suspension typically work. Wheel slip is where things drift, particularly on iRacing, which doesn't publish a slip ratio at all. The standard fallback there is a basic throttle-versus-RPM threshold: effectively on or off, with no per-wheel detail and no awareness of cornering loads. Track Impulse builds slip from dynamic multi-level open-loop calculations per wheel, fusing longitudinal slip with a yaw-rate-scaled lateral signal and an asymmetric envelope that fires the instant grip breaks. The result in iRacing is that an inside front breaking traction under power lights up that wheel only, with the outside silent because it's still loaded and gripping, and the dominant wheel during a kerb strike tells you which side hit harder. No custom formulas, no editing a config file.

Effects that are not naturally per-wheel get spatial logic too. Engine rumble has per-corner detune offsets that add stereo width without making the engine signal louder. The synthesiser exposes eight output zones by default: four corners plus four configurable custom zones, so a seat shaker or a pedal shaker can be assigned its own mix without the user having to build a custom channel map.

Six Sims.
Six Dedicated Engines.

iRacing, ACC, Assetto Corsa, Le Mans Ultimate, AC EVO and AC Rally each expose telemetry differently. The shared memory layout is different, the sample rates are different, the variables that exist and the variables that don't are different, and the signal characteristics of any given car on any given surface are different.

Track Impulse has one dedicated engine per sim. Each engine reads its sim's native shared memory directly. No middleware sits between the game and the haptic engine. Each engine has its own signal-processing logic tuned to the data that sim provides, and the data it doesn't.

iRacing
Event-driven reads from the iRacing SDK shared memory file. Where the sim publishes multiple physics samples per frame, every sample is processed in sequence rather than only the most recent. Suspension runs as a single unified effect covering the full range, from fine road noise up to big chassis hits, with the effect frequency reacting to how sharp each event is and per-lap self-calibration to each car and track. Engine cylinder count is read straight from the session data, so the firing-rate emulation matches whatever car you are in with no manual setup.
ACC
Reads Kunos's native physics and graphics memory pages. Wheel-slip thresholds derived from logged GT3 telemetry across normal cornering and genuine slides so that the effect stays quiet when the car is at grip and fires when it lets go.
Assetto Corsa
Same memory layout family as ACC with AC-specific tuning. ABS detection uses a two-path fallback because AC doesn't always expose reliable wheel speed.
Le Mans Ultimate
Reads S397's native v1.3 memory-mapped API directly. Suspension thresholds auto-scale by car class because a Hypercar hits suspension travel limits that would be a normal bump in a GT3.
AC EVO
Uses Kunos's new packetised shared memory. AC EVO exposes the most advanced telemetry of any sim on the market, and as the title matures we expect its engine to do the most with it. Already runs some of our most advanced suspension and wheel-slip logic. Engine rumble is suppressed entirely for electric cars, because silence is more accurate than fake combustion buzz.
AC Rally
Looser deadzones, wider ranges and a dynamic RPM ceiling tuned for the reality of rally driving: constant high-frequency surface input, much greater suspension travel, and near-constant wheel slip on loose surfaces.
Why dedicated engines instead of a generic adapter

Mainstream packages have per-game telemetry plugins that expose each sim's specific variables. But the effects that consume those variables are mostly written to be sim-agnostic, so the same wheel-slip effect runs on iRacing as on ACC. Sim-specific signals (iRacing's rumblePitch, AC EVO's native roadVibrations, LMU's mGripFract) typically need a user-built custom effect to be put to use. In Track Impulse each engine is built for one sim, so those signals are wired into the effects directly. No user formulas required.

One Effect Per
Phenomenon You Feel.

Effects in Track Impulse are scoped narrowly. Each one describes a single physical phenomenon and is derived from the telemetry that best represents that phenomenon. They are deliberately kept separate so that one event in the sim never triggers two effects at once and so that you can tune the volume, frequency and waveform of each independently.

01 Suspension Impact Per-corner / Chassis movement

Body movement. Roll into a corner, dive under braking, heave over a crest, weight transfer over a kerb apex. The effect tracks the chassis moving as a body, not the wheels hitting things, and it tracks it per-corner so the inside and outside of the car can be doing different things.

In iRacing, suspension is a single unified effect. One signal path covers everything from the smallest road noise up to big chassis hits, with no separate slow and fast bands to balance against each other. The effect's frequency reacts to the sharpness of each event, so a sharp bump lands near the top of the band and a broad rolling chassis movement near the bottom, with your slider setting the centre, and a stiff car naturally pitches higher than a soft one on the same surface. It self-calibrates per car and track over a few laps, learning the range, dead zone and noise floor, so soft cars on smooth tracks tighten up and stiff cars on rough tracks widen. Tuned from logged data, not invented at a desk.

What you feel
The car as a body, not as four wheels. Dive into Turn 1 at Imola and you feel the front-rear weight transfer. Roll into a long left-hander and you feel the load shift across the rig. This is the effect that gives you confidence in committing the car, because you feel the chassis answer.
Where stock effects differ
Stock suspension effects map shock velocity to amplitude on a fixed curve, so a soft car and a stiff car, or a smooth track and a rough one, all run against the same thresholds and the same pitch. Track Impulse calibrates per car and track over a few laps and shifts the effect's frequency by how sharp each event is, so the surface reads differently across cars instead of just louder or quieter against one fixed scale.
02 Kerb Rumble Per-corner / Transient

Sharp, repeating transients from crossing a rumble strip or kerb. A series of distinct hits, not a continuous tone, and routed independently from the suspension impact and road texture so a kerb strike never bleeds into the chassis-movement signal.

iRacing gets a second kerb effect alongside this one, driven by the game's own rumblePitch signal. It has its own volume and routing slider so you can crank either one independently. The result is that a sausage kerb and a flat kerb feel different in iRacing because the game itself signals them differently, and that distinction is carried through to the shaker rather than being averaged away.

What you feel
Per-wheel chatter that rises and falls with how fast and how aggressively you're crossing the kerb. The dominant wheel tells you which side hit harder. The effect cuts cleanly the moment you're off the kerb, because the underlying signal stops.
Where stock effects differ
Stock packages don't typically ship a dedicated kerb effect. Kerb strikes fold into the road impact or suspension effect, sharing those effects' envelope and routing. There's no separate slider for kerb chatter, and no in-game distinction between a sausage kerb and a flat kerb beyond what those general effects pick up.
03 Engine Rumble RPM-driven / Per-cylinder firing

RPM-driven rumble with a carrier frequency that follows revs. Low and slow at idle, tight and high at redline. Optional configurable harmonics add weight to the fundamental so the engine doesn't sound clinical. Per-corner detune offsets give the engine signal stereo width without making it louder, so it sits behind everything else rather than fighting for the rig.

The rumble is also shaped by the car's cylinder count. Track Impulse pulses the engine amplitude at the actual firing rate, revs multiplied by cylinders, so a V8 thrums with a different texture than an inline-four or a V12 rather than every car sharing one generic buzz. In iRacing the cylinder count is detected automatically from the session data; in the other sims it is a manual selector that defaults to six, so you can match it to whatever you are driving.

On AC EVO, the engine effect is zeroed entirely for electric cars. The sim publishes the powertrain type and Track Impulse reads it on the first live frame. Faking an engine on an EV is worse than running silent.

What you feel
The engine winding up rather than just getting louder. Pull through the revs and the actual pitch of what you feel climbs. With harmonics on, it gets the body of a real engine instead of a synth tone. Per-corner detune means it occupies space across the rig rather than hammering you in one place. A V8 and an inline-four feel like different engines, because the rate the rumble pulses at follows the car's real cylinder count.
Where stock effects differ
Stock engine effects scale carrier frequency with RPM, but few expose configurable harmonics on top of the fundamental, so the engine has pitch but not body. None ship per-corner detune offsets, so the engine fights for the same spatial slot in the rig that road and suspension also need. And none pulse the rumble at the engine's actual firing rate, so a four-cylinder and a twelve-cylinder come through as the same tone at different pitches rather than as genuinely different engines.
04 ABS Under Braking Per-corner / Three-layer

ABS in Track Impulse is built as three layered signals, not one flat buzz. The amplitude follows your brake pedal pressure on a curve that arrives at full intensity well before you're at the floor. The pulse rate (the chatter speed of the effect itself) scales with brake pressure too: faster chatter on light brake, deeper thump on hard brake. The carrier pitch shifts in parallel: higher on light brake, deeper on hard brake.

Combined with per-corner architecture, you don't just feel that ABS is active, you feel how hard you're braking and which wheel is on the edge. On sims that expose ABS as a direct signal (LMU, iRacing) we read it natively. On sims where ABS detection has to be inferred (AC, ACC, AC EVO) each engine has its own detection logic tuned for that sim's actual telemetry behaviour rather than a generic threshold.

What you feel
Lockup chatter on the specific corner that's locking. The chatter speed itself tells you how deep you're into the pedal. A diagonal lockup at trail-braking puts chatter on two corners only. You can modulate pedal pressure from feel because the effect changes with what you're doing.
Where stock effects differ
Stock ABS effects fire on a global flag the sim sets when ABS is active. Brake pressure can scale amplitude, but the effect itself is the same on every wheel because the trigger is a single boolean. There's no per-wheel signal saying which specific tyre is on the edge, so you feel that ABS is engaged, not which corner needs less pedal.
05 Gear Change One-shot envelope / Per-corner

A one-shot envelope: sharp attack, brief peak, controlled fall, triggered the moment a gear change is detected in the sim's telemetry. Independent volume, frequency and waveform, completely separated from engine rumble so the shift doesn't ride whatever the engine is already doing.

What you feel
A clean thump on every shift. Per-corner so the effect occupies the rig rather than hitting one place. The envelope is shaped to fall fast enough that it doesn't smear into the engine signal that follows.
Where stock effects differ
Stock packages do ship a separate gear-change effect with its own envelope and routing. The detail that varies is how cleanly the shift is isolated from whatever the engine effect is doing at the moment of the shift, which determines whether the thump feels consistent across the RPM range or louder at high revs and softer at low ones.
06 Wheel Slip Per-corner / Continuous

Wheel slip is intentionally a separate effect from ABS, with its own signal and its own slider. ABS handles lockup. Wheel slip handles loss of traction under power or in a slide. Both can fire at once on the same corner without doubling up because the input signals are different.

On sims that expose a slip ratio directly (ACC, AC EVO, LMU), we read it. iRacing doesn't expose that data, so the per-sim engine derives slip from what the sim does give us: a lateral signal scaled by yaw rate, gated by tyre load so an unloaded inside wheel never reports a slide it can't physically have. There is no longitudinal wheelspin term on iRacing, because the sim never publishes one. An asymmetric envelope means slip arrives the instant the tyre breaks away, but doesn't chatter as the tyre catches and breaks repeatedly at the edge of grip.

What you feel
A continuous, per-corner slip texture that's clearly separate from a lockup. The signal arrives the moment the rear breaks away in oversteer or the inside front lights up under power. It eases off as the tyre hooks back up rather than chattering through the transition.
Where stock effects differ
Stock wheel-slip effects exist as separate effects with continuous output to four corners. The gap is that the underlying calculation typically uses slip ratio alone, ignoring tyre load. An unloaded inside front cornering hard reports high slip but isn't actually breaking away, and the rig fires regardless. The effect ends up reporting events the driver doesn't feel in the car.
07 Road Vibration Per-corner / Continuous

Continuous surface texture, synthesised directly from per-corner shock velocity. Each wheel produces its own signal in real time. Smooth tarmac is a low baseline. Rougher surfaces have more variation. Most users tune this one quiet or off, since the bigger effects above carry the feel of the rig. It ships per-corner all the same, on the wheels that are actually on the surface.

What you feel
A subtle continuous texture under you while the car is moving. Designed to live under the louder effects rather than compete with them. If you don't want it, the volume slider takes it to zero independently of everything else.
Where stock effects differ
Stock road vibration effects route a per-wheel signal to four corners where the sim publishes per-wheel suspension data. They're a per-wheel trigger rather than a per-wheel texture: amplitude scales with shock activity, but the carrier itself is a fixed-frequency tone or filtered noise applied identically across the rig. The honest take is that no haptic package, ours included, makes road vibration the headline effect, because the signal underneath isn't expressive enough to carry the rig on its own.
iRacing bonus — Kerb Native (effect 08)

iRacing publishes its own rumblePitch signal as you cross a kerb. Since v0.6.211, Track Impulse carries this through as an additional eighth effect, completely separate from the suspension-derived Kerb Rumble. Two kerb effects, two independent sliders, two independent zone routings. A sausage kerb and a flat kerb feel different because the game distinguishes them and the synthesiser preserves that distinction.

Every Effect.
Every Parameter.

Effects in Track Impulse are not presets. Every effect exposes its own controls so the result can be matched to your hardware and your taste. Bass shakers and tactile transducers all have different response curves: a Dayton BST-1 has its peak response around 40 Hz, a ButtKicker Gamer 2 covers a wider band, larger tactile transducers respond best at lower frequencies. The same effect dialled to one hardware sounds wrong on another. The fix is to tune the effect to the hardware, not the other way around.

Carrier frequency

Every effect has its own carrier frequency slider. Match the slider to your shaker's resonant peak and the effect lands harder for the same amplitude. Different effect, different frequency, different slider.

Waveform

Per effect: sine, square, sawtooth or noise. Sine is the default for most effects, square is the default for ABS / brake lock because the harder edge reads as a lockup rather than a hum. Switch any effect to a different waveform when the texture calls for it.

Harmonics

Each effect can layer additional harmonics on top of the fundamental, with configurable decay. Engine benefits most from one or two. Other effects default to none. The harmonic stack is per-effect, not global.

Volume

Independent per-effect volume slider, on top of the per-zone master and the global master. So you can crank ABS without lifting the engine, or quiet road texture without losing kerbs.

Eight-zone routing

Route any effect to any of eight output zones: four corners plus four configurable custom zones. Assign a seat shaker to engine and road. Assign a pedal shaker to ABS and slip. No more forcing everything to four corners.

Priority ducking

When multiple effects fire at once, the synthesiser doesn't brick-wall limit them into mush. Each effect has a priority rank. The top priorities get full amplitude, lower priorities scale down so the dominant signal stays clear.

All of these are exposed in the app per-effect, persisted per sim, and shareable as community profiles so other drivers' tuning for your hardware can be imported in a click.

The Software
Tunes Itself to You.

One reason haptic software feels mediocre out of the box is that the thresholds are baked in at build time. A bump on a Hypercar's suspension travel range is enormous on a GT3 in the same sim, because the cars have different physics. A threshold that catches everything on car A misses everything on car B.

In iRacing, Track Impulse self-calibrates suspension thresholds per car, per track. As you drive, the engine collects a streaming distribution of your shock velocity readings. At lap completion, it derives thresholds from that distribution: the deadzone, the activation point, the ceiling. Thresholds can only rise across laps, never fall, so one bad sample lap won't wreck the calibration. The result is stored per car-track combo. The next time you load the same combo, the thresholds are ready.

LMU does something similar at the class level: Hypercar, LMP, GT3 and GTE each get distinct threshold profiles because their suspension behaviour is genuinely different. Unknown classes fall back to a rolling peak with a three-second warmup. ACC and Rally engines apply slip-bias learning during straight-line coasting so that the baseline tyre slip on a given surface doesn't cause constant false-positive ABS firings.

None of this needs configuration. Drive the car normally, the thresholds find themselves.

Out of the Box,
Side by Side.

A summary of how Track Impulse compares to mainstream bass shaker software out of the box, before users start writing custom formulas to plug the gaps. The point of this table is not feature counting, it's that each row represents a different physical experience in the seat.

Property
Track Impulse
Standard bass shaker software
Per-wheel effects
Per-wheel signal for every effect, computed by the engine
Per-wheel where telemetry is direct; custom user formulas needed for ABS, slip and per-wheel lockup
Effect tuning
Hand-tuned per sim, per effect, by the developer
Generic effects library, tuning is the user's job
Carrier frequency
Per-effect frequency slider, configurable per zone
Configurable on most effects, not always per-corner
Waveform selection
Sine, square, sawtooth or noise per effect
Typically one shared waveform
Harmonics
Per-effect count and decay
Rarely exposed
ABS modelling
Per-wheel, with amplitude, pulse rate and carrier pitch all driven by brake pressure
Global trigger; brake pressure typically scales amplitude only
Suspension
Two velocity bands with smooth crossfade (iRacing)
Per-corner where the sim publishes per-wheel data; single band
Wheel slip vs ABS
Separate effects, load-aware slip, per-wheel ABS
Separate effects; slip is typically load-blind, ABS is a global trigger
Per-sim handling
Six dedicated engines, each hand-tuned to its sim's telemetry
Per-game telemetry plugins; effects layer is mostly sim-agnostic
Self-calibration
Per-car-per-track thresholds (iRacing)
Manual sliders only
Output zones
8 zones by default (4 corners plus 4 configurable custom zones)
4-corner preset; 8 channels available via user-built custom channel map
Multi-effect handling
Per-effect priority ducking preserves the dominant signal
Master gain or limiter; effects share headroom
End-to-end latency
As low as 2ms via ASIO
140-200ms typical

The latency row alone is covered in detail at the latency stack explainer. Every other row is the difference between an out-of-box experience built around one sim at a time, and a generic effects library the user is expected to tune for each sim themselves.

Download Track Impulse Free

Install it alongside any existing haptic setup and compare directly. Every effect, every sim, every output zone is available during the beta. Free during beta. No credit card. Set up in under 10 minutes.