Game Porting Toolkit 4: Mac에서의 에이전트형 게임 포팅
“오늘은 모든 작업에 Claude Code를 쓰고 있습니다.” Apple의 Metal Ecosystem Team 엔지니어인 David Srour는 WWDC 2026 무대에서 이 문장을 말한 뒤, 세션 357의 남은 시간 내내 Windows의 D3D12에서 동작하는 Microsoft의 MiniEngine을 macOS의 Metal 4로 포팅했습니다. 플랫폼 작업은 에이전트가 맡은 채로 말이죠.1 그 주역은 Game Porting Toolkit 4로, GitHub의 Game Porting Toolkit 마켓플레이스에서 설치하는 플러그인 형태로 에이전트형 스킬을 제공합니다. 플랫폼 지식을 담은 전문가 스킬, 마일스톤 기반 프로세스를 부과하는 워크플로 스킬, 그리고 이 둘을 조율하는 포팅 어시스턴트 에이전트입니다.1 Apple은 이 데모를 애초에 가능하게 만든 기반 그 자체도 구축했습니다. macOS 27에는 gpucapture와 gpudebug가 추가되는데, 이는 사람이 Xcode를 조작하지 않고도 에이전트가 GPU 프레임을 캡처하고 분석할 수 있게 해 주는 명령줄 도구입니다.1
Apple은 코딩 에이전트를 위한 자사 제작 스킬 팩을 공개했습니다. 그 목표는 그동안 에이전트가 단독으로는 손댈 수 없었던 영역입니다. 렌더러를 띄우는 일, 잘못된 픽셀을 디버깅하는 일, 그리고 업스케일러를 튜닝하는 일이죠. 세션 356은 그 짝을 이루는 내용으로, CD PROJEKT RED의 Paweł Sasko가 자신의 스튜디오가 Cyberpunk 2077: Ultimate Edition을 Mac으로 어떻게 직접 손으로 옮겼는지를 설명합니다. Cyberpunk 포팅은 에이전트형 스킬보다 앞선 것이라, CDPR의 누구도 포팅 어시스턴트를 돌리지 않았습니다. Apple은 이 두 세션을 의도적으로 짝지었고, Cyberpunk 강연을 마무리하면서 개발자들에게 에이전트형 세션을 안내합니다.2 두 세션을 함께 읽으면 하나의 주장이 드러납니다. 수동 플레이북은 AAA 규모에서도 통하며, Game Porting Toolkit 4는 그 플레이북을 에이전트에게 건넨다는 것입니다.
TL;DR
- Game Porting Toolkit 4는 게임 포팅을 위한 에이전트형 스킬을 추가합니다. 전문가 스킬(도메인 지식), 워크플로 스킬(마일스톤 기반 프로세스), 그리고 이들을 조율하는 포팅 어시스턴트 에이전트이며, GitHub의 Game Porting Toolkit 마켓플레이스에서 플러그인으로 배포됩니다.1
- 워크플로는 discover(코드베이스 스캔, 평가 환경에서의 참조 캡처, 선호도 질문), plan, execute, validate 순으로 진행됩니다. 각 마일스톤은 “모델이 스킬을 쓰기로 결정하는지 여부에 의존하지 않고” 전문가 스킬을 자동으로 로드하며, 에이전트는 “마일스톤을 넘나들며 배운 것을 저장”합니다.1
- macOS 27은
gpucapture와gpudebug를 제공합니다. 이는 “완전히 자율적인 에이전트 워크플로를 지원하는” CLI 도구이며, 여기에 MetalFX를 위한 Metal HUD 확장 기능으로 노출값 표시, 범위를 벗어난 값을 빨간색으로 표시하는 지터 산점도, 그리고 라이브 오버라이드가 더해집니다.1 - Apple은 이 스킬로 Microsoft의 MiniEngine을 D3D12에서 Metal 4로 포팅하는 데모를 선보였고, 이어서 어시스턴트를 Godot로 향하게 했습니다. Godot는 “며칠 만에 동작하기 시작한” Metal 4 백엔드를 얻었습니다.1
- Cyberpunk 2077은 그 바탕에 깔린 파이프라인이 AAA 규모에서도 수동 방식으로 작동함을 증명합니다. 평가 환경을 기점으로 한 프로파일링, “For this Mac” 자동 프리셋, EDR을 통한 자동 보정 HDR, 그리고 헤드 트래킹 공간 음향. 그리고 Apple의 2025 App Store Awards에서 Mac Game of the Year를 수상했습니다.2
포팅 어시스턴트와 그 스킬 (세션 357)
David Srour가 자신의 에이전트에 이름을 붙이고 Game Porting Toolkit 마켓플레이스에서 플러그인을 설치합니다. 3:26부터.
전형적인 포팅은 작업 범위 산정, 빌드를 통과시키는 일, 셰이더 변환, 렌더러 띄우기, 입력 리매핑, 네이티브다운 느낌을 위한 다듬기, 그리고 성능 최적화를 의미합니다.1 Game Porting Toolkit 4는 두 종류의 스킬로 이 목록을 공략합니다. 전문가 스킬은 기술적 가이드를 제공합니다. 플랫폼 지식, 모범 사례, 그리고 흔한 포팅 안티패턴에 대한 경고입니다. 워크플로 스킬은 구조화된 접근 방식을 제공합니다. 포팅 어시스턴트 에이전트는 이들을 하나로 묶으며, Apple은 왜 조율이 중요한지를 분명히 밝힙니다. “실행 중에는 계획된 모든 마일스톤이, 모델이 스킬을 쓰기로 결정하는지 여부에 의존하지 않고 필요한 전문가 스킬을 자동으로 로드합니다.”1 스킬 선택은 더 이상 모델의 주사위 굴리기가 아니라 프로세스 정의의 일부가 됩니다.
배포는 에이전트 자체의 플러그인 시스템을 통해 이뤄집니다. “스킬과 어시스턴트는 GitHub의 Game Porting Toolkit 마켓플레이스에서 플러그인으로 제공됩니다. 먼저 마켓플레이스를 추가하고, 그다음 플러그인을 설치합니다.”1 그 마켓플레이스 뒤에 있는 저장소는 apple/game-porting-toolkit로, “게임과 엔진을 Apple 플랫폼으로 포팅하기 위한 리소스”라고 설명됩니다. 그 README는 같은 분담을 문서화합니다. Metal 4, MetalFX, 셰이더 컴파일, 플랫폼 프레임워크, 디버깅 도구를 다루는 전문가 스킬과, 마일스톤 기반 포팅 프로세스를 실행하고 세션 간에 상태를 유지하는 워크플로 스킬입니다.3 Claude Code에서는 마켓플레이스 등록이 명령어 하나로 끝납니다. /plugin marketplace add apple/game-porting-toolkit입니다.3
어시스턴트의 워크플로에는 세 단계가 있습니다. discover는 코드베이스를 살펴보고, 평가 환경(CDPR이 사용한 것과 같은, 번역된 Windows 빌드 환경. 자세한 내용은 아래에서)에서 참조 캡처를 가져오며, 선호도에 관해 질문합니다. 그다음 여러분과 어시스턴트가 마일스톤 목표를 계획합니다. “타이틀 전체를 포팅하는 것은 보통 한 세션에는 너무 크기 때문”입니다.1 각 마일스톤에서는 여러분이 안내하는 가운데 에이전트가 변경을 실행하고, 이어서 validate가 여러 항목으로 된 체크리스트를 실행합니다. 앱이 제대로 실행되는지, Metal 검증이 API 사용과 셰이더를 통과하는지, 화면 캡처가 그라운드 트루스 참조와 대조해 시각적 정확성을 확인하는지, 에이전트가 사용한 스킬에 담긴 알려진 안티패턴에 비추어 코드를 검토하는지, 그리고 메모리 문제가 없는지입니다.1 에이전트는 또한 “마일스톤을 넘나들며 배운 것을 저장하므로, 세션 사이에 잃어버리는 것이 없습니다.”1
MiniEngine 데모는 전문가 스킬이 실제로 무엇을 가져다주는지 보여 줍니다. 첫 번째 마일스톤인, 프레임 페이싱이 올바른 창을 위해 네 개의 스킬이 함께 로드됩니다. 창 생성과 라이프사이클, 스왑 체인 개념 매핑, 드로어블 표시, 그리고 metal-cpp 객체 라이프타임입니다.1 장면 렌더링의 경우, resources 스킬이 Metal 4의 레지던시 모델을 가르칩니다. 리소스를 일찌감치 레지던시 세트에 등록하라는 것이죠. 이 지식이 없으면 에이전트는 컴파일은 되지만 GPU가 텍스처를 읽지 못하는 코드를 만들어 냅니다.1 shader pipeline과 converter 스킬은 MiniEngine의 인덱스×크기 산술을 복사하는 대신, Metal 셰이더 컨버터 런타임에 argument buffer 오프셋을 질의하도록 에이전트를 이끕니다. 전자의 방식은 컨버터가 버퍼를 다른 레이아웃으로 배치할 때 깨집니다. “오류는 없고, 그저 렌더링이 잘못될 뿐입니다.”1 synchronization 스킬은 D3D12의 배리어 모델을 Metal 4의 생산자-소비자 모델로 매핑합니다. 에이전트가 인코더 경계에서 일괄 배리어로 물러서는 것을 막기 위함이죠. 일괄 배리어는 단순한 경우에는 동작하지만, 파이프라인이 커지면 조용히 깨집니다.1 이 셋 모두에서 하나의 패턴이 떠오릅니다. 스킬이 막아 주는 실패 양상은 크래시인 경우가 드뭅니다. 그것은 오류 메시지가 없는 잘못된 픽셀입니다.
스킬은 첫 플레이 가능 단계를 넘어서까지 뻗어 갑니다. game controller 스킬은 GCController 검색을 다루며, XInput의 고정된 레이아웃을 가정하는 대신 연결된 기기가 실제로 무엇을 지원하는지 질의하도록 에이전트를 가르칩니다.1 두 개의 MetalFX 스킬은 업스케일링과 프레임 보간을 다룹니다. upscaling 스킬은 지터를 픽셀 공간에서 구성하고(정규화된 값은 사실상 시간적 누적을 비활성화합니다), 올바른 스케일과 규약으로 모션 벡터를 설정하며, MIP 바이어스와 히스토리 리프로젝션 설정을 제공합니다. frame interpolation 스킬은 전용 present 스레드를 마련해 보간된 프레임과 렌더링된 프레임이 고르게 간격을 유지하도록 합니다.1
Srour는 두 번째 코드베이스로 마무리했습니다. “포팅 어시스턴트를, 기존 Metal 3 백엔드를 가진 프로덕션 엔진인 Godot로 향하게 하고, 그 옆에 Metal 4를 추가하도록 요청했습니다.”1 같은 워크플로, 같은 스킬, 그라운드 트루스에 대한 검증입니다. “여전히 협업이긴 하지만, 스킬 덕분에 작업이 상당히 빨라졌습니다. 며칠 만에 동작하기 시작했습니다.”1 세션 전체에 걸친 그의 역할 분담은, 에이전트형 포팅에 회의적인 누구에게나 인용할 만한 부분입니다. “무거운 일은 스킬에 맡기고, 저는 다른 것에 집중했습니다. 아키텍처 결정, 에이전트 출력 검토, 그리고 게임에 관한 중요한 컨텍스트 제공입니다.”1
gpucapture와 gpudebug: 자율 디버깅의 기반
세션 357의 결정적 순간은 MiniEngine 포팅의 중반에 찾아옵니다. 첫 화면이 잘못된 조명과 눈에 띄게 늘어난 벽 텍스처와 함께 떠올랐을 때입니다. Srour는 그 공백을 직접적으로 짚습니다. “보통이라면 Xcode에서 프레임을 캡처해 문제를 진단합니다. 하지만 지금까지 에이전트는 그것을 스스로 할 수 없었습니다.”1 GPU 디버깅은 자율적인 그래픽스 작업에서 넘기 힘든 벽이었습니다. 모든 것이 GUI를 거쳐야 했으니까요.
macOS 27은 그 벽을 허뭅니다. “macOS 27은 완전히 자율적인 에이전트 워크플로를 지원하는 새로운 명령줄 도구를 도입합니다. GPU 프레임을 캡처하는 gpucapture와 그것을 분석하는 gpudebug입니다.”1 데모에서 Srour가 시각적 증상을 설명하자, 에이전트는 증상에서 근본 원인으로 이어지는 구조화된 방법론을 갖춘 debugging-rendering-issues 스킬을 로드하고, 앱이 실행되는 동안 gpucapture로 트레이스를 캡처한 뒤, gpudebug를 사용해 “Xcode에서 평소 확인하는 모든 것, 즉 리소스 바인딩, 상수, 리소스 내용, 그리고 파이프라인을 통과하는 데이터 흐름”을 들여다보며, 출력이 평가 환경에서 어디서 갈라지는지를 추적해 문제를 찾아 고치기에 이릅니다.1 같은 도구는 이어서 validate에도 쓰입니다. 에이전트는 디스패치 호출, 파이프라인, 디스패치 차원을 원본 트레이스와 비교합니다. 이는 마일스톤마다 손으로 하기에는 번거롭다고 Srour가 말하는 나란히 놓고 하는 비교입니다.1 Apple의 제품 페이지는 그 틀을 분명히 밝힙니다. Metal 도구에 대한 명령줄 액세스로, 이제 에이전트는 Metal 워크로드를 직접 캡처하고 디버깅하고 프로파일링할 수 있습니다.3
macOS 27은 MetalFX 통합 작업을 위해 Metal HUD도 확장합니다. 이제 HUD는 업스케일러의 노출 파라미터를 표시해 API에 도달했는지 확인할 수 있게 하고, 범위를 벗어난 지터를 산점도에 빨간색으로 표시하는 지터 시퀀스 정보를 보여 주며, 앱이 실행되는 동안 적용되는 지터 배율과 모션 벡터 스케일의 라이브 오버라이드를 제공합니다.1 데모 진단은 이 기법의 깔끔한 예입니다. 카메라가 움직이는 동안 흔들리는 아티팩트가 나타나고, HUD는 모션 벡터의 X-scale이 반전되어 있음을 보여 주며, 오버라이드 패널에서 그것을 뒤집으면 흔들림이 사라집니다. 그리고 “HUD 오버라이드로 출력이 고쳐진다면, 그것은 버그가 어디 있는지를 알려 줍니다.”1 그다음 그 수정을 원본 소스 로직으로 거슬러 추적합니다.
Cyberpunk 2077: AAA 규모의 수동 플레이북 (세션 356)
Paweł Sasko가 M5 Max MacBook Pro에서 “For this Mac” 프리셋을 둘러봅니다. 15:26부터.
세션 356은 Apple의 Game Performance 팀 엔지니어인 Garrett Austin와 CD PROJEKT RED의 Associate Game Director인 Paweł Sasko를 짝짓습니다.2 시간 순서를 정확히 해 두겠습니다. Cyberpunk 2077: Ultimate Edition은 Mac에 출시되어, Game Porting Toolkit 4의 에이전트형 스킬이 존재하기 전에 Apple의 2025 App Store Awards에서 Mac Game of the Year를 수상했습니다.2 CDPR은 이 세션의 모든 단계를 손으로 했습니다. 이 세션이 에이전트형 포팅에 관한 글에 속하는 이유는, CDPR이 수동으로 거친 파이프라인이 이제 포팅 어시스턴트가 조율하는 것과 같기 때문입니다. 평가 환경, Metal 셰이더 컨버터, MetalFX, 그라운드 트루스 검증입니다. 그리고 Apple은 그 둘을 스스로 잇습니다. Cyberpunk 세션을 마무리하며 시청자를 “에이전트형 코딩으로 게임 포팅을 스피드런하기”로 보내는 것이죠.2
CDPR의 첫 수가 패턴을 정했습니다. “Cyberpunk 2077의 Mac용 네이티브 경로를 만들기 시작하기 전에, 저희는 Apple의 Game Porting Toolkit을 사용해 Windows 빌드를 macOS의 번역 환경에서 평가했습니다. 덕분에 코드를 한 줄도 쓰기 전에 귀중한 통찰을 얻을 수 있었습니다.”2 스튜디오는 평가 환경에서 미리 정한 핫스폿 시퀀스 묶음을 실행하고, 각 실행을 세 가지 각도에서 읽었습니다. 엔진 내장 프로파일러의 통계적 프레임 타임 데이터, 장면 이벤트와 트레이스 사이의 Metal HUD 상관관계, 그리고 스레드별로 분해한 엔진 내부 프로파일링입니다.2 신호는 일찍부터 분명했습니다. 고사양 하드웨어에서 GPU 시간은 건강해 보인 반면, 밀집한 도심 주행은 CPU 부담을 진짜 핫스폿으로 드러냈습니다. 환경은 자신의 아티팩트마저 표시해 주었습니다. 라이브 셰이더 번역으로 인한 프레임 타임 진동과 무거워 보이는 오디오 미들웨어인데, 둘 다 네이티브 바이너리에서는 해소되었습니다. Game Porting Toolkit이 그것들을 식별해 준 덕분에 CDPR은 일찍 조사해야 함을 알았습니다.2 이를 세션 357의 discover 단계에 겹쳐 보세요. 어시스턴트는 단 하나의 마일스톤을 계획하기 전에 같은 평가 환경에서 참조 캡처를 가져옵니다. 그 계승은 직접적입니다.
출시 단계의 다듬기야말로 Mac 버전이 두드러지는 지점이며, 그것은 첫 실행에서 시작됩니다. “For this Mac”은 기기 기반 그래픽스 프리셋 시스템입니다. 여러분의 Mac에 있는 하드웨어를 감지해 그 기기에 맞게 설정을 자동으로 구성합니다.2 CDPR은 이미지 충실도를 지켜 주는 기기별 설정을 골랐고, 30 또는 60 FPS의 목표 프레임레이트를 설정했으며, 튜닝된 최소와 최대 해상도 경계 사이에서 Dynamic Resolution Scaling을 적용한 MetalFX를 실행하고, 프레임 페이싱을 위해 VSync를 설정했으며, 디스플레이 성능에 따라 HDR을 활성화했습니다. 그런 다음 남은 모든 설정을 기기별로 측정-개선-재검증 루프로 튜닝했습니다.2 Sasko는 그 결과를 M5 Max 칩을 탑재한 MacBook Pro에서 선보였습니다. Ultra 프리셋을 기본으로, VSync를 적용한 60 FPS 고정, 2336x1460 출력의 50에서 80 퍼센트 사이에서 렌더링하는 Dynamic Resolution Scaling. 이로써 게임에서 가장 무거운 구역 중 하나인 Dogtown의 Black Market을 기본 설정 그대로 60 FPS로 유지했습니다.2 이 발상은 퍼지고 있습니다. “다른 개발자들도 자신의 게임에서 ‘For this Mac’ 설정을 채택하기 시작했습니다.”2
HDR은 보정 화면 없이 출시됩니다. CDPR은 Apple의 Extended Dynamic Range 파이프라인을 통해 HDR을 구현했고, 디스플레이의 현재 최대 EDR 값을 얻기 위해 maximumExtendedDynamicRangeColorComponentValue를 폴링한 뒤 그 값을 톤 매퍼에 곧장 전달했습니다. 이 값은 디스플레이 하드웨어와 조건에 따라 바뀌므로, 톤 매퍼는 패널이 실제로 할 수 있는 것을 항상 따라갑니다.2 HDR은 디스플레이에 그만한 헤드룸이 있을 때 기본으로 켜집니다. 게임은 maximumPotentialExtendedDynamicRangeColorComponentValue를 확인하고, 디스플레이의 최대 잠재 EDR 값이 2.0을 넘으면 HDR을 활성화합니다.2
오디오도 같은 기본 켜짐 처리를 받습니다. Cyberpunk의 미들웨어는 AVAudioEngine을 통해 Apple의 공간 음향 API를 구현하며, CDPR은 AVAudioEnvironmentNode의 listenerHeadTrackingEnabled 속성을 true로 설정해 AirPods의 헤드 트래킹을 활성화했습니다. 추가 설정 없이 기본으로 켜집니다.2 Game Mode는 같은 하드웨어를 돕습니다. 게임에 CPU와 GPU에 대한 더 높은 우선순위 접근을 부여하고 Bluetooth 샘플링 속도를 두 배로 높여, 무선 컨트롤러와 AirPods 오디오의 지연을 줄입니다. 그리고 macOS는 게임으로 분류된 앱에 대해 이를 자동으로 활성화합니다.2
결과 수치가 이 플랫폼에 대한 판결을 마무리합니다. Cyberpunk 2077은 모든 플랫폼을 합쳐 3,500만 장이 팔렸고, 여기에 Phantom Liberty가 추가로 1,000만 장 팔렸으며, Cyberpunk 2077: Ultimate Edition은 Apple의 2025 App Store Awards에서 Mac Game of the Year를 수상했습니다.2 Sasko의 요약은 스튜디오들이 기억할 한마디입니다. “중요한 것은 무언가에 얼마나 많은 일을 쏟아부었느냐가 아니라, 우리 플레이어에게 그 결과가 무엇이냐입니다.”2
어떻게 시작하나
두 세션은 하나의 순서로 엮입니다.
- 먼저 Windows 빌드를 평가 환경에서 실행하세요. 코드는 필요 없으며, 환경은 이제 호환성과 성능 테스트를 위해 Metal 4를 지원합니다.3 CDPR의 읽는 법을 따르세요. 핫스폿 시퀀스, 프레임 타임 통계, Metal HUD 상관관계, 그리고 스레드별 CPU 프로파일링입니다. 그리고 번역 계층 아티팩트는 결론이 아니라 표시된 단서로 다루세요.2
- 스킬을 설치하세요. Game Porting Toolkit 마켓플레이스를 추가하고 플러그인을 설치합니다. Claude Code에서 마켓플레이스 등록은
/plugin marketplace add apple/game-porting-toolkit입니다.13 다음에 무엇을 해야 할지 모르겠다면 포팅 어시스턴트에게 물어보세요. 그 첫 단계는 디스커버리입니다.1 - 어시스턴트와 함께 마일스톤을 계획하고, 검증이 각 마일스톤을 통과시키게 하세요. 앱 실행, Metal 검증, 그라운드 트루스에 대한 캡처 비교, 안티패턴 검토, 그리고 메모리 점검이 마일스톤마다 실행되며, 에이전트는 배운 것을 다음 세션으로 가져갑니다.1
- 디버깅 루프를 위해 macOS 27로 올라타세요.
gpucapture와gpudebug는 에이전트에게 자율적인 프레임 캡처와 분석을 부여하고, Metal HUD의 MetalFX 확장 기능(노출값 표시, 지터 산점도, 라이브 오버라이드)은 게임이 실행되는 동안 업스케일러 버그를 국소화합니다.1 - Cyberpunk의 출시 체크리스트를 가져다 쓰세요. 첫 실행을 위한 “For this Mac” 스타일의 자동 프리셋, 2.0을 넘는 잠재 헤드룸에서 기본 켜짐으로 동작하는 EDR 구동 자동 보정 HDR, 그리고
listenerHeadTrackingEnabled를 통한 헤드 트래킹 공간 음향입니다.2
FAQ
Game Porting Toolkit 4는 에이전트를 위해 정확히 무엇을 추가하나요?
세 가지입니다. Metal 4, MetalFX, 셰이더 컴파일, 플랫폼 프레임워크, 디버깅 전반에 걸쳐 코딩 에이전트에게 플랫폼 지식, 모범 사례, 안티패턴 경고를 주는 전문가 스킬. 상태가 유지되는 마일스톤 기반 프로세스를 부과하는 워크플로 스킬. 그리고 선택을 모델에 맡기는 대신 마일스톤마다 알맞은 전문가 스킬을 자동으로 로드하며 방법론을 조율하는 포팅 어시스턴트 에이전트입니다.13
포팅 어시스턴트는 어떤 코딩 에이전트 위에서 동작하나요?
Apple의 세션 데모는 전적으로 Claude Code 위에서 동작합니다. Srour는 “오늘은 모든 작업에 Claude Code를 쓰고 있습니다”라고 말합니다.1 스킬은 GitHub의 Game Porting Toolkit 마켓플레이스에서 플러그인으로 설치되며, 저장소는 설치 문서를 코딩 에이전트별로 정리해 두었고 Claude Code의 마켓플레이스 명령어가 직접 기록되어 있습니다.3
gpucapture와 gpudebug는 무엇인가요?
macOS 27의 새로운 명령줄 도구입니다. gpucapture는 실행 중인 애플리케이션에서 GPU 프레임을 캡처하고, gpudebug는 그 캡처를 분석해 그동안 Xcode의 GUI가 필요했던 리소스 바인딩, 상수, 리소스 내용, 그리고 파이프라인 데이터 흐름을 드러냅니다. Apple은 에이전트 워크플로가 “완전히 자율적”일 수 있도록 이것들을 구축했습니다. 이제 에이전트는 사람이 프레임을 캡처하지 않아도 시각적 증상에서 근본 원인으로, 그리고 검증된 수정으로 나아갈 수 있습니다.1
CD PROJEKT RED은 Cyberpunk 2077을 포팅하는 데 에이전트형 스킬을 사용했나요?
아니요. Cyberpunk 2077의 Mac 포팅은 수동 작업이었고, Game Porting Toolkit 4의 에이전트형 스킬이 존재하기 전에 출시되어 Apple의 2025 App Store Awards에서 Mac Game of the Year를 수상했습니다.2 관련성은 반대 방향으로 흐릅니다. CDPR의 파이프라인(먼저 평가 환경, Metal 셰이더 컨버터, Dynamic Resolution Scaling을 적용한 MetalFX, 그라운드 트루스 시각 검증)은 이제 포팅 어시스턴트가 에이전트로 실행하는 것과 같은 플레이북입니다.12
“For this Mac” 프리셋은 어떻게 동작하나요?
플레이어의 Mac에 있는 하드웨어를 감지해 그 기기에 맞춰 그래픽스와 영상 설정을 자동으로 구성합니다. 30 또는 60 FPS 목표, 튜닝된 해상도 경계 안에서의 Dynamic Resolution Scaling을 적용한 MetalFX, VSync, 출력 해상도, 그리고 디스플레이 성능에 따른 HDR이며, 남은 모든 설정은 기기별로 손수 튜닝됩니다. M5 Max MacBook Pro에서 프리셋은 Ultra를 기본으로 삼고 2336x1460의 50에서 80 퍼센트를 렌더링하면서 60 FPS 고정을 유지합니다.2
Mac에서 MLX로 에이전트형 AI 실행하기는 Mac에서의 에이전트형 작업 중 로컬 추론 측면을 다루고, Xcode 27이 에이전트형이 되다는 IDE 측면을 다룹니다. Game Porting Toolkit 4는 게임 포팅에 특화된 세 번째 축입니다. Metal 4의 핵심은 이 스킬들이 겨냥하는 API를 풀어냅니다. 시리즈 전체 허브는 Apple Ecosystem 시리즈입니다.
참고 문헌
-
Apple, WWDC 2026 session 357, Speedrun your game port with agentic coding. Source for Game Porting Toolkit 4’s expert skills, workflow skills, and porting assistant agent; plugin distribution from the Game Porting Toolkit marketplace on GitHub; the discover, plan, execute, validate workflow with auto-loaded skills, ground-truth captures, and cross-milestone memory; the
gpucaptureandgpudebugCLI tools in macOS 27; the Metal HUD MetalFX extensions (exposure display, jitter scatter plot with out-of-range red, live overrides); the MiniEngine D3D12-to-Metal 4 port; the Godot Metal 4 backend running in a few days; and the David Srour quotes, including “I am using Claude Code for everything today.” ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC 2026 session 356, Bringing Cyberpunk 2077 to Mac. Source for the evaluation-environment-first approach and its three profiling angles; the “For this Mac” device-based preset (30/60 FPS targets, MetalFX with Dynamic Resolution Scaling, VSync, HDR by display capability); the M5 Max demo (Ultra base, 60 FPS lock, 50-80 percent of 2336x1460); auto-calibrated HDR via
maximumExtendedDynamicRangeColorComponentValueand the default-on check againstmaximumPotentialExtendedDynamicRangeColorComponentValueexceeding 2.0; head-tracked spatial audio viaAVAudioEnvironmentNode.listenerHeadTrackingEnabled; Game Mode’s doubled Bluetooth sampling rate; the 35 million copies, 10 million Phantom Liberty, and Mac Game of the Year facts; speaker attribution for Garrett Austin (Apple Game Performance) and Paweł Sasko (CD PROJEKT RED); and the closing cross-reference to session 357. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, game-porting-toolkit repository (“Resources for porting games and engines to Apple platforms”) and the Game Porting Toolkit product page. Source for the repository’s expert-skill coverage (Metal 4, MetalFX, shader compilation, platform frameworks, debugging tools) and workflow-skill state persistence, the Claude Code marketplace command
/plugin marketplace add apple/game-porting-toolkit, per-agent install documentation, command-line access for Metal tools letting agents capture, debug, and profile Metal workloads, and the evaluation environment’s Metal 4 support. Verified 2026-06-09. ↩↩↩↩↩↩↩

