From meta-vr
Ensures complete FBX URLs or absolute paths for importing external 3D models into Unity projects targeting Meta Quest and Horizon OS. Use when adding FBX files, 3D models, or assets via Unity_ImportExternalModel.
npx claudepluginhub meta-quest/agentic-tools --plugin meta-vrThis skill uses the workspace's default tool permissions.
This skill ensures that when importing external 3D models (FBX files) into Unity using the Unity MCP `Unity_ImportExternalModel` tool, full and complete URLs are always provided, preventing import failures due to incomplete paths.
Creates, edits, and manages Unity assets including prefabs, materials, asset database, and Addressables with dependency analysis and import settings. Use for prefab workflows, material editing, asset search.
Manages Unity assets with unity-cli: refreshes Asset Database, inspects info, creates/modifies materials, animation clips, sprite atlases, updates import settings, analyzes dependencies.
Ensures accurate GameObject placement in Unity for Meta Quest and Horizon OS using Renderer/Collider bounds to prevent overlaps when positioning relative to other objects like on, beside, or above.
Share bugs, ideas, or general feedback.
This skill ensures that when importing external 3D models (FBX files) into Unity using the Unity MCP Unity_ImportExternalModel tool, full and complete URLs are always provided, preventing import failures due to incomplete paths.
Use this skill automatically whenever:
Unity_ImportExternalModel tool from Unity MCPALWAYS use complete, fully-qualified URLs for FBX files.
Never use relative paths, partial URLs, or assume path completion. The FbxUrl parameter must be a complete URL or absolute file path.
When a user requests to import a model, determine the source:
Remote URL (HTTP/HTTPS):
http:// or https://.fbx or .zip?param=value&other=data) are required for authenticationhttps://example.com/models/character.fbx?token=abc123&auth=xyzhttps://cdn.fbcdn.net/path/file.fbx?_nc_gid=xxx&_nc_oc=yyy&oh=zzzLocal file (file system):
C:/Users/name/Downloads/model.fbx/home/user/models/model.fbx.fbx or .zipZIP archive:
https://example.com/assets.zipBefore calling Unity_ImportExternalModel, verify the URL:
CRITICAL: For URLs with query parameters (like ?token=...&auth=...), you MUST include the ENTIRE URL including all parameters. Query parameters often contain authentication tokens required for download.
Valid examples:
https://cdn.example.com/assets/models/chair.fbxhttps://cdn.example.com/models/chair.fbx?token=abc123&auth=xyz789 (with query params)https://scontent.fbcdn.net/model.fbx?_nc_gid=xxx&_nc_oc=yyy&oh=zzz (Meta CDN with auth)http://localhost:8000/models/character.fbxfile:///C:/Users/name/Downloads/robot.fbxC:/Projects/Models/tree.fbx (Windows absolute)/home/user/assets/car.fbx (Unix absolute)https://github.com/user/repo/releases/download/v1.0/model.zipInvalid examples (never use these):
models/chair.fbx (relative path)~/Downloads/robot.fbx (tilde expansion not supported)example.com/model.fbx (missing protocol)../assets/model.fbx (relative path)model.fbx (no path at all)The Unity_ImportExternalModel tool requires:
Name (required):
office_chair, character_01, tree_oakFbxUrl (required):
http://, https://)Height (required):
AlbedoTextureUrl (optional):
.png, .jpg, .jpegUse the Unity MCP tool with complete parameters:
{
"Name": "office_chair",
"FbxUrl": "https://example.com/models/office_chair.fbx",
"Height": 1.0,
"AlbedoTextureUrl": "https://example.com/textures/chair_diffuse.png"
}
Never omit the protocol or use partial paths.
After calling Unity_ImportExternalModel:
Check for success:
success: true if import succeededExtract important data:
Report to user:
After importing, use the bounds information with the unity-placement skill for proper positioning:
The imported model has:
- Size: [width, height, depth]
- Center: [x, y, z]
- Prefab: Assets/Prefabs/name.prefab
Consider the size when placing relative to other objects.
When the user gives an incomplete path, ask for the complete path:
User: "Import models/car.fbx"
Ask for clarification: "I need the complete path to the FBX file. Is it:
What is the full path to car.fbx?"
User: "Import from example.com/models/chair.fbx"
Clarify the protocol: "Should this be:
Which protocol should I use?"
User: "Import ../models/tree.fbx"
Request absolute path: "Relative paths aren't supported. Please provide the absolute path to tree.fbx.
For example:
What is the full path?"
Unity_ImportExternalModelBefore calling Unity_ImportExternalModel, verify:
FbxUrl is a complete URL or absolute pathName parameter is a simple identifier (no spaces)Height is a reasonable positive numberAlbedoTextureUrl (if provided) is also a full URL/path with all paramsIf Unity_ImportExternalModel is not available but other Unity MCP tools (like Unity_RunCommand) are working, there are two options.
Tell the user:
"The Unity_ImportExternalModel tool is not currently enabled. To enable it:
Unity_ImportExternalModelIf the user cannot or does not want to enable the tool, read FALLBACK_MANUAL_IMPORT.md (next to this file) for a step-by-step guide to replicate the import pipeline using Unity_RunCommand, based on the reference implementation in the com.unity.ai.assistant package.
| Source Type | Format | Example |
|---|---|---|
| Remote HTTPS | https://domain/path/file.fbx | https://cdn.example.com/models/chair.fbx |
| Remote HTTP | http://domain/path/file.fbx | http://localhost:8000/model.fbx |
| Local Windows | C:/path/to/file.fbx | C:/Users/name/Downloads/robot.fbx |
| Local Mac/Linux | /path/to/file.fbx | /home/user/models/tree.fbx |
| ZIP archive | Same as above with .zip | https://example.com/pack.zip |
After importing, use the returned bounds with unity-placement:
Imported model "robot_character":
- Size: [0.6, 1.8, 0.4]
- Center: [0, 0.9, 0]
- Prefab: Assets/Prefabs/robot_character.prefab
To place this robot on the platform:
[Use unity-placement skill with the size data]
The Unity MCP Unity_ImportExternalModel tool requires complete, absolute URLs or paths. When in doubt:
Goal: Prevent import failures by ensuring every FbxUrl parameter is a valid, complete, fully-qualified URL or absolute file path.