{"name":"getPlayerUID","title":"getPlayerUID","type":"command","url":"https://community.bistudio.com/wiki/getPlayerUID","revid":353295,"updated":"2024-03-15T17:11:43Z","groups":["Multiplayer"],"status":"ok","games":{"arma2":"1.02","arma2oa":"1.50","tkoh":"1.00","arma3":"0.50"},"since":"arma2 1.02","arma3_since":"0.50","locality":{"argument":"global"},"description":"Return a UniqueID of the given unit (player).\n\n> [!NOTE]\n> **Arma 3:** The returned string is the player's steamID64: `private _steamProfileUrl = \"http://steamcommunity.com/profiles/\" + (getPlayerUID player);`\n\n> [!IMPORTANT]\n> 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.\n\n> [!NOTE]\n> 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 `false` and `\"\"` respectively, where the affected units were not local. See [this bug report (GitHub)](https://github.com/michail-nikolaev/task-force-arma-3-radio/issues/1096) for more info. This was supposedly fixed, but you should remain vigilant toward false negatives nonetheless.","syntaxes":[{"syntax":"getPlayerUID unit","params":[{"name":"unit","type":"Object","type_expr":"Object"}],"returns":{"type":"String","type_expr":"String","description":"can be \"_SP_AI_\" or \"_SP_PLAYER_\" in SP, \"\" or UID in MP\n- 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];`","text":"String - can be \"_SP_AI_\" or \"_SP_PLAYER_\" in SP, \"\" or UID in MP\n\n- The unique ID may be up to 100 characters long and may contain numbers, uppercase letters and underscores\n- 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];`"},"form":"unary","right":{"text":"unit"}}],"examples":[{"code":["private _uid = getPlayerUID player;"]}],"see_also":["BIS_fnc_getUnitByUID","getPlayerUIDOld","getClientState","getClientStateNumber"]}