Adding custom ped models to FiveM
Custom peds — characters, animals, mascots, staff models — are popular on roleplay and event servers. They stream like any other asset, but behave differently from the freemode character players normally use: no clothing slots, no face customisation. Knowing that difference prevents most complaints.
Short answer: 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.

#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.