사이드 프로젝트를 진행하며 Android에서 특정 탭에 진입 시 유니티 화면을 띄우도록 해야했다.
우선 유니티를 빌드 후 export된 파일을 받았다.(난 받았지만 직접 해야한다면 이 부분은 잘 모르겠다...)

여러 파일이 있는데 이 중 shared, unityLibrary를 복사해 Android 프로젝트 폴더에 복사해넣었다.
이후 local.properties에 ndk의 경로를 추가해야 한다.

ndk 경로는 Unity에서 설치한 경로인 듯 한데.... 사실 어딘지 모르겠어서 gemini한테 폴더 접근 권한을 준 뒤 찾아달라했다.
다음으론 settings.gradle 파일에 unity 프로젝트를 include해서 unityLibrary 폴더를 하나의 모듈로 인식할 수 있도록 한다.
추가로 Unity는 엔진 핵심 기능이 담긴 unity-classes.jar파일을 unityLibrary/libs 폴더 안에 가지고 있다고 한다.(gemini 피셜)
이를 gradle이 찾을 수 있도록 dependencyResolutionManagement 블록 안에 flatDir 설정을 추가해야 한다.

다음으론 Unity 빌드 스크립트가 사용하는 특정 설정값(unityStreamingAssets)을 프로젝트의 gradle.properties에 정의해야 한다. 알고 싶지 않았으나 Sync해보면 에러나서 알 수 밖에 없다.

다른 글들을 확인해보면 나와는 다르게 추가한 글들이 보이는데, 각 내용들이 무엇을 의미하는진 대충 알 것 같긴하지만 왜 필요한지에 대해 알아봐야겠다.
이제 app 모듈의 build.gradle에 의존성을 추가해주면 된다고 봤기에 추가후 Sync를 했다.

어림도 없다.
다른 글에선 되던데.... 어쩌겠나 해결해야지
A problem occurred configuring project ':unityLibrary'.
에러를 보다보니 위 문구가 눈에 들어온다.
아 이거 Unity쪽에서 문제가 있구나!라는 감이 오기 마련이다.
하지만 난 Unity를 모르기에 Gemini에게 도움을 청해본다.

unityLibrary 안에서 사용 중이던 android.libraryVariants가 버전 문제로 인해 더 이상 지원하지 않는다고 한다. 수정 후 버전으로 적용하여 Sync하면 잘된다!

이후 탭 클릭 시 Unity 화면 표출 등은 개발을 진행하며 공부 및 정리해볼 예정이다.
Android에 Unity를 적용시켜보는 것은 처음이기에 설정해야하는 것들이 많을까 싶었지만 생각보다 기본 세팅에는 큰 어려움이 있던 것 같진 않다. 물론 Gemini가 없었다면 이거 꽤 오래 걸렸을건 확실하다.(AI 활용하세요~~)
'Android' 카테고리의 다른 글
| [Android] Notification 사용법 (0) | 2022.09.11 |
|---|---|
| [Android] PendingIntent란? (0) | 2022.08.26 |
| [Android] TabLayout(탭 레이아웃) 구현 (0) | 2022.08.24 |
| [Android] ViewPager2 사용법 (1) | 2022.08.23 |
| [Android] Bottom Navigation 사용하기 (0) | 2022.08.21 |
댓글