Loading screens for FiveM
The one screen every player sees on every connect. Drag widgets onto a canvas, drop in a video background, and point your server at a single URL we host.
FAM-261023-261025-UL4B9this weekendTick it in your cart Halloween Edition36 maps, limited runlimited runShop the drop FREE TOOL · PlaySoundFrontend
Every sound name GTA 5 ships, with the sound set it is filed under — 2,202 pairs, 1,872 distinct names across 498 sets. Search either half, filter to one set, and copy the name, the set, or a PlaySoundFrontend call that is ready to paste. The pairing is the useful part: a name on its own plays nothing.
Names from the publicly published GTA V data dumps. 563 of the rows have no sound set in the dump and are shown as such; 142 names appear under more than one set.
Showing 300. Filter by set or type a fragment to get to a short list faster.
There is no audio on this page, and that is deliberate. No free, redistributable copy of GTA 5’s audio exists — it belongs to Rockstar — so hosting or hotlinking it would be infringement, whatever it did for our traffic. The names and sets here are the reference; the game is the player. Paste the test command below into a resource and you can hear any row in about ten seconds.
HOW TO USE IT
Get the sound audible as a flat 2D frontend sound first. Placement is a separate problem and debugging both at once is what eats the afternoon.
Filter by sound set, or search a name and read which set it came out of. Copy both, or copy the finished call.
PlaySoundFrontend with a sound id of -1 is the cheapest test there is: no entity, no coordinates, no range to get wrong.
When you can hear it, swap in PlaySoundFromEntity or PlaySoundFromCoord. Debugging placement and name resolution at the same time is how afternoons disappear.
GetSoundId, then StopSound and ReleaseSoundId. For a one-shot UI blip, -1 and nothing else.
Client-side. /soundtest SELECT HUD_FRONTEND_DEFAULT_SOUNDSET — the sound id is only taken when the script wants to wait for the sound to finish, and it is released afterwards.
local function playUi(name, soundSet)
PlaySoundFrontend(-1, name, soundSet, true)
end
playUi("SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
RegisterCommand("soundtest", function(_, args)
local name, soundSet = args[1], args[2]
if not name then
print("usage: /soundtest NAME [SOUNDSET]")
return
end
local id = GetSoundId()
PlaySoundFrontend(id, name, soundSet, true)
CreateThread(function()
while not HasSoundFinished(id) do
Wait(100)
end
ReleaseSoundId(id)
end)
end, false)THE THREE NATIVES
All three resolve the name and the set identically. What differs is where the sound exists in the world — and therefore who can hear it.
PlaySoundFrontend(soundId, audioName, audioRef, p3)Plays flat in the player’s ears at the same volume wherever they are standing. This is the one for interface noise: a menu click, a countdown beep, a mission-passed sting, a notification. It has no position, so distance, walls and camera direction change nothing.
Because it is not positional, nobody else hears it. Every player who should hear a frontend sound needs their own client to call it.
PlaySoundFromEntity(soundId, audioName, entity, audioRef, isNetwork, p5)Anchors the sound to a ped, vehicle or object and follows it. Volume falls off with distance and the sound pans as the player moves around it, which is what you want for a machine, a radio, a door or an alarm on a specific thing.
The entity has to exist on the client doing the playing. Pass an entity the client cannot see and you get silence rather than an error.
PlaySoundFromCoord(soundId, audioName, x, y, z, audioRef, isNetwork, range, p8)Pins the sound to a fixed point with an explicit audible range in metres. Use it when there is nothing to attach to: a spot on the ground, a planted charge, a point inside a building.
The range argument is a real cutoff. Leave it at 0 and the sound is effectively inaudible, which looks exactly like a wrong sound set.
Client-side. The 30 on PlaySoundFromCoord is the audible range in metres — it is a real cutoff, not a hint.
local name, soundSet = "Beep_Red", "DLC_HEIST_HACKING_SNAKE_SOUNDS"
PlaySoundFromEntity(-1, name, PlayerPedId(), soundSet, true, 0)
local x, y, z = 195.2, -933.8, 30.7
PlaySoundFromCoord(-1, name, x, y, z, soundSet, true, 30, false)Signatures from the FiveM native reference: PLAY_SOUND_FRONTEND, PLAY_SOUND_FROM_ENTITY and PLAY_SOUND_FROM_COORD.
WHEN NOTHING PLAYS
None of them produce an error. The natives return void and the console stays empty, which is why a wrong sound set can cost an hour.
A sound name is only looked up inside the set you pass. If the name is not in that set the native does nothing at all: no error, no console line, no return value to check. That is the whole reason this page exists — the pairing is the data, not the name on its own.
SELECT, BACK, CANCEL, Hack_Success and 138 other names appear under more than one sound set, with different audio behind each one. Copying SELECT out of a tutorial and pairing it with the set your own menu happens to use is the most common way to get the wrong click, or no click.
A large number of the mission and DLC sets only exist in memory while their audio bank is loaded. If a name and set pair is right and still silent, request the bank first with RequestScriptAudioBank and try again once it returns true.
Pass -1 as the sound id for fire-and-forget playback. Only call GetSoundId when you intend to stop, move or query the sound later, and call ReleaseSoundId when you are done — ids are not recycled for you, and a script that leaks them eventually stops getting new ones.
Client-side. Many mission and DLC sets only exist in memory while their bank is loaded. If a correct pair is still silent, this is the next thing to try.
local bank = "DLC_HEIST_HACKING_SNAKE_SOUNDS"
if not RequestScriptAudioBank(bank, false) then
local tries = 0
while not RequestScriptAudioBank(bank, false) and tries < 100 do
Wait(50)
tries = tries + 1
end
end
PlaySoundFrontend(-1, "Beep_Red", bank, true)REQUEST_SCRIPT_AUDIO_BANK returns true once the bank is resident, and GET_SOUND_ID says in its own documentation that ids are not cleaned up for you — pass -1 unless you genuinely need to stop or query the sound later.
ONE MORE THING
HUD_FRONTEND_DEFAULT_SOUNDSET contains both BACK and Back, and both CONTINUE and continue. They are separate entries in the game data.
Copy the name from a row here rather than retyping it, and keep the capitalisation exactly as it appears. One row in the dump — Click_Special — even carries its sound set with a leading space in the game data; it is shown trimmed here, because a leading space would be a broken string literal in Lua. Nothing else on this page has been altered: no name was renamed, merged or invented, and a pair that is not in the dump is not on this page.
QUESTIONS
Every ptfx effect with its asset, and the loading step that makes the difference between a plume and nothing at all.
Animation listEvery dictionary and clip the game ships, with a RequestAnimDict and TaskPlayAnim block for whichever one you pick.
All the free toolsThe map, the flag calculators, and every reference table on this site.
Names from the publicly published GTA V data dumps. The audio itself is the property of Take-Two Interactive and Rockstar Games — see our trademark and IP notice.
ALSO FREE
Picked because they touch the same files, natives or part of the game.
FROM THE SHOP
The free tools and the paid work come out of the same place. These are the lines closest to what this page is about.
Grand opening: 25% off every product with FAM-261023-261025-UL4B9, until 25 October. It is applied at checkout.
The one screen every player sees on every connect. Drag widgets onto a canvas, drop in a video background, and point your server at a single URL we host.
Twelve colour palettes across three base map styles, each one a drop-in resource. Add your logo and your district labels in the editor.