이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 백정상(Google)님이 참여해주셨습니다.
Unreal Engine은 Epic Games에서 개발한 게임 엔진으로 게임 개발자들이 최첨단 엔터테인먼트, 매력적인 시각화, 몰입도 높은 가상 세계를 원하는 대로 자유롭게 구현할 수 있는 플랫폼입니다. 주요 Android 게임 중에도 Unreal Engine으로 빌드된 게임이 있습니다.
이미지 1. Pixel 4에서 실행되는 Unreal Engine Suntemple 샘플의 스크린 샷
Epic 및 다른 게임 개발자는 Android 스튜디오를 사용하여 C++, Kotlin 또는 자바 프로그래밍 언어를 디버깅하지만 게임 개발자 대부분은 Visual Studio를 중심으로 한 다른 플랫폼에서 개발 워크플로를 진행합니다.
Unreal Engine Mobile팀은 모바일 플랫폼용 Unreal Engine의 기능 개발과 최적화에 집중합니다. 이 팀에서는 Unreal Engine Android 개발과 Fortnite Android 디버깅 및 최적화에 Android 게임 개발 확장 프로그램(AGDE)을 사용하고 있습니다.
사용 방법
Android 게임 개발 확장 프로그램(AGDE)을 도입하기 전에는 Android용으로 디버깅 및 빌드하려면 생성된 Gradle 프로젝트를 Android 스튜디오에서 열고, 자체 키 바인딩 집합이 있는 두 가지 개발 환경 간에 전환하며 컴파일링 또는 디버깅해야 했습니다. 이 과정은 번거롭기도 했고 특히 반복 개발인 경우에는 시간도 너무 많이 소요되었습니다. 이제 AGDE를 사용하면 Android 게임의 개발 작업 주기 전체를 Visual Studio에서 진행할 수 있습니다! 새로운 개발 워크플로로 이전해보시면 Unreal Engine 개발이 훨씬 빠르고 편리하다는 것을 실감할 수 있습니다.
AGDE를 설치하면 Unreal Engine(UE) 4.26.2 이상에 사용할 Visual Studio 프로젝트 파일을 생성할 때마다 Unreal Build 툴이 AGDE에서 사용할 Android 빌드 타겟도 생성합니다. 그 이후 Android에서의 Visual Studio의 Unreal Engine 개발 및 디버깅 환경은 PC 및 기타 플랫폼과 동일합니다. Visual Studio에서 F5를 누르면 AGDE가 실행되고 이어서 C++ Android 빌드가 트리거되며 Android 애플리케이션 패키지(APK)가 생성 또는 업데이트됩니다. 그러면 AGDE가 기기에서 C++ 디버깅 세션을 시작하는데 이를 통해 중단점(breakpoints), 조사식(watches)과 같이 익숙한 Visual Studio 디버깅 기능을 사용하고 디스어셈블리 및 레지스터를 확인할 수 있습니다. AGDE 지원 Android 빌드는 Unreal Build 툴의 Incredibuild 통합을 활용하여 컴퓨터 전반에 Android C++ 코드용 배포 빌드도 제공합니다.
이미지 2. AGDE를 도입한 Unreal Engine 스크린 샷
결과
“Visual Studio 중심 개발 환경에서 AGDE를 자사 워크플로에 통합할 수 있다는 소식에 매우 기대가 컸습니다. Fortnite와 Unreal Engine Mobile 엔지니어들이 업무에 매일 AGDE를 사용하고 있어요, AGDE 도입이 아주 성공적이었다고 생각합니다.” (Jack Porter, Unreal Engine Mobile 팀장) “AGDE를 활용해 Epic에서는 더 빠르고 편리하게 문제를 디버그하고 Visual Studio 안에서 모든 일을 할 수 있게 되어 기존 워크플로를 크게 개선할 수 있었습니다. AGDE를 사용하니 시간이 많이 절감되었고 다른 방법으로는 찾지 못했을 버그도 찾을 수 있었습니다.”
또 “Epic은 앞으로도 계속 AGDE를 사용할 예정이며 모든 Unreal Engine 라이선스 사용자에게 Unreal Engine Android 개발자 지원 워크플로로 AGDE를 권장하는 내용을 문서에 담을 계획입니다.”라고 덧붙였습니다.
Unreal Engine Mobile팀 개발자인 Dmytro Vovk는 Unreal Engine 및 Fortnite Mobile 관련된 일상적인 업무에 AGDE를 사용하고 있습니다. “AGDE는 정말 훌륭해요! 드디어 코드를 단계별로 살펴보듯 어셈블리를 디버그하고 레지스터가 업데이트 되는 것을 확인할 수 있게 되었어요. 익숙한 Visual Studio에서 Android 디버깅을 진행하니 매일의 업무가 훨씬 간편해지고 개발 흐름을 파악할 수 있습니다.”
시작하기
Visual Studio에서 C/C++로 크로스 플랫폼 게임을 빌드할 때 Android 게임 개발 확장 프로그램을 사용해 Android를 타겟팅하는 방법을 알아보세요.