How is SystemInfo.deviceUniqueIdentifier computed?

Does anyone know how SystemInfo.deviceUniqueIdentifier is computed for each platform?

I found this for Android (http://unity3d.com/unity/beta/notes-3):
“Android: SystemInfo.deviceUniqueIdentifier is anonymized by calculating the MD5 sum of IMEI/MEID, ANDROID_ID or WiFi MAC - whichever is available”

What about PC/Mac/iOS/WebPlayer?

The documentation (Unity - Scripting API: SystemInfo.deviceUniqueIdentifier) doesn’t contain much information.

The reason I am asking is because I am making a plugin that needs to work for all of these platforms.

Any information appreciated…

for Mac its your hardware UUID.
http://www.imore.com/find-mac-udid-mac-app-store-beta-testing
I think thats also for the mac browser.

for android it pulls from Settings.Secure.ANDROID_ID and does a md5 hex digest on it. There may be a fallback for mac addr or anything else in the link Another stack exchange question there’s an android developers blog post about this too but I think the SE has the info you need + much more.

i haven’t figured out PC yet, but ios is an api for vendor_id or ad_id unless its something before ios 7.

I can’t realy tell you how it is computed on all those platforms but I can tell you how long does it take on several PCs:

  • Intel Core2 Quad Q6600, 2.40 GHz | Windows 8 || 1.3 sec
  • Intel Xeon E7-4830, 2.00 GHz | Windows server 2008 || 4.5 sec
  • QEMU Virtual CPU (cpu64-rhel6), 2.60 GHz | Windows server 2008 || 12.5 sec

Quite interesting, is not it?

(Unity 4.0.0f7, win32, -batchmode -nographics)