맥북에서 언리얼과 오큘러스 퀘스트2를 연결하는 것은 정말 쉽지않다.
관련 자료를 찾는 것도 꽤나 눈물나는 과정이기에 내가 겪었던 다양한 에러와 해결 방법을 기록해두고자 한다.
전반적인 흐름을 참고한 영상을 첨부하고 에러와 해결 방법만 적어두려고 했는데, 혼자 한두번 실패한게 아니라서 나보다 빠르게 성공했으면 하는 마음에 최대한 자세히 설치 방법을 공유하기로 했다.
프로젝트 패키징에서 온갖 실패를 겪으며 정리한 에러의 가장 큰 원인은
1. 언리얼 버전
평소에 UE 5.2.1을 이용해 개발을 했었는데 아직 안정화가 제대로 되지 않은 것 같다.
결국 UE 5.1.1로 다운그레이드를 했고 결과는 성공적이었다.
2. 안드로이드 스튜디오 버전
오큘러스 퀘스트2를 이용하기 위해서는 안드로이드 스튜디오 설치가 필수적이다. 인터넷에서 가장 최신 버전인 Android Studio Flamingo 를 다운받았었는데 언리얼 5.1과 연결하기 위해서는 안드로이드 스튜디오 4.0이 필요하다.
결론
조건 최신버전을 다운받는 것이 아니라 호환되는 버전을 확인하는 것. 반드시 설치 전에 확인하자.
여러 버전이 설치되어 있으면 제대로 된 버전을 받았을 때도 에러가 생길 가능성이 높고, 이전 버전을 삭제하더라도 완전히 삭제되는 것이 아니라 이것 저것 불필요한 파일들이 남아있을 수 있다.
자, 그럼 설치를 시작해보자!
1. Meta Quest Developer Hub for Mac 다운로드
https://developer.oculus.com/meta-quest-developer-hub/
Meta Quest Dev Center - Meta Quest Developer Hub
developer.oculus.com
1-1. 오큘러스 개발자 계정 전환
https://developer.oculus.com/meta-quest-developer-hub/
1-2. 오큘러스와 맥북 케이블로 연결
1-3. 오큘러스를 착용하고 화면에 보이는 창에서 디버깅 허용
2. Epic Games 라이브러리에서 Unreal Engine 5.1.1 다운로드
UE 5.2.1이 출시된지 얼마 되지 않았기 때문에 모든 면에서 안정적이지는 않은 것 같다.
언리얼 버전이 문제인지 확실하지는 않지만, 일단 나는 ver 5.1.1로 성공했기도 하고 돌아다니는 자료들은 전부 UE 5.1 기반이기 때문에 이 버전을 추천한다.
3. Android Studio 4.0 다운로드
https://developer.android.com/studio/archive?hl=ko&authuser=2
설치를 시작하면 Install Type 창이 뜨고 Standard와 Custom을 선택할 수 있다. 다른 자료들에서 Custom을 선택하라고 해서 그걸로 하긴 했는데 따로 바꾼 것은 없고 전부 Next를 눌러 설치하면 된다. 고르는 것은 다크모드/라이트모드 정도..
Android 스튜디오 다운로드 자료실 | Android 개발자 | Android Developers
이 페이지에는 Android 스튜디오 출시 관련 다운로드 자료실이 포함되어 있습니다.
developer.android.com
혹시 자신이 개발하는 시점이 언리얼 5.2가 출시된지 꽤 지났고 관련 자료가 많다면 아래 사이트를 참고해 사용하고 있는 언리얼에 맞는 안드로이드 스튜디오 버전을 확인한 후 다운로드 하면 된다. (제발 설치 전에 확인하자. 최신 버전이라고 무조건 설치 멈춰ㅠㅠ)
https://docs.unrealengine.com/5.0/ko/android-development-requirements-for-unreal-engine/
4. 안드로이드 스튜디오 설정
4-1. 안드로이드 스튜디오에서 Configure, SDK Manager 창을 열어준다.

4-2. SDK Tools
다음과 같이 설정한다. 오른쪽 아래 Show Package Details를 선택하면 더 자세한 버전을 설정할 수 있다.
문제가 생길 때 여기서 버전이 맞는지 여러번 고쳐봤기 때문에 구체적인 버전들을 모두 첨부해두었다. (사실 이 버전이 중요한지 아닌지는 잘 모르겠지만 맞게 설치했다는 확신이 없으면 정말 힘들기 때문이다.)
- Android SDK Build-Tools 34 : 34.0.0, 30.0.3, 29.02, 29.0.0
- NDK : 25.1.8937393
- Android SDK Command-line Tools(latest) : 9.0
- CMake : 3.22.1, 3.18.1
나머지는 첫번째 이미지에서 체크한 것들만 해주고 Apply -> OK
노란색으로 가려둔 부분은 컴퓨터에 SDK 파일이 저장되어 있는 장소이다. 나중에 언리얼 프로젝트 세팅에서 해당 주소가 필요하다.




5. JDK 설치
5-1. 홈브류 설치
홈브류를 이용해 JDK를 설치할 예정이다. Oracle로 설치하는 글도 많긴 한데 회원가입도 해야하고 귀찮다. 홈브류는 쓸 일이 많으니 없다면 이번 기회에 꼭 설치하자. 아래 링크에 JDK 설치 방법 뿐만 아니라 홈브류 설치 방법도 잘 설명되어 있다.
[JAVA] 맥북 M1으로 JAVA OpenJdk8 (JDK 1.8) 설치 / Homebrew 설치 / 환경변수 설정
아.. 나는 정규직이 되었고 맥북을 쓰게 되었다. 이제 후회한다고 해도 달라질 건 없어.............................. 윈도우랑 전부 달라서 너무 힘들다. openjdk 설치를 하려고 했는데 아... 나 윈도우 아
devjjsjjj.tistory.com
5-2. JDK 버전 8.0 설치
이 버전도 중요하다고 하니 꼭 지켜주자.
(블로그에 잘 정리되어 있지만 다른 링크로 들어가기 귀찮은 사람들을 위해)
- 터미널에 brew tap AdoptOpenJDK/openjdk 치고 엔터
- brew install --cask adoptopenjdk8 치고 엔터
- 패스워드 입력하라고 나온다. 맥북 비밀번호 치고 엔터
- adoptopenjdk8 was sucessfully installed! 가 나오면 성공이다.
- 마지막으로 제대로 설치된 것을 확인하고 싶다면 java -version 치고 엔터 눌러서 openjdk version "1.8.0_292" 가 뜨면 된다.
5-3. JAVA_HOME 설정
자신이 쓰고 있는 텍스트 에디터에 따라 터미널에 vi ~/.bash_profile 혹은 vi ~/.zshrc 를 치고 엔터 (모르겠으면 둘다 해보고 다음과 같은 화면이 뜨는 것으로) 중간에 에러가 발생하면 위 블로그에 해결 방법이 잘 나와있다.

에디터모드를 켜고 insert 하기 위해 e와 i를 순서대로 눌러준다.
자바가 설치되어 있는 위치
파인더에서 Macintosh HD /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
해당 파일을 하나씩 찾아가보면 파일들이 있을 것이다. 이제 아까 열어뒀던 에디터 창에 해당 경로를 복붙해주기만 하면 된다.
export JAVA_HOME=
까지 친 후에 아까 파인더에서 찾았던 폴더를 드래그 해 터미널로 갖다 놓으면 경로가 자동으로 입력된다.
그리고나서
export PATH=${PATH}:$JAVA_HOME/bin
까지 넣어주면 끝이다. 이건 직접 입력해야하는 것 같다.
vi ~/.zshrc에 들어가면 이것저것 내용이 많은데 가독성을 위해 꼭 추가해야하는 부분만 첨부하겠다.

마지막으로 source ~/.bash_profile 혹은 source ~/.zshrc 변경사항을 적용하는 새로고침 같은 느낌의 명령어이다.
여기까지 하면 JDK는 완료! (많이 왔다..!)
6. 언리얼 프로젝트 세팅
이제 거의 마무리 단계이다. EpicGames에서 언리얼을 실행시키고 게임에서 가상현실(Virtual Reality)를 선택해 프로젝트를 생성한다.
그런데!!! 나는 여기서 VR 프로젝트가 계속 10% 정도에서 crash 나는 현상을 겪었다.
생성한 VR 프로젝트/Config/DefaultEditor.ini 에서
"vr.InstancedStereo=True" 를 "vr.InstancedStereo=False"로 바꿔준다.
https://forums.unrealengine.com/t/unreal-engine-5-1-vr-project-crashes-while-being-creates/718702
6-1. 언리얼 프로젝트가 열리면 오른쪽 위 세팅/프로젝스 세팅/플랫폼/Android에서
Miniumum SDK version과 target SDK version을 29로 설정한다. (안드로이드 스튜디오 4.0 기준)
혹시 현재 초록색으로 보이는 "플랫폼 파일이 쓰기 가능합니다." 가 빨간색으로 "Project is not configured for the Android Platform" 이라고 떠있으면 그냥 옆에 Configure Now 버튼만 눌러주면 된다.

6-2. 같은 위치(플랫폼)에서 이번에는 Android SDK 에서 경로 설정을 해줘야한다. 가장 중요한 파트...!!!
들어가보면 아마 노란색 박스 부분이 비어있을 것이다. 하나씩 설정해보자.
- SDK : 아까 안드로이드 스튜디오 설정을 하면서 속이 차있는 노란색 형광박스를 찾아가자! 해당 주소를 복붙한다.
- NDK : 파인더에서 해당 경로로 직접 가보면 ndk 파일이 있다. 이 경로를 가져오자.
- JDK : 아까 export 했던 JAVA_HOME 주소를 가져오자.
꿀팁 _ 파인더에서 command + shift + g 하면 경로 창이 뜨는데 파일 경로를 입력하면 자동으로 해당 파일 위치로 이동한다.

7. 프로젝트 패키징
이제 프로젝트 패키징만 성공적으로 완료하면 오큘러스에서 내가 만든 VR프로젝트를 실행할 수 있다!
프로젝트 세팅을 닫고 다시 돌아와서 플랫폼/Android/프로젝트 패키지를 누르면 패키징 시작이다.(파일 위치는 데스크탑을 선택하자)

8. 마지막 에러 해결하기
한 번에 되면 좋겠지만 ... 나는 패키징에서 한 20번쯤 실패한 것 같다. 특히나 성공 직전 마지막 시도는 1시간 18분이나 걸렸음에도 불구하고 실패해서 정말 좌절스러웠다. 패키징에 실패하는 이유는 다양하다.

Exited code 6부터 code 3, code 1까지 다양한 에러를 겪었는데 여러 번 언급했던 버전들, minimum과 target SDK, 안드로이드 sdk 경로설정 등 위에서 설명한 방법대로 하나씩 고쳐갔다. 에러 코드가 바뀔 때마다 무엇을 했는지 적어두면 더 좋았을 것 같아 아쉽기도 하다.
암튼, 마지막으로 2가지 에러 해결 방법을 적어보겠다.
기본적으로 패키징에는 굉장히 오랜 시간이 필요하다. 그런데 출력 로그를 계속 보고 있으면 로그 메세지 창이 버벅거리면서 뭔가 잘못된 것 같다는 느낌이 드는 경우가 있다. (끊임없이 올라오는 메세지들을 보면 언제나.. 뭔가 잘못된게 아닐까 싶은 마음이 들겠지만 딱 이런 창이 뜰 때만 해당 방법을 시도해보자)
Garbage Collection Error

출력 로그에서 가비지 컬렉션 메세지가 끊임없이 나오고 결국 메모리가 부족하다며 프로그램이 죽는다.
생성한 VR 프로젝트 파일/Config/DefaultEditor.ini를 열어보자.


두 줄만 있던 파일에 아래 코드를 추가해준다.
[CookSettings]
MemoryMinFreePhysical=1024
MemoryMinFreeVirtual=1024
MemoryMaxUsedPhysical=16384
다음 사이트를 참고했다. 유튜브 영상과 사이트 post #6에는 마지막 줄을 제외한 나머지를 입력하는데 내 에러는 해결되지 않았었다. 이 때가 1시간 18분 걸린 패키징이었고 사이트에서 다른 댓글들을 참고해 마지막 줄을 추가하니 5분? 정도 걸리고 바로 성공했다.
여러 댓글들을 참고하면서 자신에게 맞는 방법을 꼭 찾으면 좋겠다.
https://forums.unrealengine.com/t/i-have-a-major-problem-in-unreal-engine-5-1/749187
I Have A Major Problem In Unreal Engine 5.1
I Have A Problem That My Project Which I Have Migrated From Unreal Engine 5.0.3 I Cooked Fastly But Now In Unreal Engine 5.1 It Cookes So Slowly And It Says Physical Memory Low Than 2048 MiB Uploading The Log Below Please Help As Soon As Possible Here’s
forums.unrealengine.com
추가로 에러메세지에서 계속 gradle이 문제라고 하는 것 같아서 그 에러도 찾아봤었는데 혹시 모르니 첨부하겠다.
https://forums.unrealengine.com/t/cannot-build-for-android-because-of-gradle-error/463428/18
Cannot build for Android because of Gradle Error
hello everyone I had the same problem in ue5.1 and I solved it. make sure that you are using JDK 8u77 (1.8.0_302) also check that its JDK, not JRE -make sure that you set JAVA_HOME and ANDROID_HOME -make sure that you are using android studio 4.0 Use NDK 2
forums.unrealengine.com
9. 성공
프로젝트 패키징을 성공하면 바탕화면에 Android_ASTC 폴더가 생기고 파일이 생성된다. 수고하셨습니다.


긴 글을 읽어주셔서 감사합니다. 꼭 다들 설치 성공하시길 바라며, 틀린 점이 있거나 질문이 있다면 언제든 댓글 달아주세요!
참고 영상
https://www.youtube.com/watch?v=H0bc2CA8DTc&t=1s
https://www.youtube.com/watch?v=cfgHbIF3Z1k
'언리얼 ᗦ↞◃' 카테고리의 다른 글
| 언리얼 Oculus Quest2 설치부터 연결, 세팅까지 총정리2 - Mac (0) | 2023.07.12 |
|---|---|
| 언리얼 마우스 휠 방향 바꾸기 (0) | 2023.06.27 |