Not in the top 1,000 by GitHub stars

apple/game-porting-toolkit

Resources for porting games and engines to Apple platforms

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

game-porting-skills/skills/compiling-with-metal-shaderconverter/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/creating-metal4-shader-pipelines/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/debugging-rendering-issues/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/integrating-metal-shaderconverter-shaders/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/managing-metal-cpp-lifetimes/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/managing-metal4-resources/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/managing-metal4-synchronization/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/porting-discover/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/porting-execute/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/porting-handoff/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/porting-methodology/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/porting-plan-goal/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/porting-start-milestone/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/porting-status/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/porting-validate/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/presenting-metal-drawables/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/setting-up-macos-window/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/translating-to-metal4-api/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/using-game-controller/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/using-gpucapture/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/using-gpudebug/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/using-metal-validation/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/using-metalfx-frame-interpolation/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

game-porting-skills/skills/using-metalfx-temporal-upscaler/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 4f42344c90be

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 4f42344c90be22112f46becc3fb9687f423f2f88

git clone --filter=blob:none --no-checkout https://github.com/apple/game-porting-toolkit.git .hotskills/apple-game-porting-toolkit && git -C .hotskills/apple-game-porting-toolkit checkout --detach 4f42344c90be22112f46becc3fb9687f423f2f88 # Copy each selected skill directory from .hotskills/apple-game-porting-toolkit into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/apple/game-porting-toolkit.git .hotskills/apple-game-porting-toolkit && git -C .hotskills/apple-game-porting-toolkit checkout --detach 4f42344c90be22112f46becc3fb9687f423f2f88 # Copy each selected skill directory from .hotskills/apple-game-porting-toolkit into .gemini/skills/<skill-name>/
219GitHub stars
9stars in 7 days
24skills in this repository
0commits in 30 days

Heat

5.8
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 6, 2026219

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

compiling-with-metal-shaderconverter

When your agent uses it

ALWAYS use when compiling DXIL/HLSL to metallib with Metal shader converter (commonly referred to as MSC) via the metal-shaderconverter CLI or libmetalirconverter (IRCompiler, IRObject, IRShaderReflection) at runtime. Covers offline/runtime DXIL compilation, root signatures, reflection output, ray tracing shaders, geometry/tessellation emulation compilation, framebuffer fetch in HLSL, programmable blending in HLSL, Metal_HLSL.inc, and compatibility flags. Do NOT trigger for binding compiled shaders to encoders — use integrating-metal-shaderconverter-shaders for that.

What it loads into context

Frontmatter

132 tokens

Always available to the agent

SKILL.md

1,142 tokens

When the skill is activated

Reference documents

3,201 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Overview
  2. Decision Guide
  3. CLI
  4. Library (libmetalirconverter)
  5. HLSL Metal-language features
  6. Anti-patterns

Files

  • ../../../.claude-plugin/marketplace.jsonasset373 bytes
  • ../../.claude-plugin/plugin.jsonasset415 bytes
  • SKILL.mdcore5,003 bytes
  • SKILL.mdcore5,003 bytes
  • SKILL.mdcore5,003 bytes
  • SKILL.mdcore5,003 bytes
  • SKILL.mdcore5,003 bytes
  • SKILL.mdcore5,003 bytes
  • references/cli.mddoc1,820 bytes
  • references/hlsl-metal-extensions.mddoc3,089 bytes
  • references/library.mddoc8,419 bytes
Read SKILL.md

# Metal shader converter — CLI & Library

## Overview

Two modes: **CLI** (`metal-shaderconverter`) for offline/build-time compilation, **library** (`libmetalirconverter` C API) for runtime compilation. Both produce metallibs consumed by the Metal framework. Use the CLI for build pipelines and asset cooking; use the library when DXIL must be compiled at runtime (e.g., an engine that ships DXIL and compiles to metallib on first load).

For binding compiled shaders to Metal encoders at draw/dispatch time, see `integrating-metal-shaderconverter-shaders`.

## Decision Guide

| Scenario | Use |
|---|---|
| Build pipeline, asset cooking, offline shader cache | CLI |
| Compile DXIL to metallib at runtime | Library |
View the complete source on GitHub

Skills included

  • compiling-with-metal-shaderconverter
  • creating-metal4-shader-pipelines
  • debugging-rendering-issues
  • integrating-metal-shaderconverter-shaders
  • managing-metal-cpp-lifetimes
  • managing-metal4-resources
  • managing-metal4-synchronization
  • porting-discover
  • porting-execute
  • porting-handoff
  • porting-methodology
  • porting-plan-goal
  • porting-start-milestone
  • porting-status
  • porting-validate
  • presenting-metal-drawables
  • setting-up-macos-window
  • translating-to-metal4-api
  • using-game-controller
  • using-gpucapture
  • using-gpudebug
  • using-metal-validation
  • using-metalfx-frame-interpolation
  • using-metalfx-temporal-upscaler

Repository facts

License
Apache-2.0
Created
Jun 8, 2026
Last pushed
Jun 8, 2026
Forks
25
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 44 notes
  • game-porting-skills/skills/compiling-with-metal-shaderconverter/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/compiling-with-metal-shaderconverter/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/compiling-with-metal-shaderconverter/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/compiling-with-metal-shaderconverter/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/compiling-with-metal-shaderconverter/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/creating-metal4-shader-pipelines/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/creating-metal4-shader-pipelines/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/creating-metal4-shader-pipelines/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/creating-metal4-shader-pipelines/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/debugging-rendering-issues/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/debugging-rendering-issues/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/debugging-rendering-issues/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/debugging-rendering-issues/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/debugging-rendering-issues/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/managing-metal-cpp-lifetimes/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/managing-metal4-resources/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/managing-metal4-synchronization/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/managing-metal4-synchronization/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/managing-metal4-synchronization/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • game-porting-skills/skills/managing-metal4-synchronization/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 84 signals by file

game-porting-skills/skills/compiling-with-metal-shaderconverter/SKILL.md

  • Network accessline 34
    If not found, download from https://developer.apple.com/download/all/?q=Metal%20Shader%20Converter

game-porting-skills/skills/compiling-with-metal-shaderconverter/references/hlsl-metal-extensions.md

  • Network accessline 53
    If the shader uses the `RootSig` attribute, every defined feature space must be listed explicitly in the root signature even though it consumes no slots — Metal shader converter skips them during layout, but the entries must be present. The

game-porting-skills/skills/creating-metal4-shader-pipelines/SKILL.md

  • Network accessline 19
    - Metal 4 SDK headers - `$(xcrun --show-sdk-path)/System/Library/Frameworks/Metal.framework/Headers/` — focus on `MTL4Compiler.h`, `MTL4RenderPipeline.h`, `MTL4ComputePipeline.h`, `MTL4MeshRenderPipeline.h`, `MTL4TileRenderPipeline.h`, `MTL
  • Network accessline 20
    - Apple documentation - [Using the Metal 4 compilation API](https://developer.apple.com/documentation/metal/using-the-metal-4-compilation-api)

game-porting-skills/skills/integrating-metal-shaderconverter-shaders/references/vertex-pipelines.md

  • Network accessline 15
    ## Metal vertex fetch (default)

game-porting-skills/skills/managing-metal-cpp-lifetimes/SKILL.md

  • Network accessline 101
    - metal-cpp Foundation headers - `Foundation/NSSharedPtr.hpp` (`NS::SharedPtr`, `NS::TransferPtr`, `NS::RetainPtr`), `Foundation/NSAutoreleasePool.hpp` (`NS::AutoreleasePool`) - metal-cpp source - [apple/metal-cpp](https://github.com/apple/
  • Network accessline 102
    - metal-cpp source - [apple/metal-cpp](https://github.com/apple/metal-cpp)
  • Network accessline 103
    - Apple documentation - [metal-cpp](https://developer.apple.com/metal/cpp/)

game-porting-skills/skills/managing-metal4-resources/SKILL.md

  • Network accessline 34
    - Metal SDK headers - `$(xcrun --show-sdk-path)/System/Library/Frameworks/Metal.framework/Headers/` — focus on `MTLResource.h`, `MTLResidencySet.h`, `MTLAllocation.h`, `MTLHeap.h`, `MTLTexture.h`, `MTLBuffer.h` - Apple documentation - [Reso
  • Network accessline 35
    - Apple documentation - [Resource fundamentals](https://developer.apple.com/documentation/metal/resource-fundamentals)
  • Network accessline 36
    - Apple documentation - [Memory heaps](https://developer.apple.com/documentation/metal/memory-heaps)

game-porting-skills/skills/managing-metal4-synchronization/SKILL.md

  • Network accessline 18
    - Metal 4 SDK headers - `$(xcrun --show-sdk-path)/System/Library/Frameworks/Metal.framework/Headers/` — focus on `MTL4CommandEncoder.h` (barriers), `MTLEvent.h` (events), `MTLFence.h` (fences) - Apple documentation - [Resource synchronizati
  • Network accessline 19
    - Apple documentation - [Resource synchronization](https://developer.apple.com/documentation/metal/resource-synchronization)

game-porting-skills/skills/porting-discover/reference/codebase-analysis.md

  • Network accessline 9
    - What is the deployment target? Metal 4 requires macOS 26+ / iOS 26+. - Can the build system be extended for Apple targets without diverging from the main branch? - Some engines have a Windows-based dev environment — Mac Remote Developer T
  • Network accessline 10
    - Can the build system be extended for Apple targets without diverging from the main branch? - Some engines have a Windows-based dev environment — Mac Remote Developer Tools for Windows allows building CMake projects from Visual Studio with
  • Network accessline 11
    - Some engines have a Windows-based dev environment — Mac Remote Developer Tools for Windows allows building CMake projects from Visual Studio with a Mac as remote target: https://developer.apple.com/documentation/TechnologyOverviews/buildi
  • Network accessline 116
    - **Windowing**: Win32/HWND → NSWindow/UIWindow — see `setting-up-macos-window` skill   - [Managing your game window for Metal in macOS](https://developer.apple.com/documentation/metal/managing-your-game-window-for-metal-in-macos?language=o
  • Network accessline 117
    - [Managing your game window for Metal in macOS](https://developer.apple.com/documentation/metal/managing-your-game-window-for-metal-in-macos?language=objc)
  • Network accessline 118
    - **Graphics**: DirectX/Vulkan/OpenGL → Metal 4 — see Metal 4 domain skills - **Shaders**: (HLSL → DXIL) → Metal IR via Metal shader converter   - [Metal shader converter](https://developer.apple.com/metal/shader-converter/)
  • Network accessline 119
    - **Shaders**: (HLSL → DXIL) → Metal IR via Metal shader converter   - [Metal shader converter](https://developer.apple.com/metal/shader-converter/) - **Input**: XInput/DirectInput/Raw Input → GCController/GCMouse/GCKeyboard — see `using-ga
  • Network accessline 120
    - [Metal shader converter](https://developer.apple.com/metal/shader-converter/)
  • Network accessline 122
    - **Audio**: XAudio2/FMOD/Wwise → AVAudioEngine or platform-specific middleware build   - FMOD and Wwise have Apple platform SDKs — check version compatibility   - XAudio2 has no Apple equivalent; replace with AVAudioEngine: https://develop
  • Network accessline 123
    - FMOD and Wwise have Apple platform SDKs — check version compatibility   - XAudio2 has no Apple equivalent; replace with AVAudioEngine: https://developer.apple.com/documentation/avfaudio/avaudioengine?language=swift - **Threading**: Win32 
  • Network accessline 124
    - XAudio2 has no Apple equivalent; replace with AVAudioEngine: https://developer.apple.com/documentation/avfaudio/avaudioengine?language=swift
  • Network accessline 127
    - Scale thread count via `sysctl` (`hw.perflevel0.logicalcpu` / `hw.perflevel1.logicalcpu`)   - Every thread touching Metal/ObjC must have `@autoreleasepool`   - [Tune CPU job scheduling for Apple silicon games](https://developer.apple.com/
  • Network accessline 128
    - Every thread touching Metal/ObjC must have `@autoreleasepool`   - [Tune CPU job scheduling for Apple silicon games](https://developer.apple.com/videos/play/tech-talks/110147/) - **File system**: backslashes → forward slashes, drive letter
  • Network accessline 129
    - [Tune CPU job scheduling for Apple silicon games](https://developer.apple.com/videos/play/tech-talks/110147/)

game-porting-skills/skills/porting-discover/reference/gptk-and-traces.md

  • Network accessline 7
    - **Apple Games overview** — https://developer.apple.com/games/
  • Network accessline 8
    - **Game Porting Toolkit** — https://developer.apple.com/games/game-porting-toolkit/
  • Network accessline 9
    - **Metal documentation** — https://developer.apple.com/documentation/metal?language=objc
  • Network accessline 10
    - **Metal sample code** — https://developer.apple.com/metal/sample-code/
  • Network accessline 11
    - **Metal developer tools** — https://developer.apple.com/metal/tools/

game-porting-skills/skills/presenting-metal-drawables/SKILL.md

  • Network accessline 35
    - QuartzCore framework headers - `$(xcrun --show-sdk-path)/System/Library/Frameworks/QuartzCore.framework/Headers/CAMetalLayer.h` — declares both `CAMetalLayer` and the `CAMetalDrawable` protocol - Apple documentation - [CAMetalLayer](https
  • Network accessline 36
    - Apple documentation - [CAMetalLayer](https://developer.apple.com/documentation/quartzcore/cametallayer)
  • Network accessline 37
    - Apple documentation - [Managing your game window for Metal in macOS](https://developer.apple.com/documentation/metal/managing-your-game-window-for-metal-in-macos)
  • Network accessline 38
    - Apple documentation - [Metal Performance HUD](https://developer.apple.com/documentation/xcode/monitoring-your-metal-apps-graphics-performance)

game-porting-skills/skills/translating-to-metal4-api/SKILL.md

  • Network accessline 33
    - Metal SDK headers - `$(xcrun --show-sdk-path)/System/Library/Frameworks/Metal.framework/Headers/MTL4*.h` - metal-cpp headers (if using C++) - Metal 4 C++ wrappers live in the `MTL4/` subdirectory (e.g., `MTL4CommandBuffer.hpp`, `MTL4Compu
  • Network accessline 35
    - Apple documentation - [Understanding the Metal 4 core API](https://developer.apple.com/documentation/metal/understanding-the-metal-4-core-api?language=objc)
  • Network accessline 509
    **Reference:** Apple documentation - [Monitoring your Metal app's graphics performance](https://developer.apple.com/documentation/xcode/monitoring-your-metal-apps-graphics-performance)
  • Network accessline 523
    - Apple documentation - [Validating your app's Metal API usage](https://developer.apple.com/documentation/xcode/validating-your-apps-metal-api-usage)

game-porting-skills/skills/translating-to-metal4-api/references/tbdr-architecture.md

  • Network accessline 15
    Tile size is not fixed — it is determined by the total tile memory available divided by the per-pixel memory cost of all render target attachments. Specifically: tile size in pixels is inversely proportional to the per-pixel attachment cost

game-porting-skills/skills/using-game-controller/SKILL.md

  • Network accessline 44
    # Devices (This file, "Controller Lifecycle") <GCDevice>                              https://developer.apple.com/documentation/gamecontroller/gcdevice
  • Network accessline 45
    <GCDevice>                              https://developer.apple.com/documentation/gamecontroller/gcdevice
  • Network accessline 46
    GCController                            https://developer.apple.com/documentation/gamecontroller/gccontroller
  • Network accessline 48
    # Modern Physical Input (`reference/modern-input.md`) <GCDevicePhysicalInputState>            https://developer.apple.com/documentation/gamecontroller/gcdevicephysicalinputstate
  • Network accessline 49
    <GCDevicePhysicalInputState>            https://developer.apple.com/documentation/gamecontroller/gcdevicephysicalinputstate
  • Network accessline 50
    <GCDevicePhysicalInput>                 https://developer.apple.com/documentation/gamecontroller/gcdevicephysicalinput
  • Network accessline 51
    <GCDevicePhysicalInputStateDiff>        https://developer.apple.com/documentation/gamecontroller/gcdevicephysicalinputstatediff
  • Network accessline 52
    <GCPhysicalInputSource>                 https://developer.apple.com/documentation/gamecontroller/gcphysicalinputsource
  • Network accessline 53
    <GCPhysicalInputExtents>                https://developer.apple.com/documentation/gamecontroller/gcphysicalinputextents
  • Network accessline 54
    <GCPhysicalInputElementCollection>      https://developer.apple.com/documentation/gamecontroller/gcphysicalinputelementcollection-c.class?language=objc
  • Network accessline 55
    <GCPhysicalInputElement>                https://developer.apple.com/documentation/gamecontroller/gcphysicalinputelement
  • Network accessline 56
    <GCButtonElement>                       https://developer.apple.com/documentation/gamecontroller/gcbuttonelement
  • Network accessline 57
    <GCAxisElement>                         https://developer.apple.com/documentation/gamecontroller/gcaxiselement
  • Network accessline 58
    <GCSwitchElement>                       https://developer.apple.com/documentation/gamecontroller/gcswitchelement
  • Network accessline 59
    <GCDirectionPadElement>                 https://developer.apple.com/documentation/gamecontroller/gcdirectionpadelement
  • Network accessline 60
    <GCLinearInput>                         https://developer.apple.com/documentation/gamecontroller/gclinearinput
  • Network accessline 61
    <GCAxisInput>                           https://developer.apple.com/documentation/gamecontroller/gcaxisinput
  • Network accessline 62
    <GCAxis2DInput>                         https://developer.apple.com/documentation/gamecontroller/gcaxis2dinput
  • Network accessline 63
    <GCRelativeInput>                       https://developer.apple.com/documentation/gamecontroller/gcrelativeinput
  • Network accessline 64
    <GCPressedStateInput>                   https://developer.apple.com/documentation/gamecontroller/gcpressedstateinput
  • Network accessline 65
    <GCTouchedStateInput>                   https://developer.apple.com/documentation/gamecontroller/gctouchedstateinput
  • Network accessline 66
    <GCSwitchPositionInput>                 https://developer.apple.com/documentation/gamecontroller/gcswitchpositioninput
  • Network accessline 67
    GCControllerInputState                  https://developer.apple.com/documentation/gamecontroller/gccontrollerinputstate
  • Network accessline 68
    GCControllerLiveInput                   https://developer.apple.com/documentation/gamecontroller/gccontrollerliveinput
  • Network accessline 70
    # Profile-based Physical Input (`reference/profile-based-input.md`) GCPhysicalInputProfile                  https://developer.apple.com/documentation/gamecontroller/gcphysicalinputprofile
  • Network accessline 71
    GCPhysicalInputProfile                  https://developer.apple.com/documentation/gamecontroller/gcphysicalinputprofile
  • Network accessline 72
    GCMicroGamepad                          https://developer.apple.com/documentation/gamecontroller/gcmicrogamepad
  • Network accessline 73
    GCDirectionalGamepad                    https://developer.apple.com/documentation/gamecontroller/gcdirectionalgamepad
  • Network accessline 74
    GCGamepad                               https://developer.apple.com/documentation/gamecontroller/gcgamepad
  • Network accessline 75
    GCExtendedGamepad                       https://developer.apple.com/documentation/gamecontroller/gcextendedgamepad
  • Network accessline 76
    GCXboxGamepad                           https://developer.apple.com/documentation/gamecontroller/gcxboxgamepad
  • Network accessline 77
    GCDualShockGamepad                      https://developer.apple.com/documentation/gamecontroller/gcdualshockgamepad
  • Network accessline 78
    GCDualSenseGamepad                      https://developer.apple.com/documentation/gamecontroller/gcdualsensegamepad
  • Network accessline 79
    GCControllerElement (aliased to GCDeviceElement)            https://developer.apple.com/documentation/gamecontroller/gccontrollerelement
  • Network accessline 80
    GCControllerButtonInput (aliased to GCDeviceButtonInput)    https://developer.apple.com/documentation/gamecontroller/gccontrollerbuttoninput
  • Network accessline 81
    GCControllerAxisInput (aliased to GCDeviceAxisInput)        https://developer.apple.com/documentation/gamecontroller/gccontrolleraxisinput
  • Network accessline 82
    GCControllerDirectionPad (aliased to GCDeviceDirectionPad)  https://developer.apple.com/documentation/gamecontroller/gccontrollerdirectionpad
  • Network accessline 83
    GCControllerTouchpad (aliased to GCDeviceTouchpad)          https://developer.apple.com/documentation/gamecontroller/gccontrollertouchpad
  • Network accessline 84
    GCDualSenseAdaptiveTrigger              https://developer.apple.com/documentation/gamecontroller/gcdualsenseadaptivetrigger

game-porting-skills/skills/using-gpucapture/SKILL.md

  • Network accessline 20
    - **Can modify source code →** Programmatic capture via `MTLCaptureManager`: [Capturing a Metal workload programmatically](https://developer.apple.com/documentation/xcode/capturing-a-metal-workload-programmatically)
  • Network accessline 21
    - **Has Xcode available →** Xcode's built-in GPU Frame Capture: [Capturing a Metal workload in Xcode](https://developer.apple.com/documentation/xcode/capturing-a-metal-workload-in-xcode)

game-porting-skills/skills/using-gpudebug/SKILL.md

  • Network accessline 18
    `gpudebug` ships with macOS 27 and later. If not found, tell the user it is not available and suggest opening the `.gputrace` in Xcode's Metal Debugger instead: [Analyzing your Metal workload](https://developer.apple.com/documentation/Xcode

game-porting-skills/skills/using-metalfx-temporal-upscaler/SKILL.md

  • Network accessline 181
    1. **Consult Apple's reference.** [Applying Temporal Antialiasing and Upscaling Using MetalFX](https://developer.apple.com/documentation/metalfx/applying-temporal-antialiasing-and-upscaling-using-metalfx) — `AAPLRenderer.swift` and `Shaders

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 84 facts

and 34 more

Works with

  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.