Adding a custom ped model to FiveM
An add-on ped is a resource with the model files (.yft, .ydd, .ytd, and often a .ymt) in stream/ and a peds.meta declared with data_file 'PED_METADATA_FILE'. Players switch to it with SetPlayerModel after RequestModel. Add-on peds do not use the freemode clothing system, so appearance menus cannot dress them. Restrict ped menus with ACE and keep file sizes reasonable.
A custom ped in FiveM is a resource: the model files in stream/, a peds.meta declared in the manifest, and SetPlayerModel to put a player into it. Add-on peds — characters, animals, mascots, staff models — stream like any other asset, but they behave differently from the freemode character players normally use: no clothing slots, no face customisation. Knowing that difference prevents most of the complaints.

#The resource
fx_version 'cerulean'
game 'gta5'
files { 'peds.meta' }
data_file 'PED_METADATA_FILE' 'peds.meta'
-- stream/ holds the ped's .yft, .ydd, .ytd (and .ymt if supplied)#Switching to the ped
local function setPed(name)
local model = joaat(name)
if not IsModelInCdimage(model) then return print('model not found: ' .. name) end
RequestModel(model)
while not HasModelLoaded(model) do Wait(0) end
SetPlayerModel(PlayerId(), model)
SetPedDefaultComponentVariation(PlayerPedId())
SetModelAsNoLongerNeeded(model)
end
RegisterCommand('ped', function(_, args) setPed(args[1]) end, true) -- restrictedSetPlayerModel replaces the player’s ped, so PlayerPedId() returns a new handle afterwards. Re-apply weapons, health and armour if your scripts expect them.
#Freemode vs add-on peds
| Freemode ped | Add-on ped | |
|---|---|---|
| Clothing slots | Yes (and add-on clothing) | Only what the model defines |
| Face/hair customisation | Yes | No |
| Appearance menus | Work | Mostly do not |
| Typical use | Every normal character | Events, staff, animals, special roles |
For uniforms and outfits, use add-on clothing on freemode peds instead — see add-on clothing and EUP.
#Ped menus and permissions
Ped menus are fun and easily abused (tiny peds, invisible animals in PvP). Restrict the command with ACE — add_ace group.admin command.ped allow — or allow specific peds per player through your ped menu’s config. See ACE permissions.
Questions
How do I add a custom ped to FiveM?
peds.meta with data_file 'PED_METADATA_FILE', and switch to it with SetPlayerModel.Why can I not change clothes on my custom ped?
Why does my ped not load?
Can I restrict peds to certain players?
Ready to pick a map?
Twelve themes on three base map styles, $8 each, instant download.
Relevant to what you just read
Look it up while you work
The reference tables this guide leans on, free and without an account.
- All 860 ped model namesEvery model GetHashKey resolves, with its hash and how many clothing components and props it carries.
- The map modding glossary38 terms — file formats, radar parts, framework words — each with a one-line answer first.
- The same tables as JSON and CSVFree downloads, CORS open, no account and no API key — ship the list inside your own resource instead of scraping a page.