---
updatedAt: 2025-10-29T15:49:50.000Z
agentTools:
  projectIndex: https://developer.didimo.co/llms.txt
---

# Best Practices for Preparing Templates for Popul8 Express

Setting up your character Template properly is essential for smooth use of **Popul8 Express**.

Following the guidelines below will help ensure optimized performance, clean organization, and fewer issues during import and editing.

# Files & Asset Structure

Since **Popul8 Express** relies on the FBX workflow, please follow these best practices when preparing your files:

✅ **Recommendations:**

* Use a consistent naming convention for all files:
  * FBX files, texture maps
  * Internal data: geometry, rig, materials
* Avoid using namespaces
* Do not use special characters in file or node names (e.g., non-ASCII letters, accents, symbols)
* Supported content includes:
  * Polygon meshes
  * Bone-based rigs
  * Keyframe animation
  * Material assignments
* *Do not include unsupported objects* such as:
  * NURBS curves
  * Constraints
  * Lights
  * Cameras or helper objects
* Make sure the scene uses a consistent axis orientation (Y-up or Z-up) as defined in your project

⚠️ **Current Limitations:**

* Animation blendshapes and corrective blendshapes are not yet supported.

<br />

# Geometry

✅ **Recommendations:**

* Avoid problematic geometries, such as:
  * Geometries with Loose vertices
  * Non-manifold geometry
* It's recommended (but not required) to separate geometry into logical meshes, such as:
  * head, body, eyes, teeth
* All meshes must have a UV set — stacked or distributed
* Freeze transformations and ensure pivots are at the origin (0,0,0)
* Custom normals are allowed and respected

⚠️ **Current Limitations:**

* Multiple UV sets are not supported
* UDIMs are not supported

<br />

# Rig

✅ **Recommendations:**

* Every object (Template, Shape, Deformable) should have at least one root bone
  * Keep the root bone positioned at the origin (0,0,0)
  * *If they don't have one root bone, the application will add one.* (see <Anchor label="Log" target="_blank" href="https://developer.didimo.co/docs/errors#/model-import-2">Log</Anchor>)
* Pre-rotations in bones are allowed (either oriented or stored in rotation)
* The rig must have a stored bind pose in the FBX file

⚠️ **Current Limitations:**

* While there is no per-vertex influence limit for import/export, *Deformation visualization* in **Popul8 Express** is limited to 4 influences per vertex
* Blendshapes (animated or corrective) are not supported.
* Each bone (FBX node) must have a unique name.

<br />

# Materials & Textures

✅ **Recommendations:**

* All meshes must have assigned materials.
* Multiple materials per mesh are allowed.
* Use preferably PNG format for textures.
  * TGA is also supported, but with some limitations
* Recommended texture setups:
  * PBR workflows using either MaskMap (Unity) or ARM (Unreal Engine) formats

⚠️ Current Limitations:

* Material properties cannot be modified inside the tool. They are based on predefined material presets
* TGA files with floating point data are not fully supported
* The in-app shaders are for preview purposes only, not for final rendering

<br />

# Summary

This checklist will help you avoid common pitfalls and ensure that your custom characters are ready to work seamlessly in **Popul8 Express**.

For more advanced use cases, stay tuned for upcoming updates.