How to turn a text prompt into a rigged, animated game character (Unity, Unreal, Godot)

By Maxime Gastaldo, founder, gripforge · · 6 min read

A static AI mesh is not a character. Here is the full path from a one-line prompt to a rigged, animated GLB with the weapon in its hand, and how to drop it into Unity, Unreal or Godot.

Text-to-3D generators have become good at one thing: giving you a mesh that looks like the prompt. That mesh is a picture you can orbit around. It is not a character. A character walks, attacks, holds a sword and dies, and each of those verbs needs work that a mesh generator does not do.

This guide walks the whole path, from a prompt to a character running in your engine, and shows where each step goes wrong when it is skipped.

1. Write a prompt that produces a riggable body

Automatic rigging wants a body it can read: front-facing, standing, arms slightly away from the torso, legs apart, no cape covering the legs, no weapon fused to the hand. Almost every failed rig we see traces back to the concept, not the rigger.

A prompt that works:

Stylized female ranger, low poly, front view, standing straight,
arms slightly apart from the body, legs shoulder-width, empty hands,
short cloak above the waist, game character, neutral expression

What to leave out: "dynamic pose", "holding a bow", "action shot", "side view". Each of those produces a shape the rigger cannot map onto a humanoid skeleton. GripForge generates a concept image first and checks it against these rules before spending a 3D generation, because the cheapest failed rig is the one you never run.

2. Generate the mesh at a game budget

The mesh should be generated at the polygon budget your game will ship, not decimated afterwards. Decimation smears the silhouette on hands, faces and hair, exactly where players look.

TargetTriangles per characterTexture
Mobile, many characters on screen6,000 to 10,0001,024 px
PC / console, third person20,000 to 40,0002,048 px
Hero close-ups, cutscenes60,000+4,096 px

GripForge defaults to around 8,000 triangles for characters, which is what a mobile brawler or a top-down roguelike wants, and lets you raise it per generation.

3. Rest pose, skeleton and skin weights

Rigging binds the mesh to a skeleton so that moving a bone deforms the right vertices. Two things decide whether it works:

  • Rest pose. The mesh must be in an A-pose or T-pose before binding. If the generator returned a slight contrapposto or bent elbows, the skeleton is fitted to a body that is already "moving", and every animation inherits the twist. GripForge straightens the mesh into a rest pose before rigging.
  • Bone naming. Engines and animation libraries expect a humanoid naming convention: Hips, Spine, LeftUpperArm, RightHand, and so on, in the Mixamo-style family. A skeleton with generated names like Bone.017 will import, but Unity's Humanoid avatar, Unreal's retargeter and Godot's SkeletonProfileHumanoid will not map it automatically.

Skin weights are the per-vertex influence of each bone. Automatic weights are good on torsos and limbs, and weak in two places: the armpit and the fingers. If your character will close its hand around a weapon, the fingers need a dedicated hand rig, which is a separate pass in GripForge (gripforge_hand_rig).

4. Animation clips that match the skeleton

Once the skeleton is standard, animation is a retargeting problem, not an authoring problem. A walk cycle authored for one humanoid skeleton can be mapped to another with the same bone hierarchy, and the differences in proportions are absorbed by the retargeter.

For a playable character, the minimum set is idle, walk, run, attack, hit and death. GripForge produces these as clips on the character's own skeleton, so they play without a retarget step in the engine. If you bring your own clips (Mixamo, a motion-capture pack), retarget them once and keep the character's skeleton as the source of truth.

5. The weapon goes in the hand, not in the mesh

This is the step that most "AI game asset" tools skip, and it is the one that makes the character usable.

Never generate the sword as part of the character. A fused weapon cannot be swapped, dropped or shown in the inventory, and it deforms with the arm's skin weights. Generate the weapon as its own asset, and attach it to the RightHand bone with an offset that puts the grip inside the closed fingers and the blade pointing the right way.

Finding that offset by hand is an afternoon per weapon. GripForge's attach step (gripforge_attach) computes it from the weapon's grip geometry and the hand's pose, closes the fingers around the grip, and gives you the socket transform to reuse in the engine. The result is a character holding the weapon in every animation, and a weapon you can still detach.

6. Export as GLB and import into your engine

GLB (binary glTF) carries mesh, skeleton, skin weights, PBR materials, textures and animation clips in one file, and all three major engines read it natively.

  • Unity: import the GLB (with the built-in glTF importer or glTFast), set the rig to Humanoid, and the standard bone names map automatically. Attach the weapon GLB under the RightHand transform using the socket offset.
  • Unreal Engine: import via the glTF importer, choose the skeleton, and use IK Retargeter if you mix clips from other sources. Add a socket named WeaponSocket on hand_r with the offset.
  • Godot 4: drag the GLB into the project, it becomes a scene with a Skeleton3D and an AnimationPlayer. Use a BoneAttachment3D on RightHand for the weapon.

Choose the Engine variant (PNG textures) for engines and the Web variant (WebP textures) for a Three.js or browser build; the geometry is identical.

Doing all of this from an AI agent

Every step above is a tool call on GripForge's MCP server, which means Claude Code, Cursor or any MCP client can run the whole chain from a single sentence: generate the character, generate the weapon, attach, animate, export and pull the file into the project folder. The agent sees each result and can retry a step, for example when the concept check rejects a pose.

FAQ

Why does my automatically rigged character have twisted arms?

The mesh was not in a proper rest pose when the skeleton was bound. Bent elbows or a slight turn in the concept get baked into the bind pose, and every animation inherits the twist. Straighten the mesh into an A-pose or T-pose before rigging, or generate from a front-facing, arms-apart concept.

Should I use FBX or GLB for game characters?

Use GLB when you target more than one engine or a web build. GLB carries mesh, rig, materials and animations in one file that Unity, Unreal, Godot and Three.js all read natively. FBX is still the safest choice for a Maya or 3ds Max pipeline that ends in a single engine.

How many triangles should a mobile game character have?

Between 6,000 and 10,000 triangles for a character seen in the third person with several on screen. Generate at that budget rather than decimating a high-poly mesh afterwards, because decimation degrades hands, faces and hair first.

Can I attach a weapon to an AI-generated character?

Yes, if the character has a standard humanoid skeleton and empty hands. Generate the weapon as a separate asset and attach it to the right-hand bone with an offset that puts the grip inside the closed fingers. Do not generate the weapon as part of the character mesh; it cannot be swapped and it deforms with the arm.

Try it on your own prompt

GripForge turns a text prompt into rigged, animated, engine-ready game assets — from the browser, or from Claude Code and Cursor through MCP. The free plan includes Studio attaches and API trials every month.

Start free Browse 11,000+ community assets

More from the blog

How to turn a text prompt into a rigged, animated game character (Unity, Unreal, Godot) · GripForge