A command-first RealityKit asset pipeline toolkit for taking a gameplay asset from brief to Blender/USDZ output, RealityKit verification, simulator evidence, and release checks.
rkp is the product. The included SwiftUI + RealityKit target-shooting app is a verification fixture used to prove that generated or imported assets actually load in RealityKit. rkg is experimental labs work on top of the same pipeline; it is not the main user path.
Most RealityKit tutorials stop at code. This repo treats asset production as part of the game loop: each Blender/USDZ asset has a manifest entry, mobile budget, loader contract, screenshot, and learning note.
Primary product:
rkp: the installable CLI for asset status, validation, scaffolding, Blender builds, USDZ inspection, screenshot-based acceptance, tests, and release checks.Skills/realitykit-pipeline-guide: an installable Codex skill that points agents at the same asset, build, and documentation contracts..claude/commands: slash commands such as/rkp,/rkp-asset, and/rkp-statusfor agent-style usage.Sources/RealityKitPipelineDemo: a small playable RealityKit verification fixture that proves pipeline output inside an iOS app.Docs: the teaching, production, and AI-agent handoff layer around the same pipeline.
Experimental labs:
rkg: a game-factory research CLI for scoring ideas, validating specs, scaffolding small RealityKit projects, and generating QA/store-pack docs. Treat it as active research on top of RKP, not as a finished commercial game generator.
Generated assets are tool outputs first. Keep them in Assets/Imported and copy or load them in your own RealityKit game when needed; the fixture app is only a verification harness and does not automatically switch its default gameplay target to every newly generated asset.
| Surface | Maturity | Use it for | Do not assume |
|---|---|---|---|
rkp asset pipeline |
Preview, actively usable | Asset contracts, Blender/USDZ drafts, manifest health, screenshot acceptance, and release gates. | Fully automatic text-to-3D, automatic Xcode project edits, or asset acceptance without screenshot evidence. |
| RealityKit fixture app | Verification harness | Proving imported USDZ files load and behave inside RealityKit. | A production game architecture or the default destination for every generated asset. |
| Codex skill and docs | Teaching/handoff layer | Keeping agents and contributors on the same commands, contracts, and verification gates. | A standalone MCP server; JSON CLI output is the current automation surface. |
rkg game factory |
Experimental labs | GameSpec validation, small generated project scaffolds, archetype exploration, QA/store-pack planning. | A finished commercial game factory or automated App Store submission system. |
rkp init --project-name MyGame
rkp make-asset enemy_drone --type gameplay_target --prompt "red bullseye drone target"
rkp inspect-usdz enemy_drone
rkp verify-asset enemy_drone --build
rkp release-checkWhen simulator or device evidence is available, accept the asset:
rkp accept-asset enemy_drone --screenshot Docs/screenshots/enemy_drone_imported.jpgThis is the product loop. Everything else in the repository exists to teach, verify, or extend that loop.
Prerequisites:
- Python 3.10+ and
pipx. - Blender 4.x if you want to build generated Blender assets locally. See
Docs/blender-support.mdfor the support and fallback matrix. - macOS with Xcode and XcodeGen only if you want to run the included iOS verification fixture.
Install the CLI directly from GitHub:
pipx install git+https://github.com/kingkyylian/realitykitpipelineguide.git
rkp --versionBootstrap any RealityKit project from that project's root:
rkp init --project-name MyGame
rkp doctor
rkp make-asset enemy_drone --type gameplay_target --prompt "red bullseye drone target"
rkp release-checkMachine-readable status and doctor output are available for scripts and agents:
rkp status --json
rkp doctor --json
rkp doctor --blender --jsonThe detailed command manual is Docs/cli-tool.md.
RKP keeps draft generation separate from production acceptance:
make-assetwrites the manifest entry, asset brief, and generator script.build-assetcreates a USDZ draft through Blender or, when requested, the direct fallback builder.inspect-usdzchecks package presence, texture budget, UV signal, and known triangle budget.accept-assetrecords screenshot evidence and moves the manifest status toimported.release-checkvalidates the repo or external project gate.
Fallback builds are still drafts. rkp build-asset enemy_drone --fallback-only deliberately skips Blender and uses the direct USDZ fallback path when usdzip is available, but it does not remove the screenshot acceptance requirement.
| Textured target scoring | Imported arena floor |
|---|---|
![]() |
![]() |
The fixture app starts with procedural RealityKit fallbacks so it can compile before any custom art exists. The asset pipeline then replaces placeholders with USDZ files exported from Blender into Assets/Imported.
To build the included fixture locally:
make bootstrap-dev
make verify-local
.venv/bin/python Tools/rkp.py release-checkCoreSimulator warnings can appear in sandboxed environments; the gate is accepted only when the command exits 0 and prints release-check ok.
Docs/cli-tool.md: normal RKP commands, JSON automation, advanced backends, andv0.1limits.Docs/blender-support.md: Blender version expectations,usdzipfallback behavior, and setup diagnostics.Docs/guide.md: teaching guide for the full asset journey from gameplay need to RealityKit evidence.Docs/pdf/realitykit-pipeline-guide.pdf: shareable PDF snapshot of the guide.Docs/production-playbook.md: production feature/asset gates and definition of done.Docs/new-game-startup.md: checklist for starting a future RealityKit game.Docs/slash-commands.md: slash command usage for agent CLIs.Docs/first-good-issues.md: learner-sized issue candidates.Docs/github-showcase.md: repo description, topics, and release copy.Docs/ai-handoff.md: fast orientation page for AI agents and future sessions.Docs/WORKLOG.md: sprint history, decisions, command evidence, and learning notes.
- Build a SwiftUI + RealityKit verification fixture.
- Generate and import Blender-authored USDZ assets.
- Keep asset scale, origin, UVs, materials, and texture budgets under control.
- Connect visual texture design to gameplay with ring-based scoring.
- Verify every asset with CLI checks, builds, screenshots, and worklog notes.
Current completed learning modules include first USDZ import, scale/orientation tuning, base color texture, UV st primvar lessons, ring-based scoring, arena floor fallback/import, a strong guide PDF, and an installable rkp CLI surface.
- RKP generates asset contracts, Blender scripts, USDZ drafts, manifest status, and release checks; it does not automatically wire arbitrary Xcode project resources.
- Blender background USDZ export is machine-sensitive. Use
rkp doctor --blenderfor diagnostics andrkp build-asset --fallback-onlywhen direct USDZ draft output is intentional. - The fallback builder is for prompt-backed procedural drafts. Visual acceptance still requires loading the USDZ in RealityKit and providing screenshot evidence.
- RKG is experimental. It can scaffold and verify small fixed-camera RealityKit projects, but generated games still need human product review, visual QA, screenshots, and App Store preparation.
- No standalone MCP server ships yet.
rkp status --jsonandrkp doctor --jsonare the stable machine-readable surfaces. - The package version is currently
0.2.1. Pin GitHub installs to a tag for reproducible tool behavior.
Suggested repo description:
Command-first Blender -> USDZ -> RealityKit asset pipeline toolkit with CLI, Codex skill, slash commands, and an iOS verification fixture.
Suggested topics:
realitykit, swift, swiftui, ios, blender, usdz, codex-skill, developer-tools, 3d-pipeline, asset-pipeline


