A unique device identifier. It's guaranteed to be unique for every device (Read Only).
iOS: Uses UIDevice.identifierForVendor to generate a unique device identifier.
macOS: Uses kIOPlatformUUIDKey to generate a unique device identifier.
Android: SystemInfo.deviceUniqueIdentifier
always returns the MD5 hash of ANDROID_ID.
Note: Android 8.0 (API level 26) ANDROID_ID
depends on the app signing key. The unsigned builds that are by default signed with a debug keystore typically have a different value than signed builds signed with a key provided in the Player settings. In addtion, when allowing Google Play to sign your app, this value will be different depending on whether the built app is built locally (signed with the upload key) or downloaded from the Google Play (signed with the final key).
Linux Standalone: Reads the unique device identifier value from:
If both files are present, the value from /var/lib/dbus/machine-id
is used.
Note: Both files contain the same unique ID. Unity reads /etc/machine-id
___location as a fallback, if a linux distribution doesn't have dbus installed, that is, /var/lib/dbus/machine-id
path isn't available.
Windows Store Apps: Uses AdvertisingManager::AdvertisingId
for returning unique device identifier. If this option in PC Settings > Privacy > Let apps use my advertising ID for experiences across apps is disabled, Unity will fall back to HardwareIdentification::GetPackageSpecificToken().Id
. Note: Turning this setting off will reset your ID.
Windows Standalone: Returns a hash from the concatenation of strings taken from the following Computer System Hardware Classes:
Platforms that don't support this property, Unity will return SystemInfo.unsupportedIdentifier.