Unity - Android by Rio

35
@agatestudio @agatestudio Unity Android Rio Knight Agate Studio Sanrio Hernanto

Transcript of Unity - Android by Rio

Page 1: Unity - Android by Rio

@agatestudio

@agatestudio

Unity Android

Rio Knight

Agate Studio

Sanrio Hernanto

Page 2: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Extending Unity Functionality using Java Android

Page 3: Unity - Android by Rio

@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

@agatestudio @agatestudio @agatestudio @agatestudio

Creating Unity Android Plug-in

• Pre-requisite

– Eclipse

– Android SDK

Page 5: Unity - Android by Rio

Create New Android Application Project

Page 6: Unity - Android by Rio

Create New Android Application Project

Page 7: Unity - Android by Rio

Create New Android Application Project

Page 8: Unity - Android by Rio

Add Unity Library to Project

Page 9: Unity - Android by Rio

Add Unity Library to Project

Page 10: Unity - Android by Rio

Create Your Own Class

Page 11: Unity - Android by Rio

Create Your Own Class

Page 12: Unity - Android by Rio

Create Your Own Class

Page 13: Unity - Android by Rio

Export Your Project

Page 14: Unity - Android by Rio

Export Your Project

Page 15: Unity - Android by Rio

Export Your Project

Page 16: Unity - Android by Rio

Put your JAR file as Unity Android Plugins

Page 17: Unity - Android by Rio

@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

@agatestudio @agatestudio @agatestudio @agatestudio

Java to Unity

Page 19: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Java to Unity – Unity Send Message

Page 20: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Unity to Java - AndroidJavaClass

• Unity C#

• Java

Page 21: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Unity to Java - AndroidJavaObject • Unity C#

• Java

Page 22: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Result

Page 23: Unity - Android by Rio

@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

@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

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Toast

http://developer.android.com/guide/topics/ui/notifiers/toasts.html

Page 26: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Toast

• Java Toast Code

Page 27: Unity - Android by Rio

@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

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Local Notification

Page 29: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Local Notification

• Java Local Notification Code

Page 30: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Intent Call

• Intent Call to Open File or Url

Page 31: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Intent Call

• Java Intent Call Code

Page 32: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – WebView

• WebView

Page 33: Unity - Android by Rio

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – WebView

• Java WebView Code

Page 34: Unity - Android by Rio

@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

Source Code https://dl.dropboxusercontent.com/u/18962743/source.zip

Thank You