skills/hz-unity-project-analyzer/SKILL.md
Analyzes, documents, and maintains a living `.agent-docs/` knowledge base for Unity projects targeting Meta Quest and Horizon OS. Use when the user asks to scan project structure, explain how a Unity system works, or update project docs after structural changes.
npx skillsauth add meta-quest/agentic-tools hz-unity-project-analyzerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
This skill operates in four modes. Determine which mode to use based on context:
Trigger: .agent-docs/ directory does not exist or .agent-docs/index.md does not exist.
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.
Trigger: User explicitly requests a full rescan (e.g., "rescan project", "full project analysis").
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.
README.md, CHANGELOG.md, and any docs in Documentation/ folderPackages/manifest.json to understand all included packagesAssets/**/*.unityAssets/**/*.asmdef.prefab filesProjectSettings/ProjectVersion.txtBefore documenting, ask the user about anything that is not clear from the code or docs alone. Examples:
Only ask about genuinely ambiguous items. If something is clear from naming, folder structure, or code inspection, document it directly.
For each category below, create or update the corresponding sub-document:
.agent-docs/project-overview.md).agent-docs/scenes/)Create one file per scene (e.g., .agent-docs/scenes/startup.md).
For each scene document:
Create a scene flow diagram in .agent-docs/scenes/_flow.md using mermaid:
graph LR
Startup --> MainMenu --> Gameplay
.agent-docs/systems/)Identify logical systems (networking, UI, audio, input, gameplay, etc.) and create one file per system.
For each system document:
.agent-docs/prefabs/)Group or document individually based on clarity:
.agent-docs/prefabs/ui-elements.md).agent-docs/prefabs/player-rig.md)For each prefab/group:
.agent-docs/assets/)Document non-script, non-prefab assets adaptively:
.agent-docs/scripts/)Scripts are self-documenting through code. Here, document usage context only:
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](<scenes/_flow.md>)
- [SceneName](<scenes/scene-name.md>)
- ...
- Systems
- [SystemName](<systems/system-name.md>)
- ...
- Prefabs
- [PrefabGroup](<prefabs/group-name.md>)
- ...
- Assets
- [AssetGroup](<assets/group-name.md>)
- ...
- Scripts
- [ScriptArea](<scripts/area-name.md>)
- ...
## Runtime Flow
[Brief description of app lifecycle from launch to gameplay]
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
---
.agent-docs/_config.md and .agent-docs/index.mdPackages/manifest.json.agent-docs/index.md if new docs were added or removedlast_update and the documented lists in .agent-docs/_config.mdDo NOT rewrite docs that haven't changed.
.agent-docs/index.md exists — if not, skip (no docs to ingest).agent-docs/index.md to get the document map and quick contextproject-overview.mdsystems/balls.mdscenes/_flow.mdproject-overview.md and scenes/_flow.mdLast updated: YYYY-MM-DD at the top of each sub-doc. This helps identify docs that may need refresh.Last updated fields — no parenthetical annotations.player-controller.md, main-menu.md_flow.md, _config.mdStartup.unity → startup.mddevelopment
Build and sideload Android apps for Meta Portal devices (Portal, Portal+, Portal Mini, Portal Go, Portal TV) using hzdb. Use when targeting Portal hardware — covers ADB enablement, the no-GMS constraint, manifest/launcher intent-filter requirements, icon density quirks (PNG-only, mipmap-xxxhdpi), the Smart Camera SDK, and the gradle + `hzdb adb` build/deploy/debug loop. Auto-load when the user mentions "Portal" device, targets `minSdkVersion` 28-29 for a tabletop/TV form factor, or works with the `com.facebook.portal` package.
tools
Provides the complete hzdb (Horizon Debug Bridge) CLI reference for Meta Quest and Horizon OS development — installation, device setup, command discovery, MCP server mode, documentation search, app deployment, device testing setup, audio control, screenshots, and performance analysis. Use when the user needs to install hzdb, asks what commands are available, needs CLI syntax help, or wants to know what hzdb can do.
development
Sets up the Meta XR Simulator for testing Meta Quest and Horizon OS apps without a physical device. Use when configuring device-free testing for Unity or Unreal projects.
development
Validates Meta Quest and Horizon OS apps against VRC (Virtual Reality Check) store publishing requirements. Use when preparing a build for Quest Store submission or running pre-submission compliance checks.