Mods & customization Guide

FiveM ped models: animal names and availability checks

Find FiveM animal ped names, check model availability with a read-only Lua probe, and troubleshoot custom assets without confusing models with entity handles.

Original Magnate concept artwork; not a GTA VI screenshot Original concept artwork · Not game footage

Start with the official ped-model reference

The official Cfx Ped Models page lists names, images and component or prop information. It labels its coverage as July 23, 2019; treat it as a reference, not a complete inventory of every newer build or custom asset. Entries such as a_f_y_runner_01 and player_one are model identifiers, not account names or permanent player IDs.

Record where each identifier came from and which game edition or build you are testing. A screenshot of a model is useful for visual selection, but it does not establish that a custom server has installed every dependency needed by a separate add-on. This guide concerns GTA V through FiveM; it does not claim these identifiers work in GTA VI.

Animal ped model names to check

The table is a small selection from the animal section of Cfx’s reference, checked November 7. It is not an inventory of every animal, a spawn-command list or a compatibility test for your server. Copy the exact identifier, then check it in the game edition and build you intend to support.

Selected GTA V animal ped identifiers
AnimalModel name
Cata_c_cat_01
Huskya_c_husky
Retrievera_c_retriever
Puga_c_pug
Deera_c_deer
Boara_c_boar
Cowa_c_cow
Coyotea_c_coyote
Rabbita_c_rabbit_01
Dolphina_c_dolphin

Read-only client probe for model availability

For your own staging resource, the client-side Lua example below prints two availability checks for three reference identifiers. IsModelValid reports whether a model exists in the game; IsModelInCdimage checks the model against the game archive. These native definitions were reviewed at citizenfx/natives commit c00e0ed83d06dcba2457424ba254fbaa7a05bf7e.

Place this in a client script loaded by your resource manifest and read its output in F8. It does not request streaming, spawn an entity or replace the player model. Magnate has not executed this snippet inside FiveM; the output depends on the actual runtime.

Client Lua: inspect identifiers without spawning peds
local names = { 'a_c_husky', 'a_c_cat_01', 'a_c_deer' }

for _, name in ipairs(names) do
    local model = GetHashKey(name)
    print(('[ped-check] %s valid=%s inCdimage=%s'):format(
        name,
        tostring(IsModelValid(model)),
        tostring(IsModelInCdimage(model))
    ))
end

What a passing availability check does not prove

Two true values do not prove that streaming completes, that the identifier is the intended ped type, or that your framework supports it as a player character. They are a narrower diagnostic step. Keep the original identifier and both outputs when comparing a built-in model with a custom package.

For animal characters, check the intended movement, camera, interaction and animation behavior separately. Do not assume a human clothing component or seated emote has an equivalent on an animal model. Use a synthetic staging character and the supported appearance workflow before considering persistence.

If availability passes but the visual result is wrong, follow the resource that creates or changes the entity. If the appearance is correct until reconnecting, investigate the save-and-restore path. Repeatedly clearing a player’s cache is not evidence that those server-side paths are correct.

Model name, ped handle and player ID are different

A model describes what to load. After spawning, the ped is an entity; the handle used to reference it belongs to the runtime context. Cfx’s networking documentation explains that entity handles are local to a client. Do not assume that sending the same raw handle to another client identifies the same entity there.

This distinction matters in bug reports. “The model is wrong” can mean that a name was mistyped, that spawning selected another model, or that later code acted on the wrong entity. Record the model requested and the observation after spawn separately before changing either part.

Built-in reference versus custom ped package

For an add-on, keep the author’s original archive, installation instructions, license and dependency list. Do not rename files or remove manifest entries simply to imitate a different resource. The package may need configuration or supporting assets that a built-in model does not.

If a built-in model works in the same test workflow and a custom model does not, that comparison narrows the investigation. It does not prove the custom asset is defective: the installation, expected name or supported build may differ. Use a test environment and restore point rather than replacing live community resources during a session.

A model-loading investigation worksheet
CheckEvidence to record
Exact requested modelIdentifier copied from reference or author instructions
Resource stateStartup result and relevant console messages
DependenciesNames and versions required by the package
Controlled comparisonBuilt-in model using the same spawn workflow
Observed resultMissing entity, wrong appearance or later replacement
EnvironmentGame edition, build and resource versions

Follow the loading lifecycle without freezing the client

Cfx’s introductory scripting tutorial demonstrates validating an asset, requesting it, yielding while waiting for loading, creating an entity and releasing no-longer-needed references. Its example is a vehicle, so do not copy its vehicle-type validation as a ped check. Use the appropriate ped-native reference for the implementation you are building.

In your own diagnostic code, use a finite wait with a clear failure message instead of waiting forever for an unavailable name. Keep a record of which stage failed. This is an implementation recommendation, not a claim that Magnate has benchmarked a universal timeout or tested every custom package.

Keep appearance and persistence tests separate

First establish whether the intended model appears in a minimal test. Then test how your framework applies clothing, saves identity and restores the character after reconnecting. Adding all those systems at once makes a failure harder to localize.

For a useful maintainer report, include a short reproduction sequence, requested identifier, resource version and relevant logs. Preserve private player information and credentials. An approved asset license and working GTA V installation also do not establish permission or compatibility for a future GTA VI version.

Questions, answered.

Does a listed animal model work on every FiveM server?

No. Check availability in the actual runtime, then test the intended character, movement and interaction workflow. A reference entry alone does not prove compatibility.

Are FiveM ped model names player IDs?

No. A model identifier names an asset. Player identifiers and spawned entity handles serve different purposes.

Does the official reference include every custom ped?

Use the custom package author’s documentation for its names and requirements; do not assume a built-in reference catalogs third-party assets.

Sources & editorial notes

Source review: November 7, 2026. Platform announcements can change. This guide separates published facts from Magnate’s original analysis and preparation advice.

  1. Cfx Documentation — Ped Models Built-in ped model reference.
  2. Cfx Documentation — Network and Local IDs Entity handles and network identity distinctions.
  3. Cfx — Creating your first Lua script Official resource structure and development introduction.
  4. CitizenFX natives — pinned IsModelValid Native definition: whether the specified model exists in the game.
  5. CitizenFX natives — pinned IsModelInCdimage Native definition: model archive check; not a spawn or compatibility test.

Published by an independent editorial brand. Read our editorial standards.

Find your next move

Search the Magnate guide library.

Browse every guide