Description
Return a UniqueID of the given unit (player).
Note
Arma 3: The returned string is the player's steamID64:
private _steamProfileUrl = "http://steamcommunity.com/profiles/" + (getPlayerUID player);
Important
Prior to Arma 2: Operation Arrowhead v1.60, the result always consisted of a stringified number (see getPlayerUIDOld), but always had to be considered and processed as a String. Converting it to a Number could cause precision problems, as Number cannot accurately represent integers above 16777216 (224). Moreover, games since Arma 2: Operation Arrowhead v1.61 provide a value that is not all-numeric.
Note
Prior to Arma 3 v2.02, in some cases the identity of certain player units could fail to propagate to other clients and the server, which caused isPlayer and getPlayerUID to incorrectly return
falseand""respectively, where the affected units were not local. See this bug report (GitHub) for more info. This was supposedly fixed, but you should remain vigilant toward false negatives nonetheless.
Syntax
getPlayerUID unit
Parameters:
unit: Object
Returns: String - can be "SP_AI" or "SP_PLAYER" in SP, "" or UID in MP
- The unique ID may be up to 100 characters long and may contain numbers, uppercase letters and underscores
- The value can be used to construct a valid variable name by appending to another valid variable name, e.g
missionNamespace setVariable ["TAG_player" + _uid, _unit];
Examples
Example 1
private _uid = getPlayerUID player;
See also
BIS_fnc_getUnitByUID · getPlayerUIDOld · getClientState · getClientStateNumber