blender-game-export
Skill1 starsChanged 38 days agoApache-2.0View on GitHub
Prepares a Blender model for a game engine and exports it as glTF/GLB or FBX through a Blender connection (the official BlenderLab server) - applied transforms, origin and pivot, scale and axes, triangle count, normals, UVs, material slots, naming, and a check of the exported file. Use when the user wants a Blender model in Unity, Godot, Unreal or a web viewer, asks to export to GLB, glTF or FBX, or reports that an exported model arrives rotated, tiny, huge, untextured or with broken shading.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- SamuelAsherRivello/ai-skills-blendertheir own version, first seen Oct 12, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- SamuelAsherRivello/ai-skills-blender★ 11same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository16 other files it gives its agents.
- blender-low-polySkill
- blender-materials-renderSkill
- blender-modelingSkill
- comfyui-image-to-3dSkill
- deep-researchSkill
- githubSkill
- human-writingSkill
- seoSkill
- skill-creatorSkill
- social-instagramSkill
- social-linkedinSkill
- social-tiktokSkill
- social-xSkill
- social-youtubeSkill
- unity-prefab-editSkill
- unity-scene-assemblySkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
Run Python: execute_blender_code.
- Very specific: line 30
Check the Python API: get_python_api_docs (an identifier such as bpy.types.BevelModifier), search_api_docs.
- Distinctive: line 38
If these tools are not available, stop and say so: the user has to install the BlenderLab connection (Tools → Connections), give it to this …
- Distinctive: line 49
If the user did not say, state your assumptions and go on.
- Distinctive: line 82
UVs: every textured mesh needs a UV map.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Exporting a Blender model for a game engine
You work in the user's Blender through the BlenderLab connection. Exporting writes files on the user's disk: say where, and never overwrite a file without saying so. Export with code (the recipes are in the reference).
Your Blender connection
You work through BlenderLab, the official Blender Lab server; its tools are
blenderlab_…:
- What is in the scene:
get_objects_summary; one object in detail:get_object_detail_summary(byname). The file, saved or not, and its path:get_blendfile_summary_path_info. - Run Python:
execute_blender_code. Nothing survives between calls (carry your helpers in each script); what the script prints comes back, and a dict assigned toresultcomes back as data. Its guard refuses a few operators (quitting Blender, factory resets). - See the 3D viewport:
get_screenshot_of_area_as_imagewitharea_ui_type: "VIEW_3D"(the whole window:get_screenshot_of_window_as_image); point it at an object:jump_to_view3d_object_by_name. - Check the Python API:
get_python_api_docs(an identifier such asbpy.types.BevelModifier),search_api_docs; the manual:search_manual_docs. - Quick render:
render_thumbnail_to_path,render_viewport_to_path; the image goes to Blender's temp folder and the result gives the real path. - Export: code (
bpy.ops.export_scene.gltf,bpy.ops.export_scene.fbx). - Asset libraries and 3D generators: none. Build the object, or ask the user for a file to import.
If these tools are not available, stop and say so: the user has to install the BlenderLab connection (Tools → Connections), give it to this agent, and have Blender open with the add-on's server started. Do not describe work as done when you could not do it.
Ask or state, once
- Target: Unity, Godot, Unreal, or the web (three.js and similar). It decides the format and the axis settings.
- What to export: the whole scene or named objects, as one file or one per object.
- Where: the folder. For Unity, a folder under the project's
Assets/.
If the user did not say, state your assumptions and go on.
| Target | Format | Why |
| Godot, web, anything modern | GLB (binary glTF) | One file, materials and textures inside, axes handled by the format |
| Unity | FBX, or GLB if the project has a glTF importer (glTFast) | FBX is what Unity imports natively |
| Unreal | FBX, or glTF | Both are imported natively |
Preparation checklist
Work on the objects to export, in this order. Code for every step is in references/export-recipes.md.
- Inspect first: for each object print name, type, scale, rotation, dimensions, modifier list, material slots, vertex and triangle counts, UV layers.
- Do not destroy the user's model. Applying modifiers, joining and triangulating
are one-way. Export with "apply modifiers" on (the file gets the final geometry, the
scene keeps the modifiers), or work on duplicates in an
Exportcollection. Say which you did. - Apply scale and rotation (scale 1, 1, 1 and rotation 0 on export objects). An unapplied scale is the usual cause of wrong sizes, skewed normals and physics that misbehave in the engine.
- Origin where the engine needs the pivot: bottom center for props and characters that stand on the ground, the hinge for a door, the center for a pickup. Then put the object at the world origin unless the layout of a whole scene is being exported.
- Real scale: 1 Blender unit = 1 m = 1 Unity unit. Check the dimensions against the real object.
- Normals and shading: faces pointing outwards (recalculate if lighting looks inverted), smooth shading with sharp edges where needed.
- Geometry budget: report triangles per object. Rough guides: a small prop 500-5,000, a hero prop 5,000-30,000, a character 20,000-80,000. Lower Subdivision or Bevel segments, or add a Decimate modifier, if it is far over; ask before reducing detail the user built on purpose.
- UVs: every textured mesh needs a UV map; engines also want a second, non-overlapping one for baked lighting only if the project bakes lightmaps.
- Materials: few slots (each is a draw call), named clearly. Only what the format can carry survives: Principled BSDF base color, metallic, roughness, normal, emission and their image textures. Procedural node textures do not export: bake them to images first, or tell the user the engine material will need to be rebuilt.
- Names: objects and meshes named for the engine (
SM_Crate_01, no.001suffixes, no spaces or accents).
Export settings that matter
GLB / glTF: selected objects only, apply modifiers, +Y up (the default), include materials, images embedded. Add animations only if there are some.
FBX for Unity: selected objects only, object types Mesh (plus Armature if rigged,
with "add leaf bones" off), apply modifiers, scale option FBX Units Scale, forward
-Z, up Y, and "apply transform" so the object does not arrive rotated -90° on X with
a scale of 100. With a rig, leave "apply transform" off and fix the rotation in the
import settings instead: baking it breaks armatures.
FBX for Unreal: same, with forward X, up Z, and smoothing set to Face.
Operator keywords change between Blender versions: check with the API tool of your
connection when one is rejected (on BlenderLab, get_python_api_docs with
bpy.ops.export_scene.gltf or bpy.ops.export_scene.fbx), rather than dropping
settings silently.
Verify the file
- The file exists, and its size is plausible (a GLB of a few hundred bytes is empty).
- Print what was exported: object count, total triangles, materials, file size, path.
- For GLB you can re-import the file into a temporary collection, compare object and triangle counts, then remove that collection; do this when the user reported a broken export, and make sure you remove only what the re-import created.
- You cannot see the model inside the engine. Say what to check there: scale next to a 1 m cube, the pivot, the rotation (should be 0, 0, 0), and the materials.
When it arrives wrong in the engine
| Symptom | Cause | Fix |
| Rotated 90° | Axis settings, or unapplied rotation | Apply rotation; FBX forward/up as above with apply transform |
| 100 times too big or small in Unity | FBX unit scale | FBX Units Scale, scene unit scale 1.0 |
| Dark or inside-out faces | Flipped normals, negative scale | Apply scale, recalculate normals outside |
| No textures | Procedural materials, or images not packed | Bake to images; GLB embeds them, FBX needs the image files alongside or "embed" path mode |
| Faceted or melted shading | Missing smooth/sharp data | Smooth shading with sharp edges; FBX smoothing Face |
| Pivot far from the object | Origin not set | Set origin, move object to world origin |
| Many objects instead of one | Separate objects exported | Join duplicates before export, if one mesh was wanted |
| Huge file | Subdivision applied at a high level, 4K textures | Lower levels, resize textures |
Report
Give the path and size of each file, the format and the key settings used, triangles and material slots per object, what you changed in the scene (or that you worked on duplicates), and the import settings to use in the engine.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

