GTA V Vehicle Audio Modding: AWC, DAT151, DAT54 Explained
Custom vehicle engine sounds in GTA V require coordinated edits to three file types. Here is what each one does, sourced from community tutorials and Cfx.re docs.
Adding a custom engine sound to a GTA V vehicle is one of the more involved areas of modding. Three different file types have to coordinate: an audio asset (.awc) holding the actual sound samples, and two metadata files (dat151 and dat54) that tell the engine when to play which sample. This post covers what each file is for, sourced from the GTA5-Mods.com tutorial documentation and the Cfx.re community guides.
The three file types
.awc files hold the actual audio waveforms. From the GTA5-Mods documentation: ".awc files are custom audio files that need to be integrated with properly configured .dat54 and .dat151 files for vehicle audio modding."
.dat54 files (commonly seen as sounds.dat54.rel) define the audio sample data. The dat54 file is "where the file paths to the audio files the engine sound profiles use are defined." Under the nametable section in dat54, three sections relate directly to a vehicle's engine sound: an EnvironmentSound section and two GranularSound sections (one for the player vehicle and one for _npc vehicles).
.dat151 files (commonly seen as game.dat151.rel) hold the higher-level audio game data, including hash references that connect a vehicle to its specific dat54 entries.
How they connect
From the GTA5-Mods tutorial: "In the sounds.dat54 file, you search for hash values from the game.dat151 file to find the ContainerName lines that specify which .awc file the vehicle uses for its engine sound."
The chain is:
- vehicles.meta references an
audioNameHashfor the vehicle - That hash is looked up in dat151, which points at audio profile entries
- Those entries reference dat54 sample sets via container hashes
- dat54 entries point at the actual .awc files containing the samples
If any link in this chain is missing or wrong, the engine falls back to a default sound bank.
FiveM-specific data file registration
For FiveM resources that ship custom audio, the data files need to be registered in fxmanifest.lua. Per the FiveM docs and community tutorials, the data file types used for audio are:
AUDIO_GAMEDATAfor dat151 filesAUDIO_SOUNDDATAfor dat54 filesAUDIO_WAVEPACKfor AWC waveform packs
An example registration block would look like:
files {
'audioconfig/myvehicle_game.dat151.rel',
'audioconfig/myvehicle_sounds.dat54.rel',
'audiodirectory/myvehicle.awc',
}
data_file 'AUDIO_GAMEDATA' 'audioconfig/myvehicle_game.dat151.rel'
data_file 'AUDIO_SOUNDDATA' 'audioconfig/myvehicle_sounds.dat54.rel'
data_file 'AUDIO_WAVEPACK' 'audiodirectory/myvehicle'
(The AWC reference in data_file uses the directory name without the extension, which is the FiveM convention.)
The lighter-weight alternative: audioNameHash inheritance
If you do not need a fully custom engine sound, you can simply set audioNameHash in vehicles.meta to the model name of a stock GTA V vehicle whose sound bank you want to inherit. This is a one-line change and requires no AWC, dat151, or dat54 edits. From the GTAMods wiki definition of audioNameHash: "The model name of the vehicle whose sounds are inherited by the vehicle."
This is what most basic vehicle packs do. Custom audio is reserved for builds where matching the real engine note is part of the value proposition.
Tools commonly used
Editing dat54 and dat151 files is not done by hand - they are binary REL formats. Community tools include CodeWalker (an open-source GTA V world editor with audio support) and various dat151/dat54 explorers maintained by the modding community. AWC files are typically built using tools that convert WAV samples to AWC, again with community-maintained utilities.
Sources
Browse the lot
Drag, drop, drive. Lore-friendly originals and curated real-vehicle conversions for FiveM.
