Note: For cross-platform Projects, use the UNITY_ANDROID
#define directive to conditionally compile Android-specific C# code. See documentation on Platform dependent compilation to learn more.
Apps can access most features of an Android device through the Input and Handheld classes. For more information, see:
You can trigger a vibration by calling Handheld.Vibrate. Devices without vibration hardware ignore this call.
Mobile operating systems have built-in activity indicators your app can use during slow operations. For more information, see Handheld.StartActivityIndicator.
To access device-specific properties, use these scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary:
Script | Device property |
---|---|
SystemInfo.deviceUniqueIdentifier | Always returns the md5 of ANDROID_ID . For more information, see Android developer documentation on ANDROID_ID. |
SystemInfo.deviceName | Returns the device name. For Android devices, Unity tries to read device_name and bluetooth_name from secure system settings. If these strings have no values, Unity returns <unknown> . |
SystemInfo.deviceModel | Returns the device model. This often includes the manufacturer name and model number (for example, “LGE Nexus 5 or ”SAMSUNG-SM-G900A"). |
SystemInfo.operatingSystem | Returns the operating system name and version. |
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.
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.
Use these scripts to control autorotation: