Koja Scripts
Cloth Tool

Ped Creator

Turn a 3D character, a GTA V ped or a FiveM ped resource into an add-on ped your server can spawn, in five guided steps.

Ped Creator

New in 2.0.8. The Ped Creator turns a character into a FiveM add-on ped: a folder with the model, its textures, peds.meta, fxmanifest.lua and an INSTALL.txt, ready to drop into your server's resources. You can start from a 3D model, from any ped in your GTA V install, or from a FiveM ped resource.

Before you start

  • Open a project. A ped is saved into its project, under peds/.
  • Extract the base ped. The Ped Creator needs the freemode skeleton file from your game. In the main window, go to Settings → Base ped → Reload base ped from GTA V. Until you do, the window tells you, and a built ped would not spawn.

Opening it

Choose Peds… in the app menu (the KOJA logo, top left). You can also open a ped from its card in the Ped Library with Open in Ped Creator, or use Add ped → From a 3D model (Ped Creator)… there.

The Ped Creator opens in a window of its own. The start screen, Peds, lists:

  • New ped from a model…: .glb, .gltf, .vrm, .obj, .stl, .blend, .fbx, .dae or .ply.
  • From the game…: any ped in your GTA V install, by name.
  • From a FiveM resource…: an add-on ped resource folder.
  • Build now: fix, save and build in one click (see Build now and Build several).
  • Saved in this project: your saved peds, each with Build pack…, Show in Explorer and Delete.
  • Recovered: unsaved work kept after a crash (see Crash recovery).
  • Build several…: several saved peds into one resource.

You can also drop a model, a resource folder or a .zip anywhere on the window.

The five steps

The steps run down the left of the window. Ctrl+1 to Ctrl+5 jump between them. A walkthrough plays the first time you open the window; Show me around in the ? menu plays it again.

StepWhat it is for
ModelThe character you are turning into a ped.
SkeletonHow the model's body is attached to the game's skeleton.
MaterialsThe pictures on each part, and which part of the ped each one is.
PreviewWatch it move before building.
BuildSave it and write the folder for your server.

The status strip says what needs attention. Colours mean:

  • Must fix: the build will not work.
  • Check: it works, but may look wrong.
  • A note: good to know.

Labels use plain words. To see the game's bone and component names, switch on Show technical names in the ? menu.

The ped's name

The Model name field at the top of the window is the name your server spawns: lower case a–z, 0–9 and _, starting with a letter, up to 32 characters. A freemode ped's own name is refused, because it would replace that ped for every player. Another ped in the same project cannot share the name.

1. Model

The Model step shows what was loaded: vertices, triangles, materials, and whether it has a skeleton (Mixamo, VRM, Unreal, GTA names, or none). Change model… loads another file. If a ped is already open, the tool asks whether to Replace model (keep the name and overwrite that ped when you save) or start a New ped.

If the ped lies down, faces the wrong way or is the wrong size, open Advanced: orientation & scale to set Forward, Up, Mirror X and Height. A ped from the game keeps the game's own size and pose, so these do not apply to it.

What makes a good model

  • A person-shaped character, standing, facing forward, arms down or out to the sides.
  • One mesh or several. A body, clothes and hair as separate parts are fine.
  • With a skeleton (Mixamo, VRoid, Unity, Unreal), it is matched to the game's. Without one, a skeleton is found from the model's shape and you check a few joints.
  • Textures inside the .glb, or as .png or .jpg files beside the model.

Sources: Mixamo, VRoid Studio (.vrm), Sketchfab (check the licence), or your own work in Blender.

Files that need Blender

.glb, .gltf, .vrm, .obj and .stl are read directly. .blend, .fbx, .dae and .ply are converted with your own copy of Blender, 3.6 or newer:

  • The conversion runs in a sandbox and never touches your Blender settings.
  • It can take a few minutes, and you can cancel it.
  • If Blender is missing or too old, the tool says so. Export the model as .glb and drop that instead.

What is read from the file

  • OBJ: colours, transparency, cut-out maps and texture offsets from the .mtl. An .obj finds a material library with a different name, and textures in a textures, tex or maps folder.
  • glTF: texture offsets, tiling and rotation.
  • GIF, BMP and AVIF textures are read.

2. Skeleton

The model's bones are matched to the game's player skeleton. Mixamo, VRM, Unity, Unreal and GTA bone names are mapped for you. Open the bone map to change any bone by hand.

A model without a skeleton is rigged in the background. Joints the tool could not find on the body are guessed, and Fix joints walks you through them one at a time:

  1. Pick the joint

    The panel names the joint and shows where it sits on the body.
  2. Drag its cross into place

    Drag the cross in the view to where the body bends. Hold Shift to move it nearer or farther, Ctrl to put it on the body's surface, Esc to cancel. Mirror L/R moves the twin on the other side too.
  3. Recompute weights

    When the joints are placed, click Recompute weights so the skin follows them.

The Weight heat-map shows how much each bone moves each part of the model.

3. Materials

Each material becomes one part (component) of the ped, placed by its position on the body. You can choose another part in its row.

  • Pick a texture folder… gives every untextured material the picture named like it in a folder.
  • Read .mtl does the same from an OBJ's material library.
  • Choose… in a row sets a picture by hand. Back to the model's own texture undoes it.
  • Normal map and Spec map per material: taken from the glTF, or chosen by you. A normal map from the model is converted to GTA's convention on save. A picture of your own is used as it is, so it must already follow GTA's convention. Neither is drawn in the preview; both go into the built ped.

A material without a texture becomes one flat colour in game. Plain models get a see-through shader where the texture is clearly transparent.

4. Preview

Play idle, walk, run and jump with the game's own animations, at any speed. Compare with the freemode body shows the freemode ped beside yours. Look for:

  • Feet on the floor, facing forward. If not, go back to Model → Advanced.
  • Elbows and knees bending where they should. If not, Skeleton → Fix joints.
  • No stretched triangles at the armpits or hips. If there are, move the shoulder or hip joint and recompute.
  • A texture on every part. If not, Materials.

5. Build

Build pack… saves the ped and writes its resource folder. See What a build writes.

Starting from a game ped or a resource ped

From the game… lists every ped in your GTA V install, over a thousand. Search by name, for example skater or a_f_y_beach. From a FiveM resource… lists the peds in a resource folder, a .zip or a .ydd.

After you pick a ped, Choose the parts of… lets you pick which drawable and texture each part brings. Then Open in the workbench, or Build now.

These peds keep what makes them themselves:

  • Their own rig and skin weights. Nothing is re-rigged or guessed.
  • Their size, helper bones and face bones. They build with their own .yft.
  • Their textures, normal maps and spec maps, and their own shaders: cut-out hair, see-through parts and decals.
  • A ped based on a game ped keeps its walk style, voice and behaviour in the built pack.

There are exceptions, and the import tells you when they apply:

  • A ped with more than 256 bones, or without a .yft, is fitted onto the freemode skeleton instead.
  • A face the game normally builds from head-blend data is imported as a fixed face.
  • When parts are merged, a part keeps a see-through shader if any merged part was see-through. The build names any shader it could not keep.

Fix everything

Fix everything fixes what the tool can by itself, then lists What was changed and what is Still to check. It can:

  • Merge more than 12 materials into at most 12 parts by body area, combining their textures.
  • Give parts with no texture layout a simple one. For a real texture, unwrap the model in Blender.
  • Stand up a model that is lying down, and turn round one that faces the wrong way.
  • Mirror a model whose left and right are swapped.
  • Move joints that sit outside the body just inside it, and recompute the weights.
  • Attach points that belonged to no bone to the nearest bones.
  • Find textures in the model's folder, and convert textures to PNG.
  • Name the ped.
  • Mark models over 60,000 triangles to be reduced when saved. The preview keeps the full model.

It runs on every model you load. To stop that, switch off Fix everything when a model is loaded in the ? menu.

Build now and Build several

  • Build now fixes what it can, saves and builds in one click. It stops on the step that needs a decision from you.
  • Build several… builds the saved peds you tick into one resource, with one peds.meta and one line for server.cfg. Left empty, Resource name takes the first ped's name. It shows progress and can be cancelled; a cancelled build writes nothing.

What a build writes

FileWhat it is
stream/The ped's model, textures and skeleton.
peds.metaTells the game about the ped.
fxmanifest.luaTells the server about the resource.
INSTALL.txtInstall steps and details.

The build also:

  • Makes distance LODs for the ped automatically.
  • Shrinks textures over FiveM's 16 MB per-file limit, and says which.

Add-on peds spawned as NPCs act as civilians.

Putting it on your server

  1. Copy the folder

    Copy the built folder into your server's resources folder.
  2. Add the ensure line

    Add the line the Build step shows to server.cfg, above any script that spawns peds. Copy ensure line copies it.
  3. Restart and reconnect

    Restart the server. Players must reconnect once so their game downloads the ped, and again after every rebuild.
  4. Spawn it

    In vMenu, use Spawn By Name with the ped's name. Copy spawn snippet gives you the code for a client script.

If the ped does not show up:

  • Invisible, or not there at all: the folder must use the fxmanifest.lua written by the build, and its ensure line must come before any script that spawns the ped.
  • "Model not found": type the name exactly as shown, in lower case.
  • Nothing changed after a rebuild: disconnect and reconnect. The game keeps the old files until you do.

Saved peds can also ride along in a clothing build: tick them under Peds in the main window's build dialog. None are included unless you tick them. See Building.

Animals

Animal peds can be imported from the game or a resource. In the built pack they keep the game animal's own movement, ped type and behaviour. An add-on animal gets the settings of the game animal whose skeleton it matches.

Animals cannot wear freemode clothes.

Crash recovery

Unsaved changes to a ped survive a crash. The next time you open the window, it shows Unsaved ped changes were found and offers Recover or Discard recovery. The session is also listed under Recovered on the start screen.

Limits

The ? menu lists the limits of a ped made from a model:

  • The ped has the game player's skeleton and size.
  • The face does not move.
  • Hands stay stiff when the model was rigged from its shape.
  • No cloth physics or props.

Ped resources are built for GTA V Legacy only for now. See GTA V Enhanced.

Keyboard shortcuts

KeysAction
Ctrl+SSave
Ctrl+Z / Ctrl+YUndo / Redo
Ctrl+1 to Ctrl+5Go to a step
EscCancel a joint drag, put the name back, close the ? menu