언리얼 인사이트는 타깃 디바이스에 디플로이된 빌드를 포함하여 언리얼 엔진(UE) 애플리케이션에 대한 퍼포먼스 데이터를 기록하고 검토할 수 있는 프로파일링 툴입니다. 트레이스 세션을 기록하려면 언리얼 인사이트(Unreal Insights) 명령줄 실행인자로 애플리케이션을 실행해야 합니다. Android 디바이스에 이러한 실행인자를 제공하려면 이 가이드에 자세히 설명된 몇 가지 추가 단계를 수행해야 합니다.
이 퀵스타트 가이드에서는 다음을 수행합니다.
-
언리얼 엔진 설치와 함께 언리얼 인사이트를 구성합니다.
-
Android 디바이스에 빌드를 디플로이합니다.
-
디플로이된 Android 애플리케이션에
UECommandline.txt를 추가하고 언리얼 인사이트 트레이스 정보를 기록하는 데 필요한 실행인자를 제공합니다. -
언리얼 인사이트를 실행하고 Android 디바이스의 빌드에 연결합니다.
권장 구성 및 전제조건
이 가이드에서는 어떠한 Android 프로젝트도 사용할 수 있습니다. 이 퀵스타트 가이드에서는 다음과 같은 세팅의 새 프로젝트를 사용합니다.
-
탑다운 템플릿
-
모바일/태블릿 플랫폼
-
2D/3D 퀄리티 확장 가능
-
시작용 콘텐츠 없음
이 가이드를 따라 진행하려면 다음이 필요합니다.
-
사용 중인 언리얼 엔진 버전과 호환되는 Android SDK 버전이 필요합니다. Android SDK 구성 가이드를 참조하세요.
-
프로젝트에서 Android 지원을 활성화해야 합니다. Android 퀵스타트 가이드를 참조하세요.
-
컴퓨터에서 USB 또는 WiFi 디버깅이 가능하도록 Android 디바이스를 구성해야 합니다. 개발을 위해 Android 디바이스 구성하기를 참조하세요.
언리얼 인사이트 컴파일하기
언리얼 엔진 설치 디렉터리에 있는 해당 운영체제의 Engine/Binaries/ 폴더에서 이미 언리얼 인사이트가 빌드되어 있는지 확인합니다. 예를 들어, Windows에서는 언리얼 인사이트가 이미 빌드되어 있다면 Engine/Binaries/Win64 폴더에 UnrealInsights.exe 파일이 있을 것입니다.
이 실행파일은 에픽게임즈 런처를 통해 배포된 빌드에서 사용할 수 있습니다. 소스 코드 빌드를 사용하고 있는데 이 파일이 없다면, IDE에서 언리얼 엔진 솔루션을 열고 Programs/UnrealInsights 아래에 나열된 프로젝트를 빌드하세요.
프로젝트에 AndroidFileServer 활성화하기
이후 단계에서 언리얼 인사이트 트레이스 채널을 활성화하려면 명령줄 파일을 Android 디바이스에 푸시해야 합니다. 그러려면 언리얼 Android 파일 툴(Unreal Android File Tool, UAFT)을 사용하여 연결할 수 있는 파일 서버를 프로젝트에 임베드하는 Android File Server(AFS) 플러그인이 필요합니다. Android Debug Bridge(adb)의 대안인 AFS는 언리얼 엔진 프로젝트를 위해 특별히 제작되었으며 UE 애플리케이션과 해당 파일 경로에 더 직접적으로 접근할 수 있도록 해줍니다. 프로젝트에 AFS를 추가하는 단계는 다음과 같습니다.
-
AndroidFileServer 플러그인을 활성화합니다.
-
프로젝트 세팅(Project Settings) > 플러그인(Plugins) > AndroidFileServer 에서
AndroidFileServer 사용(Use AndroidFileServer)세팅을 활성화합니다. 이 세팅을 활성화하면 이후 섹션에서 UnrealAndroidFileTool (UAFT) 에 연결하여 파일을 관리할 수 있습니다. -
조직의 보안 및 네트워크 요구에 맞춰 기타 세팅을 환경설정합니다.
AFS 및 UAFT 환경설정에 대한 자세한 내용은 해당 문서를 참조하세요.
이 가이드에서는 디바이스의 일련번호를 사용하여 UAFT와 연결하지만, 플러그인(Plugins) > AndroidFileServer 세팅에서 보안 토큰(Security Token) 을 사용할 수도 있습니다.
UE Android 프로젝트 패키징하기
UE 프로젝트를 패키징하고 Android 디바이스에 푸시합니다. 자세한 지침은 Android 프로젝트 패키징을 참조하세요. 테스트 디바이스를 이미 구성했다면, 언리얼 에디터 플랫폼(Platforms) 드롭다운 상단에 있는 빠른 실행(Quick Launch) 옵션을 사용하여 프로젝트를 빌드하고 디바이스에 바로 푸시할 수 있습니다.
프로젝트 패키징에 대한 자세한 내용은 빌드 작업 가이드를 참조하세요.
디바이스 매니저에서 Android 디바이스에 연결하기
디바이스에서 라이브 트레이스를 확인하려면 USB 또는 WiFi 디버깅이 가능하도록 디바이스를 구성하고 디바이스 매니저(Device Manager) 에서 이를 사용할 수 있는지 확인해야 합니다. UE에 Android 디바이스를 연결하는 구성에 대한 자세한 내용은 개발을 위해 Android 디바이스 구성하기를, 디바이스 매니저 사용에 대한 자세한 내용은 디바이스 매니저 페이지를 참조하세요.
트레이스를 활성화하여 UECommandline.txt를 Android 디바이스에 추가하기
언리얼 인사이트에서 트레이스 세션을 활성화하려면 명령줄 실행인자 세트와 함께 애플리케이션을 실행해야 합니다. Android에서 UE 애플리케이션은 UECommandline.txt 라는 파일을 통해 명령줄 실행인자를 가져올 수 있습니다. 언리얼 인사이트에 필요한 실행인자를 포함한 UECommandLine.txt 파일을 디바이스에 푸시하는 단계는 다음과 같습니다.
-
언리얼 엔진 설치 디렉터리에서
Engine/Build/Android/UnrealGame폴더를 엽니다. -
UECommandline.txt라는 빈 텍스트 파일을 생성합니다. -
생성한 텍스트 파일에 다음 파라미터를 추가합니다. 이때 [ProjectName]에는 본인의 프로젝트 이름을 넣습니다.
UECommandline.txt 예시
../../../[ProjectName]/[ProjectName].uproject -tracehost=127.0.0.1 -cpuprofilertrace다음 실행인자를 사용하여 추가 로드 시간 정보를 얻을 수 있습니다.
UECommandline.txt 예시
../../../[ProjectName]/[ProjectName].uproject -tracehost=127.0.0.1 -filetrace -loadtimetrace -statnamedevents -trace=Bookmark,Frame,CPU,GPU,LoadTime,File -
devices명령으로UnrealAndroidFileTool.exe를 실행하여 컴퓨터에 연결된 디바이스 목록을 확인합니다.@접두사를 제외한 타깃 디바이스의 일련번호를 적어둡니다. -
shell 명령으로
UnrealAndroidFileTool.exe를 실행하여 인터랙티브 모드로 디바이스에 연결합니다. 다음은ExampleGame의 패키지 이름과 디바이스 일련번호를 사용하여 디바이스에 연결하는 예시입니다. 예시의 일련번호 대신 이전 단계에서 얻은 일련번호를 입력하고, 패키지 이름 대신 애플리케이션에 대해 제공한 이름을 입력합니다.명령줄
UnrealAndroidFileTool.exe -s AB187923123CD123 -p -k [security token] com.OrganizationName.ExampleGame shell -
push명령을 사용하여 디바이스에UECommandLine.txt를 푸시합니다. 이때 타깃 경로에는"commandfile바로가기를 사용합니다. 아래 예시에서 프로젝트 이름은 ExampleGame입니다.명령줄
push D:/UnrealEngine/Projects/ExampleGame/Engine/Build/Android/UnrealGame/UECommandLine.txt ^commandfile -
quit또는exit명령을 실행하여 UAFT를 닫습니다.명령줄
quit
파일 시스템을 사용하여 디바이스를 탐색하는 경우, 해당 디바이스의 UEGame/[ProjectName] 디렉터리에 UECommandline.txt 파일이 있을 것입니다. 애플리케이션을 실행하면 이제 언리얼 인사이트에 대한 트레이스 데이터가 기록됩니다. 추가 명령줄을 사용하여 활성화할 트레이스 채널과 기능을 환경설정할 수 있습니다. 이에 대한 자세한 내용은 언리얼 인사이트를 참조하세요.
라이브 트레이스 세션이 있는 타이밍 인사이트 실행하기
-
언리얼 엔진 설치 디렉터리를 열고
Engine/Binaries폴더로 이동합니다. -
폴더에서 해당 플랫폼에 대한
UnrealInsights.exe를 찾아 더블클릭하여 언리얼 인사이트를 엽니다. -
언리얼 인사이트 세션 브라우저(Session Browser) 에서 Android 디바이스에서 실행 중인 라이브(LIVE) 상태의 세션을 선택하고 열기(Open) 버튼을 클릭합니다.
타이밍 인사이트 창이 나타나면서 CPU 및 GPU 스레드에 대한 프로세싱 데이터가 표시됩니다.
이제 언리얼 인사이트를 사용하여 Android 디바이스에서 퍼포먼스를 프로파일링할 수 있습니다.
Android 디바이스에서 기록된 트레이스 세션 로드하기
언리얼 인사이트 트레이스 세션이 기록되므로 개발자 간에 이 세션을 전달하여 비동기식으로 검토할 수 있습니다. 디바이스에서 트레이스 세션 파일을 가져오는 단계는 다음과 같습니다.
-
shell 명령으로 UAFT를 실행하여 인터랙티브 모드로 디바이스에 연결합니다. 아래 예시에서는 타깃 디바이스를 지정하기 위해 디바이스의 일련번호에 자리표시자를 사용합니다.
명령줄
UnrealAndroidFileTool.exe -s AB187923123CD123 -p com.OrganizationName.ExampleGame -k [security token] shell -
pull명령을 사용하여 컴퓨터에 저장하려는 트레이스 파일을 풀합니다. 이 파일은Saved/Traces디렉터리에 저장되며, 이 디렉터리는^saved바로가기로 액세스할 수 있습니다.명령줄
pull ^saved/Traces/2202999_112345.trace D:/Insights/MyProject/Saved/Traces첫 번째 파일 경로로 지정한 트레이스 파일은 로컬 컴퓨터에서 두 번째 파일 경로로 지정한 디렉터리에 표시됩니다.
트레이스 파일의 이름이나 파일 경로가 확실하지 않다면
ls명령과-R실행인자를 사용하여 프로젝트의 디렉터리에 있는 파일 목록을 가져올 수 있습니다.^project바로가기를 사용하면 최상위 레벨에서 해당 위치에 빠르게 액세스할 수 있습니다.명령줄
ls -R ^unreal -
quit또는exit명령을 실행하여 UAFT를 닫습니다.명령줄
quit -
언리얼 인사이트를 실행하고 트레이스 세션을 로드합니다.
추가 자료
언리얼 인사이트의 프로파일링 툴세트 사용 방법에 대한 자세한 내용은 언리얼 인사이트 문서를 참조하세요.
Android 파일 서버 및 UAFT에 대한 자세한 내용은 Android 파일 서버 문서를 참조하세요.