Version: 2018.4
Android Scripting
Building and using plug-ins for Android
How do you use documentation throughout your workflow? Share your experience with us by taking this survey.

Advanced Unity mobile scripting

Device properties

There are a number of device-specific properties that you can access. See the script reference pages for SystemInfo.deviceUniqueIdentifier, SystemInfo.deviceName, SystemInfo.deviceModel and SystemInfo.operatingSystem.

Anti-piracy check

To get licensing information about users and prevent piracy, Google offers a service called Google Play Application Licensing. See the Google Play Application License Verification example plug-inA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
See in Glossary
on the Asset StoreA growing library of free and commercial assets created by Unity and members of the community. Offers a wide variety of assets, from textures, models and animations to whole Project examples, tutorials and Editor extensions. More info
See in Glossary
for an example of how you can integrate this functionality into your Unity application. You can also download the plug-in source code from its GitHub repository.

Vibration support

You can trigger a vibration by calling Handheld.Vibrate. Devices without vibration hardware ignore this call.

Activity indicator

Mobile operating systems have built-in activity indicators you can use during slow operations. See the documentation on Handheld.StartActivityIndicator docs for examples.

Screen orientation

You can control the screen orientation of your application on both iOSApple’s mobile operating system. More info
See in Glossary
and Android devices. Detecting a change in orientation or forcing a specific orientation is useful for creating game behaviors that depend on how the user is holding the device.

Retrieve device orientation by accessing the Screen.orientation property. Orientation can be one of the following:

Orientation Behavior
Portrait The device is in portrait mode, with the device held upright and the home button at the bottom.
PortraitUpsideDown The device is in portrait mode but upside down, with the device held upright and the home button at the top.
LandscapeLeft The device is in landscape mode, with the device held upright and the home button on the right side.
LandscapeRight The device is in landscape mode, with the device held upright and the home button on the left side.

Set Screen.orientation to one of the above orientations, or use ScreenOrientation.AutoRotation to control the screen orientation. When you enable auto-rotation, you can still disable some orientation on a case-by-case basis.

See the API documentation for Screen.autorotateToPortrait, Screen.autorotateToPortraitUpsideDown, Screen.autorotateToLandscapeLeft and Screen.autorotateToLandscapeRight for more information. | LandscapeRight| The device is in landscape mode, with the device held upright and the home button on the left side. |

Control screen orientation by setting Screen.orientation to one of the above options, or to ScreenOrientation.AutoRotation.

When using auto-rotation, you can disable some orientations on a case-by-case basis. See the Scripting API pages for Screen.autorotateToPortrait, Screen.autorotateToPortraitUpsideDown, Screen.autorotateToLandscapeLeft, and Screen.autorotateToLandscapeRight for more information.

Android Scripting
Building and using plug-ins for Android