Skip to main content

Exports

Take your finished animation out of the editor and into the destination platform. Three formats live, FBX coming.

Tier: Starter+ ($4.99/mo) for all export formats. Free Style users can edit and preview but not export. Menu: Export → ...


Format overview

FormatTarget PlatformsBest forStatus
GLB / glTF 2.0Unity, Unreal Engine, Roblox, Web (Three.js, Babylon, A-Frame), AR/VR (WebXR, Meta Quest)Modern game engine pipelines, the universal interchange format✅ Live
BVHSecond Life Bento, MotionBuilder, Maya, Blender, motion capture pipelinesThe SL-and-mocap interchange standard✅ Live
.anim (Second Life)Linden Lab's Second Life client (in-world upload)Direct upload to SL avatars without extra conversion✅ Live
FBXMaya, Blender, Unity (alternative path), older legacy pipelinesThe legacy industry interchange — still demanded by some studios🚧 Q2 2026

The right format depends on your target:

  • Game engine? GLB — modern, lean, native to UE5 / Unity Mecanim's glTF importer / Roblox.
  • Second Life? .anim if direct upload, BVH if you're going through tools.
  • MotionBuilder / classic mocap pipeline? BVH.
  • Working with someone who insists on FBX? Wait for Q2 2026, or export GLB and convert via Blender's GLB import → FBX export.

GLB / glTF 2.0 export

The most universal export path. glTF 2.0 is the open standard for runtime 3D, supported by every major engine and runtime.

What's included

  • Skinned mesh with weight painting preserved.
  • Skeleton hierarchy with bone names.
  • Animation tracks (quaternion + position + scale, per bone).
  • Materials (PBR), textures (embedded as binary).
  • Optional: morph targets if your source had them.

Export Settings

  • Frame rate: matches the source clip's FPS by default; can override.
  • Compression: optional Draco mesh compression for smaller file size.
  • Animation name: defaults to clip name; user-editable.

Workflow

  1. Export → Export GLB.
  2. Settings dialog opens. Confirm or adjust frame rate, compression.
  3. Click Export. Browser downloads <animation_name>.glb.
  4. Drop into Unity / Unreal / Roblox / your runtime of choice.

Engine import notes

Unity:

  • Use the glTFast plugin (free, by atteneder). Drag the GLB into your Assets folder, assign the AnimationClip to an Animator.

Unreal Engine 5:

  • UE5 has native glTF/GLB import via the Interchange Framework. Drag the GLB into the Content Browser. The animation imports as an UAnimSequence.

Roblox:

  • Roblox supports GLB animation upload natively for R15 rigs (via the Animation Editor's import). For R6 or custom rigs, may need format conversion.

Three.js / Babylon / A-Frame:

  • Native support. Use the engine's GLTFLoader, attach the AnimationClip to your AnimationMixer.

BVH export

The Second Life standard, also widely used for motion capture interchange.

What's included

  • Skeleton hierarchy with bone names and offsets.
  • Per-bone Euler rotation tracks per frame.
  • Optional: root translation track.
  • Loop metadata in the header (when Loop is enabled in the timeline).

Export Settings

  • Frame rate: typically 30 FPS for SL; configurable.
  • Priority (SL-specific): 0-6, default 4. Higher priority animations override lower-priority AOs.
  • Hand pose: SL-specific, usually default 02 (Spread) or 01 (Fist).

Workflow

  1. Export → Export BVH.
  2. Settings dialog opens. Adjust priority for SL targets, frame rate as needed.
  3. Click Export. Browser downloads <animation_name>.bvh.
  4. For SL: in your in-world inventory, upload the BVH (costs L$10 typically). Test in-world to verify.
  5. For mocap pipelines: drop the BVH into MotionBuilder or your tool of choice.

SL-specific tips

  • Priority 4 is the default; priorities 5-6 override AO systems but may stack badly with other priority-4 animations playing.
  • Loop animations (walk cycles, idles) need Loop enabled in the timeline. The exporter writes loop markers into the BVH header.
  • Animation length in SL is bandwidth-billed; keep clips under 30 seconds for cost.

.anim (Second Life) export

The native Linden Lab format for SL animations. Unique to SL.

What's the difference vs BVH?

The BVH file format is generic and SL imports it. The .anim format is what SL actually uses internally. Exporting directly to .anim skips the SL upload conversion step, sometimes preserves slightly more data, and is the path some power users prefer.

Status note

Direct .anim export is available. Note that the underlying coordinate-frame conversion has some open edge cases (tracked in docs/SL_ANIM_PARKING_LOT.md). For most rigs it works; if you see odd behavior in-world after an .anim export, fall back to BVH.

Workflow

  1. Export → Export .anim (SL).
  2. Settings dialog: priority, hand pose, loop.
  3. Click Export. Browser downloads <animation_name>.anim.
  4. Upload directly via SL inventory.

FBX — the deferred format

FBX is not live yet. Targeting Q2 2026 for release.

Why deferred

Autodesk closed the FBX format specification. There's no working pure-TypeScript FBX exporter that supports skinning + animation. Two viable paths:

  1. assimpjs (WebAssembly) — the Assimp library's WASM port. Adds ~5-10 MB to the bundle (heavy for free users). Lazy-loadable to mitigate.
  2. Custom TypeScript encoder — 2-4 weeks of engineering to implement the FBX 7.x relational graph correctly.

We're betting on (1) but waiting until post-launch to integrate properly. There's also a real chance a pure-TypeScript FBX library appears in the next 6-12 months as the ecosystem matures, which would beat both options.

What to do today if you need FBX

Option 1: Export GLB and convert via Blender:

  1. Open Blender, drag the GLB into a fresh scene.
  2. Animation imports as an Action.
  3. File → Export → FBX.

Option 2: Convert via Unity:

  1. Import the GLB into Unity.
  2. Use a script or asset like FBX Exporter to write FBX.

Both produce valid FBX in less than 60 seconds.


Tier access

TierExport access
Free Style❌ Editor + preview only, no export
Starter ($4.99/mo)✅ All formats (GLB, BVH, .anim, future FBX)
Builder Pro ($19.99/mo)✅ All formats + 50 marketplace downloads / month
Freedom ($49.99/mo)✅ All formats + unlimited marketplace

See pricing for the full tier comparison.


Workflow — typical export session

  1. Animation finished, polished, validated via Quality Score.
  2. Decide target. Game engine? GLB. Second Life? .anim or BVH. Maya? Wait for FBX or use the Blender bridge.
  3. Export → Export <format>. Settings dialog opens.
  4. Adjust as needed (frame rate for game, priority for SL).
  5. Click Export. File downloads.
  6. Import in target platform. Test.

Edge cases

Animation with no keyframes

Exporters require at least one keyframe per track. Empty clips export as a single static pose at the rest position.

Very long clips

Clips over 60 seconds export fine but file sizes grow linearly. A 60s GLB at 30 FPS for a 50-bone humanoid is ~1-2 MB; a 5-minute clip is ~10 MB. For large file sizes, consider splitting into segments.

Custom rig with non-standard bone names

GLB and BVH preserve bone names exactly. The target platform may not recognize them — use Retarget Studio before export to map onto a standard rig if your target requires it.

Materials look different in target

Material rendering differs across engines. Kinetiq exports PBR materials per the glTF spec, but Unity / Unreal / Three.js have slight differences in PBR interpretation. Tweak materials in the target after import if needed — the animation is the priority, materials are platform-specific decoration.