
🔗 Jump to: Overview · Feedback · Getting started · Skills · Samples · License
The Game Porting Toolkit helps developers bring existing games and engines to Apple platforms, providing developer tools such as the evaluation environment for Windows games and Metal Shader Converter. To learn more, go to https://developer.apple.com/games/game-porting-toolkit/.
This repository includes:
A collection of agent skills to assist porting games to Apple platforms so you can produce higher-quality ports and ship on Apple platforms faster.
Metal-cpp, enabling the use of Metal directly from C++.
Code samples covering end-to-end porting techniques.
We would love to hear your feedback using the Apple Feedback Assistant. Select feedback for Developer Tools, and choose the Game Porting Toolkit sub-category. We aren't accepting pull requests on this repository at this time.
gpucapture and gpudebug — to streamline the debugging process.Clone with submodules so metal-cpp is populated:
git clone --recurse-submodules https://github.com/apple/game-porting-toolkit.git
If you already cloned without it, run:
git submodule update --init --recursive
Installation differs depending on your coding agent of choice.
Register the marketplace:
/plugin marketplace add apple/game-porting-toolkit
Alternatively, register the marketplace from the local git checkout:
/plugin marketplace add /path/to/game-porting-toolkit
Install the plugin:
/plugin install game-porting-skills@game-porting-toolkit
Register the marketplace:
codex plugin marketplace add https://github.com/apple/game-porting-toolkit
Alternatively, register the marketplace from the local git checkout:
codex plugin marketplace add /path/to/game-porting-toolkit
Install the plugin:
codex plugin add game-porting-skills@game-porting-toolkit
Install the extension from a local directory:
gemini extensions install /path/to/game-porting-toolkit/game-porting-skills
The workflow skills run a port as a resumable project, built on two levels: a goal spans many sessions ("get the simplest sample rendering"); a milestone is one session of bounded work toward it. porting-methodology is always loaded and defines the rules; the rest are steps you invoke, directly or through the porting-assistant agent.
porting-discover) — analyze the codebase; write a discovery report. Once per codebase.porting-plan-goal) — pick the simplest target; break it into dependency-ordered milestones.porting-start-milestone) — study code, load skills. No code yet.porting-execute) — write code to the engine's conventions.porting-validate) — verify at runtime: GPU capture, validation layers, leak checks, review.porting-handoff) — commit, update memory, write a handoff note.porting-status reports where things stand, any time.State lives on disk in .porting/ (discovery report, goal documents, handoff notes, porting-memory.md), so a port survives session boundaries and context resets.
For the full list of expert and workflow skills, see game-porting-skills/README.md.
![]() | Starting a Game Port with Metal — An interactive, chapter-based tutorial that walks you through bringing a game from other platforms to macOS, and then to iOS in a single step. It covers project configuration, app life cycle, input, audio, physics simulation, haptics, shader conversion, Metal rendering, Game Center, and CloudKit cloud saves — culminating in a simple game that runs on both macOS and iOS. |
This project is licensed under the terms of the LICENSE. See LICENSE for details.
1 commits

🔗 Jump to: Overview · Feedback · Getting started · Skills · Samples · License
The Game Porting Toolkit helps developers bring existing games and engines to Apple platforms, providing developer tools such as the evaluation environment for Windows games and Metal Shader Converter. To learn more, go to https://developer.apple.com/games/game-porting-toolkit/.
This repository includes:
A collection of agent skills to assist porting games to Apple platforms so you can produce higher-quality ports and ship on Apple platforms faster.
Metal-cpp, enabling the use of Metal directly from C++.
Code samples covering end-to-end porting techniques.
We would love to hear your feedback using the Apple Feedback Assistant. Select feedback for Developer Tools, and choose the Game Porting Toolkit sub-category. We aren't accepting pull requests on this repository at this time.
gpucapture and gpudebug — to streamline the debugging process.Clone with submodules so metal-cpp is populated:
git clone --recurse-submodules https://github.com/apple/game-porting-toolkit.git
If you already cloned without it, run:
git submodule update --init --recursive
Installation differs depending on your coding agent of choice.
Register the marketplace:
/plugin marketplace add apple/game-porting-toolkit
Alternatively, register the marketplace from the local git checkout:
/plugin marketplace add /path/to/game-porting-toolkit
Install the plugin:
/plugin install game-porting-skills@game-porting-toolkit
Register the marketplace:
codex plugin marketplace add https://github.com/apple/game-porting-toolkit
Alternatively, register the marketplace from the local git checkout:
codex plugin marketplace add /path/to/game-porting-toolkit
Install the plugin:
codex plugin add game-porting-skills@game-porting-toolkit
Install the extension from a local directory:
gemini extensions install /path/to/game-porting-toolkit/game-porting-skills
The workflow skills run a port as a resumable project, built on two levels: a goal spans many sessions ("get the simplest sample rendering"); a milestone is one session of bounded work toward it. porting-methodology is always loaded and defines the rules; the rest are steps you invoke, directly or through the porting-assistant agent.
porting-discover) — analyze the codebase; write a discovery report. Once per codebase.porting-plan-goal) — pick the simplest target; break it into dependency-ordered milestones.porting-start-milestone) — study code, load skills. No code yet.porting-execute) — write code to the engine's conventions.porting-validate) — verify at runtime: GPU capture, validation layers, leak checks, review.porting-handoff) — commit, update memory, write a handoff note.porting-status reports where things stand, any time.State lives on disk in .porting/ (discovery report, goal documents, handoff notes, porting-memory.md), so a port survives session boundaries and context resets.
For the full list of expert and workflow skills, see game-porting-skills/README.md.
![]() | Starting a Game Port with Metal — An interactive, chapter-based tutorial that walks you through bringing a game from other platforms to macOS, and then to iOS in a single step. It covers project configuration, app life cycle, input, audio, physics simulation, haptics, shader conversion, Metal rendering, Game Center, and CloudKit cloud saves — culminating in a simple game that runs on both macOS and iOS. |
This project is licensed under the terms of the LICENSE. See LICENSE for details.
1 commits