How To Create Custom Player Models For Garry’s Mod From Scratch

Your Character, Your Rules

You’re browsing the Garry’s Mod Workshop, downloading the latest anime character or movie hero to play as in your favorite sandbox. It’s fun, but a thought nags at you. What if you could be the character? What if you could walk around as your own original creation, a model you designed from the ground up? The process seems shrouded in mystery, a domain for expert modders with years of 3D experience.

That barrier is more perception than reality. Creating a player model for GMod is a structured, learnable craft. It combines 3D modeling, texturing, and the specific technical rigging that Source Engine requires. While it demands patience and attention to detail, the reward—seeing your unique creation come to life in the physics playground of GMod—is unparalleled. This guide will walk you through the entire pipeline, from a blank canvas in a 3D program to a spawnable entity in your game.

The Foundation: Tools of the Trade

Before you sculpt a single polygon, you need the right software. Your journey will involve three key stages, each with its own essential toolset.

3D Modeling and Texturing Software

This is where your model is born. Blender is the overwhelming community favorite and our strong recommendation. It’s completely free, open-source, and incredibly powerful. Its interface has a learning curve, but countless tutorials exist specifically for Source Engine modeling. Alternatives include Autodesk Maya or 3ds Max (industry standards, but expensive) or even free tools like Wings 3D for simpler models.

For painting textures—the color, details, and wear on your model—you’ll need an image editor. Again, free options excel here. GIMP is a capable Photoshop alternative. For a more painting-focused workflow, Krita is fantastic. You will use these to create color maps, normal maps for fake depth, and specular maps for shininess.

The Source Engine Toolset

This is the non-negotiable bridge between your art and the game. You must have Garry’s Mod installed, which gives you access to the Source SDK through Steam. Navigate to your Steam Library, search for “Source SDK,” and install it. This package contains the critical compilers: Studiomdl (which turns your model data into a playable .mdl file) and Vtex (which compiles textures into the .vtf format Source uses).

You will also need a QC file—a simple text script that tells Studiomdl how to assemble your model, where its textures are, and how it should be animated. We will build this from scratch.

The Final Piece: A Reference SMD

Garry’s Mod player models need to be rigged to a skeleton. You don’t have to create this skeleton yourself. Instead, you extract it from an existing GMod model. Using a tool like Crowbar or the Model Viewer in the Source SDK, you can decompile a standard player model (like “models/player/combine_super_soldier.mdl”) to get its “reference SMD” file. This file contains the bone structure and basic animations that your new model will use.

Sculpting Your Digital Avatar

With software ready, it’s time to create. Open Blender and start a new project. Delete the default cube. Your first, most critical step is to import that reference SMD you extracted. In Blender, go to File > Import > Source Engine (.smd, .vta, .dmx). Select your reference file.

You should now see a simplistic, low-poly model of the GMod skeleton, often in a T-pose. This is your guide. Do not modify these bones. Your entire model must be built around them.

Modeling Around the Bones

Start modeling your character in a separate object. Use the skeleton as a proportional guide. Key bones to note: “ValveBiped.Bip01_Spine” for the torso, “ValveBiped.Bip01_Head” for the head, and the various “Bip01_L_UpperArm” and “Bip01_R_UpperArm” bones for limbs. Your model’s geometry should envelop these bones appropriately.

how to make player models for gmod

Keep your polygon count reasonable. While modern PCs are powerful, GMod is an older engine and often handles dozens of models at once. A good target is 5,000 to 15,000 triangles for a detailed player model. Use Blender’s subdivision surface modifier sparingly for smoothing, but apply it before export to keep the final mesh simple.

Weight Painting: The Magic of Movement

This is the most important step for a good model. Weight painting defines how your model’s vertices (points) move with the underlying bones. If you move the forearm bone, which parts of the sleeve should bend with it? This is controlled by weights.

In Blender, with your model mesh selected and then the armature selected second, press Ctrl+P and choose “With Automatic Weights.” This gives you a starting point. Then, enter Weight Paint mode. You will see your model colored from blue (0 influence) to red (1 influence). Select a bone like “Bip01_L_UpperArm” and paint. The shoulder area should be fully red (weight 1.0), transitioning to blue near the elbow, which will be influenced by the forearm bone. Smooth, graduated weights prevent ugly clipping and distortion during animation.

Creating and Applying Textures

Once your model is weighted, you need to give it color and detail. In Blender, UV unwrap your model. This process flattens your 3D mesh into a 2D image map. Think of it like peeling an orange and flattening the peel. A clean UV map with minimal stretching is crucial.

Export this UV layout as an image. Open it in GIMP or Krita. This is your canvas. Paint the colors, clothing details, skin tones, and wear marks directly onto this template. Save your final texture as a high-resolution PNG or TGA file. You will also need to create a simple normal map (simulating bumps and grooves) and a specular map (defining shininess) for a professional look, though a basic color texture will work to start.

Compiling for the Source Engine

Your beautiful model is just data in Blender. Now we must translate it for GMod. Export your finished, weighted model from Blender. Go to File > Export > Source Engine (.smd). Choose “Export Selected” and save it as “yourmodel_model.smd”. This is your static mesh SMD.

Now, create a new text file and name it “yourmodel.qc”. This QC file is the instruction manual. Open it and input the following base structure, adjusting paths and names:

  • $modelname "yourfolder/yourmodel.mdl"
  • $cdmaterials "models/yourfolder/"
  • $bodygroup "body"
  • { studio "yourmodel_model.smd" }
  • $sequence "idle" "yourfolder/animations/idle.smd"
  • $sequence "walk" "yourfolder/animations/walk.smd"
  • $collisionmodel "yourmodel_physics.smd"

You need to point the $sequence lines to animation SMDs. For a player model, you must include a full set: idle, walk, run, crouch_idle, crouch_walk, swim, jump, etc. You can reference these from the decompiled animations of the standard model you used for the skeleton.

The Final Commands

Place your “yourmodel_model.smd”, your QC file, and your texture PNGs in an organized folder. Your texture files must be converted to VTF format. Use Vtex. The easiest method is to create a text file named “yourtexture.vmt” (the material file) that points to the VTF. A simple VMT for a diffuse texture looks like this:

  • "VertexLitGeneric"
  • {
  • "$basetexture" "yourfolder/yourtexture"
  • "$model" 1
  • }

Now, open a command prompt in your Source SDK bin folder. Run the Studiomdl compiler with the path to your QC file: studiomdl "C:\path\to\yourmodel.qc". If everything is correct, you will see a success message and find a new “yourmodel.mdl” file in the “models” folder of your SDK.

how to make player models for gmod

Testing and Troubleshooting Your Creation

Copy the compiled .mdl file, the accompanying .vvd and .dx90.vtx files, and your material folder into your Garry’s Mod addons directory. A typical path is “steamapps\common\GarrysMod\garrysmod\addons\my_model\models\player\myfolder”.

Launch Garry’s Mod. Open the spawn menu, go to the Players tab. Your model should appear. Spawn it. This is the moment of truth.

Common Issues and Fixes

If your model is a terrifying, stretched mess (often called “broken arms”), the weight painting is incorrect. Go back to Blender and carefully repaint the weights for the offending limbs, ensuring smooth transitions between bones.

If the model is completely black or has a checkerboard pattern, the texture path is wrong. Double-check your VMT file. Ensure the $basetexture path matches exactly where you placed your VTF file, relative to the “materials” folder. Case sensitivity matters on some systems.

If the model doesn’t appear in the spawn menu at all, the QC file’s $modelname path is likely incorrect. It must follow the GMod directory structure, typically starting with “models/player/…”. Also, verify you placed the files in the correct “addons” subfolder.

Beyond the Basics: Adding Polish

Once your basic model works, you can elevate it. Create custom facial flexes for expressions in the Model Viewer. Add physics bones for capes, hair, or tails that jiggle independently. Design team-specific skins (like Red and Blue for Trouble in Terrorist Town) by creating separate texture sets and defining them in the QC’s $texturegroup section. The depth you can add is nearly limitless.

From Concept to Sandbox Staple

The path from an idea to a functioning GMod player model is a series of solved problems. It requires diligence in modeling, precision in weight painting, and accuracy in the technical setup of QC and material files. Each error has a logical solution, often found in the vibrant GMod modding community on forums like Facepunch.

Start simple. Create a recolor of an existing model by just editing textures and the QC file. Then, model a simple hat or accessory attached to the standard skeleton. Gradually work up to a full humanoid figure. The skills you build are transferable to other Source games and even other 3D projects.

Your unique perspective is what the Garry’s Mod workshop lacks. By learning this pipeline, you stop being just a consumer of content and become a creator, contributing your vision to the chaotic, creative world of GMod. Open Blender, import that skeleton, and start building. The sandbox is waiting for your character.

Leave a Comment

close