Metal Caster is my attempt to rethink game engine design for the Apple ecosystem from first principles.
Instead of building a general-purpose engine for every platform and every workflow, Metal Caster is intentionally opinionated: Swift + SwiftUI + Metal + ECS, Apple platforms only, and AI as a first-class interface to the engine.
The engine is open source and can be accessed through GitHub.
Why I Started This
Most engines optimize for flexibility and cross-platform scale.
Metal Caster optimizes for something else:
- Better defaults over endless configuration
- Deep Apple Silicon optimization over portability
- AI-native creation workflows over manual boilerplate
- Visual clarity and tool elegance over feature bloat
The core idea is simple:
Describe what you want -> AI builds it through engine tools -> refine visually in the editor.
I want the engine to feel like a precision instrument: focused, minimal, and fast.
Current Progress (March 2026)
Metal Caster is in an active pre-alpha / architecture-hardening stage, with a working vertical slice across core systems.
What is already working
-
Modular engine foundation
Swift Package-based architecture with dedicated modules for core ECS, rendering, scene, assets, input, physics, audio, AI, and math. -
Core ECS runtime
- Entity/component/system model
- Typed queries
- Event bus
- Engine tick/update loop
-
Renderer and scene stack
- Metal-based render pipeline and render-graph structure
- Scene graph + built-in components (transform, camera, light, mesh, material, name)
- Camera/lighting/mesh systems integrated into runtime/editor flows
-
Editor application (macOS, SwiftUI)
- Multi-panel workspace (scene, hierarchy, inspector, assets, agent discussion)
- Scene operations (create, duplicate, delete, import, save)
- Build and play workflows
-
AI agent system integrated in-editor
- 6 specialist agents (Scene, Render, Shader, Asset, Optimize, Analyze)
- Multi-agent orchestrator for decomposing complex tasks
- Tool-calling architecture with engine snapshots as context
- Multi-provider support (OpenAI, Anthropic, Gemini)
-
Asset + build pipeline
- Scene serialization and bundling (
.mcbundle) - Shader collection and precompilation flow
- SPM runtime project generation for Apple targets
- Scene serialization and bundling (
-
Shader tooling
- Standalone Shader Canvas project for MSL iteration and experimentation
What is still in progress
- Advanced rendering features (PBR depth, GI, particles, etc.)
- Broader test coverage beyond core ECS
- Deeper USD collaboration workflows
- Production hardening for large scenes and long sessions
Ambition
Metal Caster is not trying to be the next “everything engine.”
Its ambition is more specific:
-
Become the best native engine experience on Apple platforms
iOS, macOS, tvOS, and visionOS — with Metal-first performance and Swift-native ergonomics. -
Make AI the primary creation interface
Not a chat sidebar, but a real engine control layer that can inspect state, call tools, and build scenes/materials/systems safely. -
Build a USD-native collaborative workflow
Scene data as composable, version-friendly assets for real team workflows. -
Stay open, inspectable, and performance-transparent
Clean package boundaries, measurable runtime behavior, and APIs that both humans and agents can reason about.
If successful, Metal Caster should feel like the Leica of game engines: focused, deliberate, and uncompromising in its domain.
Project Status
Status: Active development
Focus right now: solidify foundations, improve rendering quality, expand AI tool depth, and strengthen reliability for daily use.
