1. Unity 프로젝트를 하나 만든다.
2. Build Settings에서 Android선택 후 Player Settings를 선택한다.
3. Inspector창의 Other Settings의 Bundle Identifier을 설정한다. "com.test.plugintest"로 설정했다.
나중에 java에서 똑같이 이름으로 사용하게 된다.4. GameObject - Create Empty로 빈 게임오브젝트를 하나 생성한다.
Hierarchy 뷰에서 이름을 "UnityFunctions"로 설정했다. java에서 호출해야할 이름이다.
5. c# 스크립트 파일을 하나 생성한 뒤 아래와 같이 코딩한다.
6. UnityFunctions 게임 오브젝트에 방금 만든 c#스크립트를 컴포넌트화 시킨다.
7. Keystore를 만든 뒤 Build를 한다.
8. Build하고 나면 Temp\StagingArea 폴더가 생성되며, StagingArea폴더 안의 AndroidManifest.xml파일을
copy하여 Assets\Plugins\Android 안에 paste한다. Plugins와 Android 폴더는 없으면 직접 만든다.
9. eclipse에서 Android Applilcation Project를 생성한다.
유니티 Bundle Identifier에서 설정한 "com.test.plugintest"를 Package Name으로 설정한다.
Create Custom launcher icon은 체크 해제해도 상관없다. 이후 설정은 디폴트로 설정하여 완료하고
프로젝트를 생성한다.
10. 프로젝트 속성창에서 들어가서 Java Build Path - LIbraries - Add External JARs를 통해 jar를 추가한다.
유니티 설치폴더\Editor\Data\PlaybackEngines\androidplayer\bin에서 classes.jar를 추가한다.
(유니티 설치폴더\Editor\Data\PlaybackEngines\androidplayer\release\bin으로 변경됐다.)
11. 아래와 같이 코딩한다. 주석을 참조. MainActivity는 UnityActivty로 클래스명을 변경했다.
12. jar를 뽑아내기 위해 Export를 실행한다.
13. JAR 파일 선택.
14. 현재는 코드 소스만 필요하므로 res나 기타 등등의 것들을 jar에 묶을 필요가 없다.
방금 코딩했던 UnityActivity.java만 선택한 뒤 위치를 지정하고 완료를 선택한다.
15. 뽑아낸 jar를 copy하여 8번의 유니티 프로젝트 폴더안에 Assets\Plugins\Android에 paste한다.
16. Assets\Plugins\Android\AndroidManifest.xml파일을 열면 <application> - <activity>의 android:name속성을 "com.test.plugintest.UnityActivity"로 변경해준다. java에서 설정한 패키지명과 클래스명이다.
17. 이제 usb에 안드로이드폰을 연결하고 Unity에서 build&run을 하고 실행을 하면
좌측 상단에서 하얀 숫자들이 빠르게 올라가는 것을 확인할 수 있다.(AndroidJavaClass, AndroidJavaObject등을 사용하였기 때문에 폰에서 확인하지 않으면 에러가 발생한다.)