Discord
Figura
Mods

Figura: a mod for custom player models in Minecraft

Figura is a free mod for Minecraft Java Edition that lets you replace the default player model with your own avatar. You build the model in Blockbench, add animations and Lua scripts, and other players who also have Figura see your character in game. The mod is completely free and needs no separate account.

What Figura is

Figura is a client-side cosmetic mod. On the screen of every player who has it installed, it renders your custom model instead of the standard Steve or Alex. The avatar can be any shape: ears, a tail, wings, a halo, or a silhouette that is not humanoid at all. On top of that you get animations (walking, jumping, emotes) and Lua scripts that react to events in the game.

The project is developed by the Moonlight Devs team as a continuation of the older Figura mod. The source code is public, and Figura runs entirely on the client side: servers do not need the mod for you to see your own model. Other players only see your avatar if they have Figura installed too.

The project's official website is figura.moonlight-devs.org, and the mod is also distributed through Modrinth and CurseForge. Download it only from these three sources.

How to install Figura

This guide uses the Fabric version of Figura, which needs three things: a legitimate copy of Minecraft Java Edition, Fabric Loader, and the Fabric API mod. The whole setup takes a few minutes, even if you have never modded the game before.

Step 1: install Fabric Loader

Download the Fabric installer from the official site and pick the Minecraft version that matches your game (usually 1.20.1 or 1.21.x). The installer creates a new "fabric-loader" profile in the official launcher. You can find the full step-by-step guide on the Fabric Loader page.

Step 2: download Fabric API

Fabric API is a library that most Fabric mods rely on, Figura included. Download the .jar file from Modrinth in the version that matches your game version and drop it into the .minecraft/mods/ folder.

Step 3: download Figura

On the Figura page on Modrinth, download the .jar file for your Fabric version and put it in the same mods folder. After you launch the Fabric profile from the Minecraft launcher, a new icon appears in the game's main menu. It opens the Figura panel.

Step 4: load an avatar

In the Figura panel, open the "Avatars" tab and point it at the folder with your model file (.bbmodel plus optional scripts and textures). The avatar activates right away. Press F5 to switch to third-person view and see it.

If this is your first time modding Minecraft, read the general guide on how to install Minecraft mods first.

How to make your own model

Figura models are made in Blockbench, a free 3D editor built with Minecraft in mind. Blockbench supports the Figura format natively through an official plugin.

Setting up Blockbench

Download Blockbench from blockbench.net. In the File → Plugins menu, install the "Figura" plugin. After a restart, the new project wizard offers a "Figura Avatar" template. Pick it and you land in a project with a ready-made player skeleton (head, torso, arms, legs).

Model and texture

Figura avatars are built from cuboids (boxes), just like vanilla Minecraft models. You can add your own boxes to every bone: wings attached to the torso, ears on the head, a tail as a separate animated group. The texture (UV) is painted in the same panel as the model.

The avatar size limit depends on the configuration of the Figura backend (100 KB per model after compression by default). Keep it small: merge your textures into a single atlas and delete bones you do not use.

Animations

In the "Animate" tab you record bone movement on a timeline. Figura supports two kinds of animations: looping ones (emotes, idle) and ones triggered by events (a hit, a jump, using an item). Animations are exported automatically together with the model.

Lua scripts

The real power of Figura is in the scripts. You create a script.lua file in the avatar folder, listen for events in it, and change the model in real time. A script can, for example, hide the wings underwater, change the avatar's color depending on your health, or play a sound when you take a hit.

Here is a sample snippet that shows the tail only in the Jungle biome:

function events.tick()
  local biome = world.getBiome(player:getPos()).id
  models.tail:setVisible(biome == "minecraft:jungle")
end

You can find the full API documentation (including the list of events and objects) at applejuiceyy.github.io/figs, the community documentation portal.

Figura on servers

Figura is a purely client-side mod: the server does not need a plugin or any modification for avatars to show up. The model data goes through Figura's external backend (figura.moonlight-devs.org by default), so the Minecraft server does not have to send the files.

Requirements for players

Every player who should see your model has to install Figura too. Players without the mod see you as a standard Steve or Alex. If you want to be sure avatars are visible on a server, ask the admin to add Figura to the list of recommended mods.

Moderation

The Figura panel has a "Permissions" tab where each player can turn off custom sounds, particles, commands or scripts, either globally or for one specific person. The same feature protects you from malicious avatars.

On large public servers, administrators can set up additional blacklists through a config file. The details are in the backend documentation, and they only matter to server owners, not players.

Figura and anti-cheat

Figura does not change game logic, collisions or damage, so it is not detected as a cheat. Still, on servers with strict anti-cheat the staff may ban all mods to be safe, so check the rules before you join.

Figura vs CustomNPCs vs Essential

People often mix these three mods up, because each one touches character models in some way. In practice they solve completely different problems.

Feature Figura CustomNPCs Essential
What it changes Your own player model NPC models in the world Adds emotes, cosmetics, friends
Visible to others Only to players with Figura Everyone with the mod on the server Everyone with Essential
Payment model Completely free Completely free Freemium (Mint, shop)
Lua scripts Yes, full API Yes, its own system No
Typical use Roleplay avatars, streamers Quests, NPC storylines Community, friend lists

The most common mix-up: someone only wants emotes (dancing, waving, sitting) and downloads Figura. Figura can do that, but you have to build the animations yourself in Blockbench. If you want ready-made emotes with one click, check out Essential.

Frequently asked questions

Is Figura free?

Yes. The mod, the backend and all features are free. The project is supported by voluntary donations and has no premium version or cosmetics shop.

Does Figura work on Bedrock Edition?

No. Figura is only available for Minecraft Java Edition. Bedrock has other options (for example resource packs that change the Steve model), but none of them offers Lua scripts or full customization.

Can I use Figura with other graphics mods?

Yes. Figura works with Sodium, Iris, LambDynamicLights and most Fabric mods. With OptiFine you also need OptiFabric. Conflicts only happen with mods that modify the player renderer themselves. In that case, report the problem on Figura's GitHub.

Other players can't see my avatar

First check whether the other person has Figura installed (that is the first and most common reason). If they do, open "Avatars" in the Figura panel and make sure your avatar is marked "Uploaded". The "Local" status means the model only works on your side. Also clear the backend cache (the "Clear" button in the settings).

Is Figura safe?

The source code of the mod and the backend is public. No official version contains telemetry or trackers. Be careful with avatar packs from untrusted sources, though: Lua files have access to the rendering logic and can slow the game down or play malicious sounds. Install avatars only from Modrinth or from creators you know.

Which Minecraft version is best supported?

The current stable Figura releases target 1.20.1 and 1.21.x. Older versions (1.19.4 and earlier) have archived builds but get no new features.