Rigging in Blender: How to Rig a Character for Games
Rigging in Blender means giving a 3D model a skeleton so it can be posed and animated. You build an armature (Blender's name for a skeleton), connect the mesh to it, paint how much each bone moves each part of the mesh, and add controls that make the rig easy for an animator to use. For games, there is one more step: the rig has to export cleanly into an engine such as Unreal Engine.
This guide walks you through that process for a game character. It explains the terms as they come up, shows where beginners usually get stuck, and covers both building a rig by hand and using Rigify, the auto-rigging add-on that comes with Blender. If you want the bigger picture of what rigging is and who does it in a studio, start with our guide to 3D rigging.
What you need before you start rigging
Most rigging problems start before the first bone exists. Check these four things on your model first.
- Clean topology around joints. Topology is the flow of polygons across the mesh. Shoulders, elbows, knees, wrists and hips need enough edge loops (rings of edges) to bend without collapsing. A low-poly game character can get away with few loops elsewhere, but not at the joints.
- A neutral pose. Model the character in a T-pose or A-pose, with a slight bend at the elbows and knees. This makes it much easier for bones and automatic weights to line up.
- Applied transforms. In Object Mode, select the mesh and use Object > Apply > All Transforms (Ctrl+A). A mesh with unapplied scale or rotation often deforms strangely once it is rigged.
- A sensible origin and real-world size. Place the character's feet at the world origin and make sure it is the right height. This saves scale problems later when you export to a game engine.
Step 1: Build the armature
An armature is an object made of bones. Each bone has a head (the end it rotates from) and a tail. Bones are linked in a hierarchy: move the upper arm and the forearm and hand follow, because they are its children.
Adding and extruding bones
- In Object Mode, press Shift+A and choose Armature (or Armature > Single Bone if Rigify is enabled). Blender adds a single bone at the 3D cursor.
- Press Tab to enter Edit Mode on the armature. Move that first bone into place as the hips or pelvis.
- Select the tail of a bone and press E to extrude a new, connected bone. Work up the spine to the neck and head, then out along each arm and down each leg.
- In the Viewport Display settings of the armature, turn on In Front so you can see the bones through the mesh.
Naming and symmetry
Name bones as you go. Use a clear suffix for each side, such as upper_arm.L and upper_arm.R. Blender recognises these suffixes, so you can build one side, then use Armature > Symmetrize to create the other. Good names also matter later: game engines, animation retargeting and other artists all rely on them.
One root bone
For games, the whole skeleton should hang from a single root bone, usually placed at the floor between the feet. Epic's documentation notes that the pivot point of a skeletal mesh is always located at the root bone of the skeleton (FBX Skeletal Mesh Pipeline in Unreal Engine). To add one, create a bone at the floor, then select the hips bone, Shift-click the root and press Ctrl+P > Keep Offset. A root bone also gives gameplay animators something to drive for movement through the level.
Step 2: Connect the mesh to the armature (skinning)
Skinning is the process of attaching the mesh to the skeleton so that bones deform it. In Blender the quickest way is parenting with automatic weights.
- In Object Mode, click the mesh, then Shift-click the armature so it is the active object.
- Press Ctrl+P and choose With Automatic Weights.
Blender adds an Armature modifier to the mesh and creates a vertex group for each deforming bone, with the same name as the bone. A vertex group is a list of vertices, each with a weight that controls how strongly that bone moves it. Automatic weights give you a starting point, not a finished result. Select the armature, press Ctrl+Tab to enter Pose Mode, and rotate a few bones to see how the mesh follows before you start painting.
If parenting fails with an error that bone heat weighting could not find a solution, the usual causes are overlapping or disconnected mesh parts, duplicate vertices, or a model that is very small. Merging duplicate vertices, or temporarily scaling the model up and applying the scale, often fixes it.
Step 3: Weight painting
Weight painting is where you correct how each bone affects the mesh. Select the armature, Shift-click the mesh, switch to Weight Paint mode, then Ctrl+click a bone to paint its weights. Weights run from 0 (no influence) to 1 (full influence). Blender shows them as colour: blue means 0, red means 1, with green and yellow in between.
How to paint weights well
- Pose while you paint. Rotate a bone into an extreme pose, such as a raised arm or a deep knee bend, then paint until the deformation looks right. Weights that look fine in a T-pose often fail in motion.
- Turn on X symmetry. Enable the X axis in the Symmetry options of the Weight Paint header. With symmetrical naming in place, this saves half the work.
- Normalise. The weights on each vertex should add up to 1. Use Weights > Normalize All so no vertex is pulled by more than 100% in total.
- Limit influences. Game engines can cap how many bones may influence one vertex. Use Weights > Limit Total to keep each vertex to a small number of bones, then clean up with Weights > Clean to remove tiny, useless values.
- Watch the problem areas. Shoulders, hips, wrists and the neck need the most care. Rigid parts, such as armour plates, should usually be weighted 100% to a single bone so they do not bend like cloth.
Step 4: Add controls (IK and FK)
A skeleton that deforms well is still hard to animate if every bone has to be rotated by hand. Controls fix that.
FK (forward kinematics) means you rotate each bone down the chain: shoulder, then elbow, then wrist. It suits swinging arms and loose motion.
IK (inverse kinematics) means you move the end of the chain, such as a foot, and Blender works out the angles of the bones above it. IK keeps feet planted on the ground and hands placed on objects. In Pose Mode, add an Inverse Kinematics bone constraint to the lower leg, set its target to a separate foot control bone, and set the chain length to 2 so it affects the shin and thigh. Add a pole target, a small bone in front of the knee, to control which way the knee points.
Control bones should not deform the mesh. Untick Deform in the bone properties for every control and helper bone. This becomes important at export.
Using Rigify to rig faster
Rigify is Blender's auto-rigging system. The Blender manual describes it as automatic rigging from building-block components and confirms that the add-on is bundled with Blender (Rigify, Blender Manual). To switch it on, go to Edit > Preferences > Add-ons and search for Rigify.
The workflow has three steps:
- Add a meta-rig from Add > Armature, for example the human meta-rig.
- Edit the bone positions to match your character. The Rigify basics page advises keeping the legs as straight as possible in the front view and giving the knee and elbow a slight bend.
- Click Generate Rig in the armature properties. Rigify builds a full rig with IK and FK switching, a spine, hands and face controls.
Then parent the mesh to the generated rig with automatic weights and paint as before.
Rigify and game engines
A generated Rigify rig contains many bones. Only some of them deform the mesh (they start with DEF-); the rest are controls and mechanism bones. A game engine only needs the deform skeleton, but Rigify's deform bones are parented through those helper bones, so check the exported hierarchy carefully. For game work, artists often export only the deform bones, or build a simpler game skeleton that copies the motion of the Rigify rig. One catch: Rigify's root bone is a control, not a deform bone, so Only Deform Bones on its own will leave your game skeleton without a root. Tick Deform on it, or use a separate game skeleton. Whichever you choose, test the export early rather than after a week of animation.
Step 5: Export the rig to a game engine
Most game pipelines move rigged characters from Blender to the engine as FBX files. Before you export, run through this list:
- Triangulate, or check the engine will. Epic notes that meshes in Unreal Engine must be triangulated because graphics hardware only deals with triangles, and recommends triangulating in your 3D application for more control (same Epic page).
- Only Deform Bones. In Blender's FBX exporter, this option leaves control bones behind so the engine receives a clean skeleton.
- Add Leaf Bones. This option adds an extra bone at the end of every chain. Most game artists turn it off, as the engine does not need those bones.
- Scale. Blender and Unreal Engine use different default units. Blender works in metres and Unreal Engine in centimetres, so a common first-export problem is a character arriving at the wrong size or with a scaled root. The setting to look at is Apply Scalings in Blender's FBX exporter (FBX Units Scale is a common choice), which stops the armature arriving in Unreal with a 100x scale on its root. Import a test character, check its size against the engine's default mannequin, and once the size is right, keep the same settings for every export.
- Extra root bone. Unreal often imports the armature object itself as an extra root bone. Naming the armature object "Armature" is the usual fix.
Once the skeletal mesh is in the engine, open it, scrub through an animation and check the joints again. Problems that were hidden in Blender's viewport, such as stray weights or flipped bones, show up quickly in a real game camera.
Common rigging mistakes in Blender
- Rigging before applying scale. Bones and weights behave oddly. Apply transforms first.
- Bones with inconsistent roll. Roll is the rotation of a bone around its own length. Mixed roll values make rotations unpredictable for animators. Use Armature > Bone Roll > Recalculate to fix them.
- Control bones set to deform. They pull on the mesh and clutter the exported skeleton.
- Renaming bones after animating. Blender updates the actions linked to the rig, but animations already exported to the engine, retargeting setups and unlinked actions still rely on the old names.
Where rigging fits in a game studio
In a game team, rigging usually sits with technical artists or dedicated riggers. They sit between character artists and animators, and often write small Python tools. The concepts you learn in Blender carry over to Maya, which many studios use for rigging. If that bridge between art and code appeals to you, read our guide to what a technical artist does.
Learn rigging as part of a game team
If you are new to 3D, start with the Free 3D Bootcamp: six live one-hour online sessions over three weeks, in Blender and then Unreal Engine, with no experience needed. If you are ready to commit, the Games certificate is a 60-week online programme where you try 3D Art, Tech Art, Animation and Procedural before choosing your specialisation, and work in teams on a walkable environment, a playable level and a vertical slice. The Tech Art specialisation covers rigging in Maya and Python.
