Unity - Android by Rio

Preview:

Citation preview

@agatestudio

@agatestudio

Unity Android

Rio Knight

Agate Studio

Sanrio Hernanto

@agatestudio @agatestudio @agatestudio @agatestudio

Extending Unity Functionality using Java Android

@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

@agatestudio @agatestudio @agatestudio @agatestudio

Creating Unity Android Plug-in

• Pre-requisite

– Eclipse

– Android SDK

Create New Android Application Project

Create New Android Application Project

Create New Android Application Project

Add Unity Library to Project

Add Unity Library to Project

Create Your Own Class

Create Your Own Class

Create Your Own Class

Export Your Project

Export Your Project

Export Your Project

Put your JAR file as Unity Android Plugins

@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

@agatestudio @agatestudio @agatestudio @agatestudio

Java to Unity

@agatestudio @agatestudio @agatestudio @agatestudio

Java to Unity – Unity Send Message

@agatestudio @agatestudio @agatestudio @agatestudio

Unity to Java - AndroidJavaClass

• Unity C#

• Java

@agatestudio @agatestudio @agatestudio @agatestudio

Unity to Java - AndroidJavaObject • Unity C#

• Java

@agatestudio @agatestudio @agatestudio @agatestudio

Result

@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

@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

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Toast

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

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Toast

• Java Toast Code

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Local Notification

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

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Local Notification

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Local Notification

• Java Local Notification Code

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Intent Call

• Intent Call to Open File or Url

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – Intent Call

• Java Intent Call Code

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – WebView

• WebView

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – WebView

• Java WebView Code

@agatestudio @agatestudio @agatestudio @agatestudio

Java Android Usability – ETC

• Push Notification

• Database

• Java Library

• Anroid Usability using Additional Methods

– Services

– Widgets

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

Thank You

Recommended