Game porting, graphics, and Metal skills from Apple.
Apple skills for porting games and rendering engines to Apple platforms.
Arranged in the author's recommended order. Walk through them in sequence, or open any one on its own.
ALWAYS use as the Metal 4 API reference and cross-API translation map when porting graphics code to Metal 4 — translating Metal 3, D3D12, or Vulkan calls, looking up any MTL4 / Metal 4 API or renamed type, finding the Metal 4 equivalent of a source-API call.
Metal 4 explicit synchronization – barriers, fences, events, and cross-API state translation (from D3D12, Vulkan, OpenGL).
ALWAYS.
ALWAYS.
ALWAYS.
ALWAYS.
ALWAYS.
ALWAYS.
ALWAYS.
ALWAYS use to add MetalFX frame interpolation with a dedicated PresentThread for precise dual-frame presentation to a Metal app.
Setting up the macOS window layer when porting a Windows game to Metal.
ALWAYS.
ALWAYS.
ALWAYS.
ALWAYS.
ALWAYS.
Core development methodology for porting games and engines to Apple platforms. Defines porting goals, milestone lifecycle, debugging escalation, and conventions. Preloaded by the porting agent.
Analyze a codebase before starting a Metal 4 port. Produces a discovery report with platform readiness, graphics backend analysis, feature coverage matrix, and trace-grounded findings. Use before any porting work begins.
Define the next porting goal. Reads the discovery report and current porting state, proposes a goal with milestones, and creates a goal document.
Begin the next milestone. Reads the goal document and latest handoff note, loads relevant skills, studies code paths, and produces a preparation summary for user review. Does NOT write code.
Begin writing code for the current milestone. This is the explicit go-signal after /porting-start-milestone preparation has been reviewed and approved by the user.
Run the validation checklist before the milestone's final commit.
Close out the current milestone. Prompts the user to commit, updates porting-memory.md (watch list and feature status), writes a handoff note, updates the goal document milestone status, and requests a context reset.
Show the current porting status. Reads the goal document, porting-memory.md, and latest handoff note to report where things stand. Read-only – does not continue any work.