What vertex colors are and why they matter

Vertex colors are color information stored directly on each point of a 3D model, rather than in a separate texture file. When you paint colors onto a model in Blender, you are storing that data at the vertices — the corners where the model's geometry connects. This is useful because the color travels with the model itself, and you do not need a separate image file to display it.

The catch is that not every program reads vertex colors the same way. Some 3D software ignores them entirely on import. Others reads them but displays them differently depending on the file format you use. Getting vertex colors to show up correctly in another program means choosing the right export format and sometimes adjusting how the receiving program interprets the data.

Key Takeaways

  • Vertex colors live on the model itself in Blender, stored in the vertex data layer, and you can see them in the Shading workspace or the Vertex Paint mode.
  • Not all file formats carry vertex color information — FBX and OBJ both support it, but OBJ support is less reliable across different software.
  • Before exporting, make sure your vertex color layer has a name (the default is often "Col") and that you are exporting from the correct object, not from an armature or empty.
  • The receiving program must have vertex colors enabled in its material or shader settings, or the colors will not display even if the data made the journey.
  • If colors do not appear after import, check the receiving program's import settings first — many programs have a checkbox to import vertex data that defaults to off.

How to check that your model has vertex colors in Blender

Open your model in Blender and switch to the Shading workspace (top menu, or press the Shading tab). In the Shader Editor on the right side, look for a node called Vertex Color. If you see it connected to your material, the colors are there. If you do not see a Vertex Color node, your model either has no vertex colors or they are not wired into the material yet.

You can also check by entering Vertex Paint mode. Press Tab to enter Edit Mode, then Tab again to return to Object Mode. From the top menu, change the mode dropdown from Object Mode to Vertex Paint. If you see colors on your model, the vertex color data exists. If the model appears gray or white, either no colors are stored or they are not visible in this view.

Make note of the vertex color layer name. In the Object Data Properties panel (the green triangle icon on the right), scroll down to Vertex Colors. You should see at least one layer listed — often named "Col" or "Color". This name matters when you export and import.

Exporting from Blender in FBX format

FBX is the most reliable format for carrying vertex colors between programs. Go to File > Export As > Glb Binary (.glb) or Autodesk FBX (.fbx). Choose FBX for maximum compatibility.

In the export dialog that appears, look for the Export panel on the right side. Expand the Geometry section. Make sure the checkbox next to Vertex Colors is checked — this is often unchecked by default. Also check that explore Modifiers is on if you have any modifiers (like Subdivision Surface) that you want baked into the export.

Before you click Export, confirm that you are exporting the mesh object itself, not an armature or empty. The outliner on the right shows your scene hierarchy. Click on the mesh object (not the armature) to select it, then export. If you export an armature by mistake, the vertex colors will not come with it.

Importing into Unity

Drag your FBX file into the Assets folder in your project. Unity imports it automatically. Select the FBX file in the Project panel, then look at the Inspector on the right. Find the Model tab and scroll down to the Materials section.

Check the box next to Import Materials. Below that, make sure Import Blend Shapes is on if your model uses shape keys. Then click explore at the bottom of the Inspector.

Now select the material that was imported with the model (it will be in the same folder as the FBX). In the Inspector, look at the shader being used. If it is the Standard shader, vertex colors may not display. Switch to a shader that supports vertex colors — Standard (Specular setup) works, or use a custom shader that reads the Vertex Color semantic. In the material, make sure the Albedo slot is set to white or a neutral color, and that you have a Vertex Color node or property feeding into it.

Importing into Unreal Engine

In the Content Browser, click Import or drag the FBX file into the folder. The FBX Import Options dialog opens. Under the Mesh section, find Import Mesh and make sure it is checked. Below that, check Import Vertex Colors.

Click Import or Import All. Unreal creates a mesh asset and a material. Open the material by double-clicking it. In the material editor, add a Vertex Color node (right-click, search for Vertex Color). Connect its RGB output to the Base Color input of the Main Material Node. Compile and save.

If the colors still do not show, check that the mesh itself imported the vertex data. Select the mesh in the Content Browser, open it, and in the Details panel on the right, scroll down to the Vertex Colors section. If it says "None", the import did not pick up the colors. Go back to the FBX import settings and re-import with Import Vertex Colors enabled.

Importing into Godot

Place your FBX file in the res:// folder (your project root). Godot imports it automatically. Select the FBX file in the FileSystem panel on the left. In the Import tab at the top, look for Meshes > may support Tangents and turn it on. Below that, find Materials > Location and set it to Mesh if you want materials imported with the model.

Click Reimport. Godot creates a .mesh file. Open your scene and add a MeshInstance3D node. In the Inspector, set its Mesh property to the imported mesh. Add a StandardMaterial3D to the Material property. In the StandardMaterial3D, scroll down to the Vertex Color section and set Vertex Color to Use as Albedo. The colors should now display.

If they do not, open the mesh file itself (double-click the .mesh file). In the mesh editor, check that the vertex color data is listed under the mesh's surface. If it is empty, the import did not capture the colors. Delete the .mesh file and re-import the FBX with the correct settings.

Troubleshooting when colors do not appear

The most common reason vertex colors do not show is that the receiving program has vertex colors disabled in the material or shader. Before assuming the export failed, check the material settings in the target program first. Look for a Vertex Color node, a Use Vertex Color checkbox, or a Vertex Color semantic in the shader. Enable it and see if the colors appear.

The second most common issue is that the vertex color layer in Blender was not named or was deleted before export. If you are not sure, go back to Blender, check the Vertex Colors list in the Object Data Properties, and confirm a layer exists. If it does not, you will need to repaint the colors or recover them from a backup.

If the colors appear but look wrong — too dark, inverted, or in the wrong places — the issue is usually a mismatch between how Blender stores the data and how the receiving program interprets it. Try exporting as GLB instead of FBX, or vice versa. Some programs handle one format better than the other. You can also try re-importing with different settings, such as turning off explore Scalings in the FBX export dialog.

Frequently Asked Questions

Can I export vertex colors from Blender to OBJ format?

OBJ technically supports vertex colors, but support is inconsistent across different software. FBX is more reliable. If you must use OBJ, enable the Vertex Colors checkbox in the export dialog, but be prepared to test in your target program and possibly switch to FBX if the colors do not import.

What if I painted vertex colors but they do not show in Blender's viewport?

Switch to the Shading workspace and make sure a Vertex Color node is connected to your material. In Vertex Paint mode, the colors should be visible on the model itself. If they are not, you may have painted on a different layer or the layer may be hidden. Check the Vertex Colors list in Object Data Properties and make sure the layer you painted on is visible (eye icon).

Do vertex colors work with skeletal meshes and armatures?

Yes, but you must export the mesh object, not the armature. Select the mesh in the outliner, then export. The armature and its bones will be included in the FBX automatically if you have them parented correctly. The vertex colors stay with the mesh data.

Why do my vertex colors look different in the game engine than in Blender?

Game engines render colors differently depending on the lighting, post-processing, and material settings. Blender's viewport is not a perfect match for any game engine. Test your material in the engine and adjust the shader or material properties there. You can also bake the vertex colors into a texture in Blender if you need them to look identical across programs.

Can I mix vertex colors with a texture map?

Yes. In the receiving program's shader, multiply or blend the Vertex Color output with a texture sample. In Unity, use a Multiply node between the vertex color and the texture. In Unreal, use a Multiply node in the material editor. In Godot, use a MixMode or blend operation in the StandardMaterial3D. The exact method depends on the engine.