blender-to-unity
Skill16 starsChanged 4 months agoMITView on GitHub
Hand off a model from Blender (via BlenderMCP) into Unity (via MCP for Unity) — export the current Blender model, import it through import_model_file, and place it in the open scene. Use when the user has BlenderMCP and MCP for Unity both connected and wants to bring a Blender model into Unity. Does NOT drive Blender's own generators; BlenderMCP owns how the model got into Blender.
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- CoplayDev/unity-mcpedited, first seen Jan 7, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- CoplayDev/unity-mcp★ 16k44% same
Wrote their own version · 0
None found.
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 repository29 other files it gives its agents.
- .agents/AGENTS.mdAGENTS.md
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- animation-vocabularySkill
- emil-design-engSkill
- gsap-coreSkill
- gsap-frameworksSkill
- gsap-performanceSkill
- gsap-pluginsSkill
- gsap-reactSkill
- gsap-scrolltriggerSkill
- gsap-timelineSkill
- gsap-utilsSkill
- higgsfield-generateSkill
- higgsfield-marketplace-cardsSkill
- higgsfield-product-photoshootSkill
- higgsfield-soul-idSkill
- higgsfield-websitesSkill
- kernel-chat-art-directionSkill
- kernel-chat-design-qaSkill
- kernel-chat-web-designSkill
- mcp-sourceSkill
- micro-interactionsSkill
- microinteractionsSkill
- motion-designSkill
- review-animationsSkill
- unity-mcp-orchestratorSkill
- motion-prompt-languageSkill
- kernel-chat-designSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
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 18
Resolve the Unity project path: Read mcpforunity://editor/state for the project root (the editor dataPath's parent).
- Very specific: line 38
Place it in the scene, normalized to size: Ensure the scene has a camera + directional light (manage_scene / manage_gameobject).
- Distinctive: line 64
Keep one model per handoff.
≈ “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
Blender → Unity Model Handoff
Bring whatever model is currently in Blender into the open Unity scene. The seam is the local filesystem: Blender exports a file, Unity imports it. The two servers never talk directly.
Preconditions
- Both
mcp__blender__*tools and MCP for Unity tools are connected. - A model exists in the Blender scene (confirm with
mcp__blender__get_scene_info/mcp__blender__get_object_info). If empty, stop and tell the user — this skill does not generate models.
Steps
- Resolve the Unity project path. Read
mcpforunity://editor/statefor the project root (the editor dataPath's parent). Decide the export format: FBX by default (built-in importer, zero extra dependencies). Use glTF/.glb only if glTFast is installed and PBR fidelity matters. - Export from Blender to a temp path via
mcp__blender__execute_blender_code:
(glTF branch:import bpy, os, tempfile out = os.path.join(tempfile.gettempdir(), "blender_to_unity.fbx") # Export the selection if any, else the whole scene: bpy.ops.export_scene.fbx(filepath=out, use_selection=bool(bpy.context.selected_objects), apply_unit_scale=True, bake_space_transform=True) print(out)bpy.ops.export_scene.gltf(filepath=out_glb, export_format='GLB').) - Import into Unity with
import_model_file:import_model_file(source_path=<temp path>, name=<asset name>, target_size=<final size in meters>). It returns{ asset_path, asset_guid }. Passtarget_sizeas the intended final size, but treat it only as a hint: it rescales at import solely when the project's Auto-normalize pref is on, and even then is unreliable for Blender FBX (see the Scale note). Step 4 does the reliable normalization. - Place it in the scene, normalized to size. Ensure the scene has a camera + directional
light (
manage_scene/manage_gameobject). Instantiate the model at the chosen position viamanage_gameobject(action="create", prefab_path=<asset_path>, name=<asset name>, position=[x,y,z]). Then normalize its size deterministically — Blender FBX commonly imports ~100× too large — by measuring the placed model's world bounds and scaling so its largest dimension equals your target size. Run viaexecute_code(substitute your object name and target meters):var go = GameObject.Find("<asset name>"); var rs = go.GetComponentsInChildren<Renderer>(); var b = rs[0].bounds; for (int i = 1; i < rs.Length; i++) b.Encapsulate(rs[i].bounds); float maxDim = Mathf.Max(b.size.x, Mathf.Max(b.size.y, b.size.z)); float target = 2f; // intended size in meters if (maxDim > 0.0001f) go.transform.localScale *= target / maxDim; - Verify with
manage_camera(action="screenshot", include_image=true)and report the asset path + a screenshot.
Notes
- Scale. Models from Blender almost always arrive at the wrong scale — its FBX unit handling
makes them land ~100× too large in Unity.
import_model_file'starget_sizeonly rescales at import when the project's Auto-normalize pref is enabled, and its importer-level normalization is unreliable for Blender FBX (it can over- or under-shoot, e.g. atarget_size=2model measured 200 m). The robust fix is the Step 4 measure-bounds-then-set-localScaleroutine, which hits the target size deterministically regardless of the import scale or the Auto-normalize pref. - FBX is the default because glTFast is optional in MCP for Unity. If the import errors with "GLB import requires glTFast", re-export as FBX (or install glTFast from the Dependencies tab).
- Keep one model per handoff; for batches, repeat the loop with distinct names.
- This skill never sends API keys or file bytes over the MCP bridge — Unity reads the file from disk.
import_model_filecopies only the single source file; for multi-file exports (a text.gltfwith an external.bin, or an.objwith a sibling.mtl/textures), zip them first and pass the.zip— a bare.gltf/.objwill lose its sidecars.
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.

