Most features of the iOSApple’s mobile operating system. More info
See in Glossary devices are exposed through the Input and Handheld classes. For cross-platform projects, UNITY_IPHONE is defined for conditionally compiling iOS-specific C# code.
There are a number of device-specific properties that you can access. See the script reference pages for:
A common way of hacking an application is by removing the AppStore DRM protection and then redistributing it for free. Use Unity’s anti-piracy check to find out if your application was altered after it was submitted to the AppStore.
Check if your application is genuine (not hacked) with the Application.genuine property. If the property returns false
, you can warn users they are using a hacked app, or you can disable certain functions.
Note: Use Application.genuineCheckAvailable along with Application.genuine
to verify application integrity. Because accessing the Application.genuine property is a resource-intensive operation, you shouldn’t perform it during frame updates or other time-critical code.
You can trigger a vibration by calling Handheld.Vibrate. Devices without vibration hardware ignore this call.
Mobile operating systems have built-in activity indicators you can use during slow operations. See Handheld.StartActivityIndicator docs for examples.
You can control the screen orientation of your application on both iOS and Android devices. By detecting a change in orientation or forcing a specific orientation, you can create app behaviors that depend on how the user holds the device.
To retrieve device orientation, access 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 orientations on a case-by-case basis.
For more information, see the following API documentation:
Different device generations have varied performance and support different functionalities. Use the iOS.DeviceGeneration property to query the device’s generation.
On some displays, certain areas of the screen might be obscured or non-functional because of other hardware occupying that space. Use Screen.cutouts to return a list of bounding boxes surrounding each cutout.
iOS devices do not provide a native API to get the display cutout information, so the cutouts are hardcoded in the Xcode project for each available iOS device. You can modify existing data or add additional devices in the Unity Xcode project ReportSafeAreaChangeForView
function, which is in the UnityView.mm
file.
You can use ReplayKit to record the audio and video of your game, along with audio and video commentary captured from the device’s microphone and cameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary.