---
name: "getPlayerUID"
type: command
status: ok
groups: ["Multiplayer"]
arma3_since: "0.50"
locality: {"argument": "global", "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/getPlayerUID
revid: 353295
updated: 2024-03-15T17:11:43Z
---

# getPlayerUID

*Command · Multiplayer · Arma 3 v0.50 · introduced in Arma 2 v1.02*

Locality: arguments **global**

## 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](../commands/str.md) number (see getPlayerUIDOld), but always had to be considered and processed as a [String](../topics/String.md). Converting it to a [Number](../topics/Number.md) could cause precision problems, as [Number](../topics/Number.md) 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](../commands/isPlayer.md) and [getPlayerUID](../commands/getPlayerUID.md) to incorrectly return `false` and `""` respectively, where the affected units were [not](../commands/not.md) [local](../commands/local.md). 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.

## Syntax

```sqf
getPlayerUID unit
```

**Parameters:**

- `unit`: [Object](../topics/Object.md)

**Returns:** [String](../topics/String.md) - 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

```sqf
private _uid = getPlayerUID player;
```

## See also

[BIS_fnc_getUnitByUID](../functions/BIS_fnc_getUnitByUID.md) · getPlayerUIDOld · [getClientState](../commands/getClientState.md) · [getClientStateNumber](../commands/getClientStateNumber.md)

<sub>Source: [BI Community Wiki — getPlayerUID](https://community.bistudio.com/wiki/getPlayerUID) (revision 353295).</sub>
