Install
$ agentstack add skill-meta-quest-agentic-tools-hz-unity-project-analyzer ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Unity Project Analyzer
Analyze, document, and maintain a living knowledge base of a Unity project's structure, optimized for AI agent comprehension. Output lives in .agent-docs/ as source-control-friendly markdown files.
Modes of Operation
This skill operates in four modes. Determine which mode to use based on context:
Mode 1: First-Time Full Scan
Trigger: .agent-docs/ directory does not exist or .agent-docs/index.md does not exist.
Mode 2: Incremental Update
Trigger: User asks to update docs, or AI agent has made structural changes (new scenes, scripts, prefabs, systems). Default update mode.
Important: Incremental updates are part of implementation, not a separate step. When creating or modifying scripts, prefabs, or assets, update the corresponding .agent-docs/ files in the same pass before moving on to the next task.
Mode 3: Full Rescan
Trigger: User explicitly requests a full rescan (e.g., "rescan project", "full project analysis").
Mode 4: Ingestion
Trigger: User asks about the project structure or how a system/feature works (e.g., "what does this project do", "how does the ball system work", "project structure", "load project analysis"). Only use this mode when .agent-docs/ exists. This mode is read-only — do not modify docs.
Instructions for Full Scan (Mode 1) and Full Rescan (Mode 3)
Step 1: Gather Project Overview
- Read
README.md,CHANGELOG.md, and any docs inDocumentation/folder - Read
Packages/manifest.jsonto understand all included packages - List all scenes:
Assets/**/*.unity - List all script folders and assembly definitions:
Assets/**/*.asmdef - List all prefab folders: find directories containing
.prefabfiles - Identify the project's Unity version from
ProjectSettings/ProjectVersion.txt - If Unity MCP is connected, optionally inspect scene hierarchies, prefab components, and project settings programmatically for richer data
Step 2: Ask Clarifying Questions
Before documenting, ask the user about anything that is not clear from the code or docs alone. Examples:
- "I see scenes named X, Y, Z — which is the main entry point?"
- "There's a folder called [name] with assets I can't determine the purpose of — what is it for?"
- "I see multiple networking approaches — which is the primary one?"
Only ask about genuinely ambiguous items. If something is clear from naming, folder structure, or code inspection, document it directly.
Step 3: Analyze and Document
For each category below, create or update the corresponding sub-document:
3a. Project Overview (.agent-docs/project-overview.md)
- Project name, description, Unity version
- Target platform(s)
- High-level architecture summary
- Key third-party packages and how they are used in this project (surface-level only — no internals)
3b. Scene Flow (.agent-docs/scenes/)
Create one file per scene (e.g., .agent-docs/scenes/startup.md).
For each scene document:
- Purpose and role in the project
- Key GameObjects and their purpose
- Which scripts/prefabs are used
- Scene transitions (what loads this scene, what does this scene load)
- Whether it's part of the main runtime flow, a test scene, or an example
Create a scene flow diagram in .agent-docs/scenes/_flow.md using mermaid:
graph LR
Startup --> MainMenu --> Gameplay
3c. Systems (.agent-docs/systems/)
Identify logical systems (networking, UI, audio, input, gameplay, etc.) and create one file per system.
For each system document:
- Purpose and responsibility
- Key scripts (with file paths) and their roles — focus on how to use them, not implementation
- Key prefabs the system uses
- Dependencies on other systems
- Cross-reference related scenes and other system docs with relative links
3d. Prefabs (.agent-docs/prefabs/)
Group or document individually based on clarity:
- If a folder of prefabs is self-explanatory by naming → group doc (e.g.,
.agent-docs/prefabs/ui-elements.md) - If individual prefabs have non-obvious purpose → document individually (e.g.,
.agent-docs/prefabs/player-rig.md)
For each prefab/group:
- Purpose and when to use it
- Nested prefab hierarchy (document nested prefabs and variants)
- Key components attached
- Which scenes use it
- Configuration notes (important inspector values, required references)
3e. Assets (.agent-docs/assets/)
Document non-script, non-prefab assets adaptively:
- Materials, shaders, textures, audio, animations, scriptable objects
- Group when folder naming is clear; document individually when purpose is non-obvious
- Focus on: what is it, what is it for, how/where is it used
3f. Scripts Reference (.agent-docs/scripts/)
Scripts are self-documenting through code. Here, document usage context only:
- Organize by system or feature area
- For each script: purpose, how to use it, which prefab/scene it belongs to
- Do NOT duplicate code or describe implementation details
Step 4: Build the Index
Create or update .agent-docs/index.md as the main entry point:
# [Project Name] — Agent Documentation
> Auto-generated project knowledge base for AI agent comprehension.
> Last updated: YYYY-MM-DD
## Quick Context
[2-3 sentence project summary]
## Document Map
- [Project Overview](project-overview.md)
- Scenes
- [Scene Flow]()
- [SceneName]()
- ...
- Systems
- [SystemName]()
- ...
- Prefabs
- [PrefabGroup]()
- ...
- Assets
- [AssetGroup]()
- ...
- Scripts
- [ScriptArea]()
- ...
## Runtime Flow
[Brief description of app lifecycle from launch to gameplay]
Step 5: Create Config
Create .agent-docs/_config.md:
---
last_full_scan: YYYY-MM-DD
last_update: YYYY-MM-DD
documented_systems:
- system-name-1
- system-name-2
documented_scenes:
- scene-name-1
- scene-name-2
documented_prefab_groups:
- group-name-1
- group-name-2
---
Instructions for Incremental Update (Mode 2)
- Read
.agent-docs/_config.mdand.agent-docs/index.md - Identify what changed:
- If the AI agent just made changes: update only the docs affected by those changes
- If the user asks to update: compare current project state against documented state
- Check for new/removed/renamed scenes, scripts, prefabs
- Check for new packages in
Packages/manifest.json - Check git status for recently modified files if helpful
- Update only the affected sub-documents
- Clean up stale references: If a script, prefab, or asset was deleted or renamed, remove or update references to it in the affected docs. Do not leave broken references.
- Update
.agent-docs/index.mdif new docs were added or removed - Update
last_updateand the documented lists in.agent-docs/_config.md
Do NOT rewrite docs that haven't changed.
Instructions for Ingestion (Mode 4)
- Check if
.agent-docs/index.mdexists — if not, skip (no docs to ingest) - Read
.agent-docs/index.mdto get the document map and quick context - Based on the user's question, read only the sub-docs relevant to what they are asking about. For example:
- "What does this project do?" → read
project-overview.md - "How does the ball system work?" → read
systems/balls.md - "What scenes are there?" → read
scenes/_flow.md - General project questions → read
project-overview.mdandscenes/_flow.md
- Do NOT eagerly read all sub-docs — read on-demand to keep context focused
Document Writing Guidelines
- Audience: AI agents first. Be explicit, structured, and unambiguous.
- Size: Keep each sub-doc concise. Prefer structured lists over paragraphs. Target under 200 lines per doc.
- Cross-references: Use relative markdown links between docs when there's an actual dependency or relationship.
- Diagrams: Use mermaid when it clarifies flow or architecture better than prose. Skip when prose is clearer.
- Third-party packages: Document how the project uses them. Do not document their internals.
- Scripts: Document purpose and usage, not implementation. The code is self-documenting.
- Prefabs: Document nested hierarchies. Note important inspector configuration.
- Source control: One concept per file. Use descriptive filenames. Avoid large monolithic docs.
- Staleness: Include
Last updated: YYYY-MM-DDat the top of each sub-doc. This helps identify docs that may need refresh. - Dates: Use only the date in
Last updatedfields — no parenthetical annotations.
File Naming Convention
- Use lowercase kebab-case for all filenames:
player-controller.md,main-menu.md - Prefix flow/index files with underscore:
_flow.md,_config.md - Match scene/system names but in kebab-case:
Startup.unity→startup.md
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: meta-quest
- Source: meta-quest/agentic-tools
- License: Apache-2.0
- Homepage: https://developers.meta.com/horizon
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.