mcpField
B
blender-export-pipelines

blender-export-pipelines

github.com/el4cteoCreative & media569121 installsUpdated 2w ago
Repository

About blender-export-pipelines

A Blender skill for exporting assets to game engines, web formats, and interchange pipelines. It provides tested presets, format-specific guidance, pre-export checks, and post-export verification for meshes, rigs, materials, and animation.

Key features

  1. 01Presets for engines and formats
  2. 02Batch export of selected objects
  3. 03Pre-export asset checklist
  4. 04Mesh, rig, material, and animation guidance
  5. 05Export verification and re-import checks

Use cases

  1. 01Exporting skeletal assets to Unreal or Unity
  2. 02Preparing GLB assets for web or Godot
  3. 03Batch-exporting multiple objects
  4. 04Checking scale and animation after export

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/el4cteo/blender-skills --skill blender-export-pipelines

After installing, type/blender-export-pipelinesin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
godot-web.md
roblox.md
unity.md
unreal.md
scripts/
_bpyx.py
export_asset.py

Details

From the project README

Export Pipelines

The execution model is in blender-core. Run blender-asset-qa (and blender-game-optimization for budgets) before exporting.

One call

scripts/export_asset.py -- --preset unreal_skeletal --objects SK_Hero --out //export/SK_Hero.fbx
scripts/export_asset.py -- --preset web --collection Export --out //export/scene.glb
scripts/export_asset.py -- --preset unity --objects SM_A SM_B SM_C --batch --out //export/x.fbx   # one file each, at origin

Presets: roblox, roblox_gltf, unity, unity_skeletal, unreal, unreal_skeletal, godot, web, gltf, usd. Pass any exporter kwarg with --set key=value. Every preset is tested with a round-trip that keeps scale and avoids a 100× armature scale.

Engine reference (load only the one you need)

Universal pre-export checklist

  1. Scale: scene unit scale 1.0, objects at scale 1, rotation applied (except intentional object transforms). The presets handle unit conversion.
  2. Pivot/origin where the engine expects it: props at the bottom-center, characters at the world origin between the feet, facing -Y (Blender front). Every preset converts that to the engine's forward.
  3. Modifiers: the presets export the evaluated mesh. Mirror, bevel and weighted normals are kept; booleans become real geometry.
  4. Normals: custom/weighted normals export. Smooth shading, plus hard edges marked sharp.
  5. Triangulation: FBX presets triangulate (use_triangles) so the bake and engine tangents match. glTF always triangulates.
  6. Materials: image-texture → Principled chains only, with names M_* and textures T_*. Procedural nodes don't export, so bake them first.
  7. Armature: deform bones only, no leaf bones, rest pose = bind pose, 4 weights per vertex max, and the root at the origin.
  8. Animation: one action per clip, named Rig_Clip. Bake constraints/IK to keys (blender-animation). FBX exports the active/NLA action per preset settings; glTF ACTIONS mode exports every action that has a slot for the armature.
  9. Naming: unique, ASCII, no spaces. Engines key materials/meshes by name across reimports.

Format choice

NeedFormat
Unity, Unreal (most stable for skeletal)FBX
Godot, web, Roblox (supported), Unreal 5.x Interchange, Blender↔BlenderglTF 2.0 (.glb)
Film/VFX, Omniverse, Apple AR (.usdz), layout interchangeUSD
Static geometry for printing/CADOBJ / STL (wm.obj_export, wm.stl_export)
Point caches / deforming simsAlembic (wm.alembic_export)

Verify after export (required)

  • The script returns ok, the file size, and for .glb a parsed summary (meshes, materials, images, animations, skins, tris, extensions). Compare it with what you expected.
  • For FBX/USD: re-import into an empty scene (import_scene.fbx / wm.usd_import) and check dimensions, the armature scale (must be 1, not 100) and the action count.
  • In the engine: scale against a reference (UE mannequin 180 cm, Unity capsule 2 m, Roblox character 5 studs), normals/smoothing, the normal map's green channel, and animation root motion.

Collection exporters (re-export in one click, 4.2+)

See blender-scene-setup: collection.exporters stores the format + settings per collection, and bpy.ops.wm.collection_export_all() re-exports everything.

Gotchas

  • FBX use_tspace fails silently on n-gons. Triangulate first (the presets do).
  • bake_space_transform (Apply Transform) is experimental. Use it for Unity static meshes only, never with armatures.
  • glTF exports actions linked through slots/NLA. An action with no user on the armature is skipped (export_animation_mode options: ACTIONS, ACTIVE_ACTIONS, NLA_TRACKS, SCENE, BROADCAST).
  • glTF needs image textures in PNG/JPEG/WebP. EXR/TIFF get converted (export_image_format).
  • Linked library data exports fine, but make it local or override it if you need to modify it first.
  • Shape keys: FBX exports them as blendshapes, glTF as morph targets (export_morph). Modifiers before the Armature modifier can block shape-key export in FBX (apply them first).

Comments

Markdown supported