Documentation · Any Car Engine 1.0

Any Car Engine Documentation

How to hear the ten included engines, put one in your car, tune it into your own and add recordings if you have them. Sections 1 and 2 get a car running; the rest is there when you want to go further.

Get Any Car Engine →

1 · Listen first

Audition an engine before it touches a car

  1. In the Content Browser, open Settings and tick Show Plugin Content, then go to Plugins > Any Car Engine > MetaSounds.
  2. Open MS_AxCarEngineSound and press Play in the MetaSound editor.
  3. Turn the AxCar.RPM and AxCar.Throttle knobs. Hold Throttle up with RPM at the top to hit the limiter, then drop Throttle to hear the overrun crackle.
  4. Under Members, select AxCar.Profile and change its default to another DA_AxCarEngine_ profile to compare engines.
MS_AxCarEngineSound MetaSound with RPM, throttle, gear and other inputs wired to the Car Engine Sound node

Profiles or MetaSound missing? In the Output Log, switch the box to Cmd and run py "<plugin folder>/Scripts/CreateCarEngineContent.py". It recreates the ten profiles, the MetaSound and the attenuation, and leaves any that already exist alone.

2 · In your car

Add the component to a Chaos vehicle

  1. Open your vehicle Blueprint and click Add > Ax Car Engine Sound. Attach it to the mesh near the engine.
  2. In its Details, set Sound > Profile to one of the ten profiles.
  3. Under Input, open Chaos Vehicle Reference and pick the vehicle's movement component (VehicleMovementComp on a Wheeled Vehicle Pawn).
  4. Press Play and drive. RPM, throttle and gear are read every tick, with nothing to wire in Blueprint.

▾ Ax Car Engine Sound

Sound > Profile The engine this car uses
Sound > Emitters Where the sound plays: one emitter at the component by default
Sound > Play On Begin Play Starts the sound with the game (on by default)
Input > Input Mode Direct reads a vehicle or your values; Simulated works RPM out from speed
Input > Chaos Vehicle Reference The Chaos vehicle to read in Direct mode

Only know the vehicle at runtime? Call SetChaosVehicle once instead, for example on BeginPlay or when the player possesses the car.

3 · Chaos settings

Give the gearbox the same rev range as the engine

The sound follows the RPM that Chaos reports, so the vehicle movement component has to cover the profile's range. Set these on the movement component:

▾ Vehicle movement component

Engine Setup > Engine Idle RPM The profile's Idle Rpm
Engine Setup > Max RPM The profile's Limiter Rpm
Engine Setup > Torque Curve Keys from idle all the way up to Max RPM
Transmission Setup > Change Up RPM About 94% of Max RPM
Transmission Setup > Change Down RPM Below Change Up RPM ÷ the largest step between gear ratios

Car jumps from 1st to 4th, or never reaches the shift point? The vehicle template's OffroadCar_TorqueCurve is an External Curve shaped for 5000 RPM, and it overrides the inline keys: clear it or replace it. Keep Change Up RPM near the top of the range, because Chaos free-revs to about 40–50% of Max RPM during a gear change. When you raise Max RPM, raise Final Ratio and lower Max Torque by the same factor so the car keeps its speed and pull.

4 · Other vehicles

Feed the engine from your own vehicle code

Direct: send the values

Leave Chaos Vehicle Reference empty and call SetEngineInputs every tick with RPM, Throttle (0–1) and Gear. Gear 0 is neutral and negative gears are reverse. Only changed values are sent on, so calling it every frame costs almost nothing. Reading gears from Chaos yourself? Use GetCurrentGear, not GetTargetGear.

Simulated: send only the throttle

Set Input Mode to Simulated and call SetThrottle. The component reads the car's forward speed and runs a small automatic gearbox, with gear ratios, final drive, wheel radius, launch slip and shift points under Simulation. If the actor's velocity isn't the car's speed, pass it in with SetVehicleSpeed.

5 · Blueprint control

Start it, stop it, move the camera inside

▾ Ax Car Engine Sound functions

StartEngine Crank, catch and settle into idle
StopEngine Switch off and spin down
SetInterior (0–1) Cabin sound while the camera is inside the car
SetBoost (0–1) Turbo boost, when the profile's Boost Source is Input
TriggerBackfire A burst of pops, for anti-lag or a scripted moment
SetProfile Swap the whole engine at runtime
OnBackfire (NumPops, NumBangs) Fires after pops were heard: spawn exhaust flames here

Whether the car spawns running is set by Input > Engine Inputs > Ignition. Pops on lift-off, upshifts, downshifts and at the limiter happen by themselves; TriggerBackfire is only for extra ones.

6 · Your own engine

Turn a preset into an engine of your own

  1. Duplicate the closest DA_AxCarEngine_ profile, or create one with Add > Miscellaneous > Data Asset > Car Engine Sound Profile.
  2. To jump to a different engine type, choose Preset > Preset To Apply and click Apply Preset. It replaces the synthesis settings, keeps your samples, and can be undone.
  3. Play in the editor and drive while you change settings. Every car using the profile updates at once, without restarting.

▾ Where a car's character lives

Engine > Layout The firing rhythm: the biggest single choice
Engine > Control Idle, limiter, fuel cut and shift cut
Synthesis > Exhaust Pipe lengths and muffler, where most of the character is
Synthesis > Combustion Pulse sharpness, rasp and how uneven the engine runs
Events > Backfire When it pops, how often and how loud
Accessories Turbo, supercharger and gearbox whine
Mix > Mix, Interior Layer levels and the in-cabin sound

▾ Layout → what you hear

Inline4 Buzzy: hot hatches and economy cars
Inline6 Smooth and even
V8CrossPlane Uneven pulses per bank: the muscle-car burble
V8FlatPlane Even pulses per bank: a high-revving scream
Flat4 Boxer; raise Header Length Spread to about 0.4 m for the rumble
Rotary2 Two-rotor Wankel
Custom Your own cylinders: firing angle, bank and header length each

Three settings move the sound the most. Muffler Low Pass Hz goes from stock (1500) to sport (3500) to open pipes (9000). Drive adds saturation: 1 is clean, 3 and up is raspy. Keep Collector Reflection below about 0.6, or the exhaust starts sounding like a tube.

7 · Recordings

Blend in your own recordings

A profile can play recordings alongside the synth or instead of it. Import WAV files as Sound Waves and add them under the profile's Samples. They're baked into the asset as compact mono audio when you change them, or with Bake Samples; then save. The original Sound Waves stay editor-only and aren't packaged because of the profile.

Loop sets

Steady-RPM files, the format most engine libraries ship: every 500 RPM below 3000 and every 500–1000 above, 3–8 seconds each. Record on load and off load. For each set, choose Load, Perspective (Exterior or Interior) and Stem (Exhaust or Engine).

Ramps

One slow sweep from idle to the limiter, 10–30 seconds long. It's cut into grains of exactly one engine cycle and replayed at whatever RPM the car needs, so it sounds natural everywhere. Set the profile's Layout first, then check the RPM range in the Bake Report.

One-shots

Pops and Bangs (add several of each; one is picked at random), Blow Offs, Start and Stop. For a Start recording, set Starter > Start Sample Catch Time to the moment the engine catches.

A good mix for a recorded car: loops or ramps at 0 dB, Synth Exhaust at −12 to −18 dB for low-end punch, and synthesized pops and turbo on top. When the exhaust recordings should carry the sound alone, turn off Mix > Synthesize Exhaust.

Ramp RPM off by a factor of two in the Bake Report? The pitch tracker locked onto a harmonic. Narrow Min Rpm and Max Rpm, or set Rpm Mode to Linear and enter the start and end RPM yourself.

8 · Going further

Two emitters, your own MetaSound, crowded grids

Engine bay and tailpipe

Duplicate MS_AxCarEngineSound twice. In the front copy, add Out Engine and Out Accessory together into the output; in the rear copy, use Out Exhaust. Add both under Emitters, at the engine and at the tailpipe, with Report Backfires on for the rear one only.

Your own MetaSound

Any MetaSound Source works if its inputs use the AxCar names: Profile, Ignition, RPM, Throttle, Gear, Boost, Interior and Backfire. Missing ones are skipped. Put EQ, compression or reverb after the Car Engine Sound node. Building one by hand? Set the AxCar.RPM input's Range to 0–10000.

Lots of cars

Each engine peaks below 1.5% of a CPU core. For big AI fields, give background cars a lighter profile: turn off Synthesize Mechanical and the transmission whine, and use the MetaSound's virtualization settings.

Stuck on a car? Tell us which engine you're after and what you're hearing, and we'll help you get there.