This page is incomplete! You can contribute information using GitHub issues or pull requests.

The HEK uses several file types as intermediate representations of animation data. These files provide a common target for exporters like Bluestreak and Halo Asset Blender Development Toolset, and can then be converted to model_animations tags by Tool for use in Halo.

JMA (Base)

This is what a lot of animations will end up as. It is a default animation type that stores data necessary for movement, such as a biped walking animation.

JMM (Base)


JMW (Base)

These animations are world-relative. The origin of the animation is the 0, 0, 0 location of the level.

JMZ (Base)


JMT (Base)


JMO (Overlay)

Overlay animations add extra blended movement to base animations. Examples include the shifting of vehicle passengers from acceleration, 3rd person aiming poses, or 3rd person firing effects. The requirements for these animations depends on how they will be used:

First person weapon overlays

When the player moves and aims, the first person weapon model can react to give a sense of weight and realism. This overlay animation is used to define the default and extreme location and orientations of the weapon under movement and aiming.

Frame numberPurpose
0Default position
1Move forwards
2Move backwards
3Move right
4Move left
5Look left
6Look right
7Look up
8Look down
9Fully automatic firing

JMR (Replacement)

This animation type removes the original animation for the nodes that are animated and plays it's own animation for it. An example for a replacement is a reload animation where you want to make sure the node positions are proper at each part of the reload. In that case you would only animate the upper body, so the lower parts can keep their original base animation that for instance still is a running animation.


Thanks to the following individuals for their research or contributions to this topic:

  • General_101 (Documentation on animation types)
  • ODX (JMO frames)