애플이 직접 Godot 엔진에 visionOS 플랫폼 네이티브 지원 준비중
(github.com/godotengine)- Apple의 visionOS 팀이 Godot 엔진에 Vision Pro 지원을 추가하고자 하는 첫 PR 제출
- 초기 목표는 기존 Godot 게임의 visionOS 네이티브 실행 및 몰입형 콘텐츠 제작 지원
- iOS 기반으로 visionOS 플랫폼을 구현하고 코드 재사용성과 구조화된 PR 전략을 강조
- iOS/visionOS 관련 기능 테스트 완료, 하지만 일부 기능은 커뮤니티의 도움 필요
- 향후 PR에서 SwiftUI 및 VR Plugin 추가 예정, 몰입형 경험 확장을 위한 기반 마련
Vision Pro 지원을 위한 첫 기여 PR 개요
- Apple의 visionOS 엔지니어링 팀이 Godot 커뮤니티와 협업하여 Vision Pro를 지원하고자 함
- 높은 품질 기준을 유지하며 Godot의 코딩 스타일을 따름
- 기능별로 작고 독립적인 PR로 나누어 제출하고 있으며, 이 PR은 그 첫 번째임
- 이후 PR을 통해 Swift 및 몰입형 VR 기능도 순차적으로 제공 예정
기여 목표
- 현재 Godot 게임을 visionOS의 평면 윈도우에서 네이티브 실행 가능하도록 지원
- 새로운 visionOS VR Plugin을 통해 몰입형 콘텐츠 제작 기능 제공
- 총 세 단계로 기여 계획을 세움
- visionOS 플랫폼 추가 (현재 PR)
- SwiftUI 앱 라이프사이클 및 Swift 컴파일/링크 기능 추가 (예정)
- Vision Pro VR 플러그인 추가 (예정)
기술적 구현 사항
- visionOS 플랫폼은 iOS 기반으로 구현되어 코드 중복 최소화
-
drivers/apple_embedded
폴더를 새로 만들어 iOS와 visionOS 간의 공통 코드 저장 - 각 플랫폼은 고유한 세부 기능만 제공하는 서브클래스를 통해 차별화
- OpenGL 미지원 (visionOS 자체가 OpenGL을 지원하지 않음)
- PR은 검토를 쉽게 하기 위해 여러 커밋으로 나누어 제출
문서화 관련 고려사항
- iOS와 visionOS의 내보내기 플러그인 및 설정 대부분이 공통
-
EditorExportPlatformIOS.xml
파일을EditorExportPlatformAppleEmbedded.xml
로 이름 변경하고 위치 이동 - 문서화 도구 관점에서 적절한지 여부 및 플랫폼별 문서 분리 방법에 대한 커뮤니티 피드백 요청
테스트 진행 사항
- Platformer 데모 프로젝트로 테스트 진행
- iOS와 visionOS 양쪽에서 Metal 렌더링 드라이버 기반으로 Mobile/Forward+ 렌더러 테스트 완료
- iOS 지원 유지됨과 동시에 visionOS에서도 성공적으로 실행됨
커뮤니티에 요청하는 사항
- iOS/visionOS 템플릿에서 플러그인 임베딩 및 링크 기능이 잘 작동하는지 테스트 필요
- IPA 생성 및 One-Click-Deploy 기능이 작동하지 않음 — 원인 분석 및 작동 여부 확인 요청
- ios_deploy를 통한 직접 배포 기능도 테스트 필요 — 사용자가 줄었다면 코드 제거 가능
미구현 기능
- DPI 정보가 현재 하드코딩됨 — SwiftUI 통합 시 API를 통해 런타임 변경 정보 반영 예정
- visionOS용 아이콘 에셋 카탈로그 자동 생성 기능 미구현
- Xcode 프로젝트 내 수동 생성으로 대체 가능
- 커뮤니티 기여 가능 시 매우 환영
- visionOS 플랫폼 SVG 로고가 텍스트 기반 — 시각적으로 보기 좋은 아이콘 기여 요청
Hacker News 의견
-
Apple Vision과 visionOS 제품 라인이 내부적으로 취소되지 않았으며, Apple이 여전히 미래에 대한 의지를 가지고 있음
- Apple Vision Pro 자체는 성공적인 제품이 아니지만, 디스플레이 기술의 발전이 Apple이 가볍고 편안하며 눈에 띄지 않는 AR 안경 형태의 더 매력적인 소비자 제품을 만들 수 있게 할 것임
- AVP의 실패에만 집중하지 않고 장기적인 제품 라인을 보는 관점에서 이 OS를 Godot에 추가하는 것이 의미가 있다고 생각함
- 유지 보수 부담을 누가 질 것인가에 대한 우려는 타당함. Apple은 API의 모호한 버그나 문제에 대해 가장 반응이 빠른 회사는 아니었음 (예: Cocoa 관련). 목표를 언제든지 변경할 수 있는 대형 기술 회사의 지속적인 지원에 의존하는 것은 조심스러움
- 그럼에도 불구하고, 이는 흥미로움
-
Godot는 이미 OpenXR을 통해 VR을 지원하고 있음
- OpenXR은 SteamVR, Oculus, Vive, Pico, Windows Mixed Reality, Quest에서 지원하는 VR/AR 기기의 Khronos 유지 산업 표준임
- visionOS/Vision Pro는 눈에 띄게 부재함
- Apple이 산업 표준을 준수해야 한다고 주장함. 더 확장 가능하고 개방적임
-
visionOS 사용자 두 명이 이 발표에 대해 기뻐함
-
이 추가를 보는 것이 좋음. Godot가 OpenXR을 Apple의 AR 컴포지터에 연결하는 것이 더 나을지, 아니면 이 PR들이 구현한 대로 할지 확신이 서지 않음
- Metal 렌더러에서 AR 컴포지터로 연결하는 것은 많은 작업이 아님. visionOS의 Compositor Services에 대한 문서화가 부족하지만 좋은 C API가 있음. 이는 무거운 유지 보수 부담이 되지 않을 것 같지만, 시뮬레이터에서 두 번째 정점 증폭이 실행되지 않으므로 몇 개의 헤드셋을 기부해야 함. 스레드 그룹당 최대 스레드도 다름. 성능을 측정하려면 실제 하드웨어가 필요함
-
Apple이 개발 기금에 전혀 기여하지 않고 이 PR을 올린 것은 놀라움
- 먼저 문제를 제기하지도 않았음
-
미디어에서 들은 모든 것에서 Apple이 XR 제품을 거의 포기하고 기술이 대중 소비에 준비될 때까지 생명 유지 장치로 유지할 것이라는 인상을 받았음
-
많은 댓글을 읽고 Apple이 해야 할 일은:
- Godot에 돈을 줌
- visionOS 지원을 코어에 직접 구현하지 않고 확장을 통해 구현하거나 산업 표준 OpenXR을 준수함
-
Apple이 Godot에 적절히 시작할 수 있도록 돈을 줘야 함
-
여기서 흥미로운 점은 Apple이 마침내 게임이 중요하다는 것을 배웠다는 것임. 물론 그들은 "우리는 절대 틀리지 않는다"는 태도로 이를 인정하지 않음. 예를 들어, 원래 Mac의 "마우스는 하나의 버튼을 가져야 한다"는 철학을 유지하기 위해 물리적 버튼이 두 개 없는 마우스를 만드는 것처럼. 그들은 배우고 있음, 이는 그들의 휴대폰/태블릿의 USB-C와 달리 자발적이었음
-
Apple이 차세대 Vision 기기를 위해 게임을 우선시할 가능성이 있어 보임. 희망적으로, 나를 포함한 많은 사람들이 게임 지원이 없어서 Vision을 건너뛰었음. 가격은 문제가 아니었음