> For the complete documentation index, see [llms.txt](https://animotive.gitbook.io/animotive-kimodo/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://animotive.gitbook.io/animotive-kimodo/advanced/skeleton-and-rotation.md).

# SOMA77 Skeleton

Animotive Kimodo's generations target a single shared skeleton: the 77-joint **SOMA77** (`somaskel77`) skeleton, defined by NVIDIA as the public-facing layout for Kimodo motion output. Every BVH returned by Kimodo is in this skeleton's joint order and T-pose; the plugin's IK Retargeter pair maps that motion onto your character.

The canonical SOMA skeleton definition lives in NVIDIA's [Kimodo skeleton documentation](https://research.nvidia.com/labs/sil/projects/kimodo/docs/key_concepts/skeleton.html).

## Why it matters

The SOMA77 skeleton is the core asset for the project. Anything that retargets onto a character — the BVH coming back from Kimodo, the retarget pose on the Forward retargeter, the IK Rig chain definitions — references this skeleton. If the SOMA77 asset is corrupted, edited by accident, or deleted, the plugin's import + retarget pipeline will fail.

## Where it lives

The SOMA77 skeleton asset and its associated source mesh live under the plugin's content folder. When the plugin is installed via Fab, both ship as read-only plugin content. When a project has been customised — or if the asset has been modified or deleted in error — the asset can be regenerated at any time.

## Regenerating SOMA77

The plugin includes a one-click regeneration command. Use it after any of:

* The SOMA77 skeleton asset has been edited and you want to restore the canonical layout.
* The SOMA77 asset has been accidentally deleted from the project.
* A plugin upgrade changes the canonical T-pose or joint hierarchy and you want the project's local copy refreshed.

Procedure:

1. In the editor, run the plugin's SOMA skeleton regeneration command. The command rebuilds the SOMA77 skeleton asset with its canonical T-pose and joint hierarchy.
2. Re-run the **Animotive Kimodo Retarget Wizard** on every character that was set up against the old skeleton — the wizard rewrites the IK Rig and the retargeter pair against the regenerated SOMA77 reference.
3. Re-test a generation on one character to confirm the round trip lands correctly.

After regeneration the previous SOMA77 asset's GUID changes; any retargeters that referenced the old asset must be re-run through the wizard to pick up the new reference. The wizard's outputs overwrite in place under `/Game/Kimodo/Generated/<MeshName>/`.

## Rest pose vs retarget pose

The SOMA77 skeleton has a fixed rest pose (its T-pose). The IK Retargeter on each character carries its own retarget pose on the target side; that retarget pose is what the wizard tunes to match the character's natural rest. If imported animation lands with a consistent offset, the source of the offset is almost always the retarget pose on the Forward retargeter, not the SOMA77 skeleton itself. See [First-Time Character Setup → Verify the rest pose](/animotive-kimodo/setup/first-character.md#6-verify-the-rest-pose).

## See also

* [File Formats](/animotive-kimodo/advanced/file-formats.md) — the BVH and Constraints JSON contracts that reference SOMA77 joint order.
* [First-Time Character Setup](/animotive-kimodo/setup/first-character.md) — the Retarget Wizard that maps your character onto SOMA77.
* NVIDIA Kimodo: [skeleton key concept](https://research.nvidia.com/labs/sil/projects/kimodo/docs/key_concepts/skeleton.html).
