unity - android by rio
TRANSCRIPT
![Page 1: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/1.jpg)
@agatestudio
@agatestudio
Unity Android
Rio Knight
Agate Studio
Sanrio Hernanto
![Page 2: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/2.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Extending Unity Functionality using Java Android
![Page 3: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/3.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Overview
• Extending Unity via Android Plug-in – Creating Unity Android Plug-in
– Java – Unity Communication
– Limitation
– Pros & Cons VS Other Methods
• Java Android Usability – Toast
– Local Notification
– Intent Call
– WebView
– etc
![Page 4: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/4.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Creating Unity Android Plug-in
• Pre-requisite
– Eclipse
– Android SDK
![Page 5: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/5.jpg)
Create New Android Application Project
![Page 6: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/6.jpg)
Create New Android Application Project
![Page 7: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/7.jpg)
Create New Android Application Project
![Page 8: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/8.jpg)
Add Unity Library to Project
![Page 9: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/9.jpg)
Add Unity Library to Project
![Page 10: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/10.jpg)
Create Your Own Class
![Page 11: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/11.jpg)
Create Your Own Class
![Page 12: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/12.jpg)
Create Your Own Class
![Page 13: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/13.jpg)
Export Your Project
![Page 14: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/14.jpg)
Export Your Project
![Page 15: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/15.jpg)
Export Your Project
![Page 16: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/16.jpg)
Put your JAR file as Unity Android Plugins
![Page 17: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/17.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java – Unity Communication
• Java to Unity
– Access to Unity Activity
– Send Message to Unity
• Unity to Java
– Access to Java Class
– Call Java Function
![Page 18: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/18.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java to Unity
![Page 19: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/19.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java to Unity – Unity Send Message
![Page 20: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/20.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Unity to Java - AndroidJavaClass
• Unity C#
• Java
![Page 21: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/21.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Unity to Java - AndroidJavaObject • Unity C#
• Java
![Page 22: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/22.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Result
![Page 23: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/23.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Limitation
• Java to Unity cannot receive return value
• Does not extend Android Activity
Alternative Method
• Extending UnityPlayerActivity
• Modifying Android Manifest from Unity
• Building JAR via Command Prompt
• Custom Build.xml
![Page 24: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/24.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Pros & Cons
• Pros
– Simple Plug-in Code & Build
– Edit and Compile Java and Android Code with full Eclipse Usage
– Non Strict Packages (com.something.something)
– Does not edit Android Manifest file from Unity
• Cons
– Does not extend Android Activity directly
– Does not edit Android Manifest file
![Page 25: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/25.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Toast
http://developer.android.com/guide/topics/ui/notifiers/toasts.html
![Page 26: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/26.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Toast
• Java Toast Code
![Page 27: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/27.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Local Notification
http://developer.android.com/guide/topics/ui/notifiers/notifications.html
![Page 28: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/28.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Local Notification
![Page 29: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/29.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Local Notification
• Java Local Notification Code
![Page 30: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/30.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Intent Call
• Intent Call to Open File or Url
![Page 31: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/31.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Intent Call
• Java Intent Call Code
![Page 32: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/32.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – WebView
• WebView
![Page 33: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/33.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – WebView
• Java WebView Code
![Page 34: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/34.jpg)
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – ETC
• Push Notification
• Database
• Java Library
• Anroid Usability using Additional Methods
– Services
– Widgets
![Page 35: Unity - Android by Rio](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5553a5e4b4c905d9448b460e/html5/thumbnails/35.jpg)
Source Code https://dl.dropboxusercontent.com/u/18962743/source.zip
Thank You