---
name: "currentVisionMode"
type: command
status: ok
groups: ["Weapons"]
arma3_since: "0.50"
locality: {"argument": "global", "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/currentVisionMode
revid: 378560
updated: 2026-05-08T13:11:39Z
---

# currentVisionMode

*Command · Weapons · Arma 3 v0.50 · introduced in Arma 2: Operation Arrowhead v1.50*

Locality: arguments **global**

## Description

Returns current vision mode of unit's weapon. Vision mode could be one of:
- 0 - normal vision
- 1 - night vision
- 2 - thermal vision
Alternative syntaxes additionally return FLIR index (see [setCamUseTI](../commands/setCamUseTI.md)) of the thermal vision mode (See also ["VisionModeChanged"](../topics/Event_Handlers.md#visionmodechanged) entity event handler)

## Syntax

### Syntax 1

```sqf
currentVisionMode entity
```

**Parameters:**

- `entity`: [Object](../topics/Object.md) - unit or vehicle. Unit query returns current vision mode of the unit. Vehicle query returns driver seat vision mode

**Returns:** [Number](../topics/Number.md) - vision mode (**0** on error, e.g on [objNull](../commands/objNull.md))

### Syntax 2

*since arma3 2.08*

```sqf
currentVisionMode [entity]
```

**Parameters:**

- `entity`: [Object](../topics/Object.md) - unit or vehicle. Unit query returns current vision mode of the unit. Vehicle query returns driver seat vision mode

**Returns:** [Array](../topics/Array.md) format [visionMode, flirIndex] where:
- visionMode: [Number](../topics/Number.md)
- flirIndex: [Number](../topics/Number.md)
[-1, -1] on error

### Syntax 3

*since arma3 2.08*

```sqf
vehicle currentVisionMode turretPath
```

**Parameters:**

- `vehicle`: [Object](../topics/Object.md) - vehicle with vision modes
- `turretPath`: Turret Path - path to vehicle's turret. Use [-1] for driver turret, [] for default primary gunner turret

**Returns:** [Array](../topics/Array.md) format [visionMode, flirIndex] where:
- visionMode: [Number](../topics/Number.md)
- flirIndex: [Number](../topics/Number.md)
[-1, -1] on error

### Syntax 4

*since arma3 2.08*

```sqf
unit currentVisionMode weapon
```

**Parameters:**

- `unit`: [Object](../topics/Object.md) - soldier
- `weapon`: [String](../topics/String.md) - unit's weapon. Use "" for current weapon

**Returns:** [Array](../topics/Array.md) format [visionMode, flirIndex] where:
- visionMode: [Number](../topics/Number.md)
- flirIndex: [Number](../topics/Number.md)
[-1, -1] on error

## Examples

### Example 1

```sqf
_visionMode = currentVisionMode gunner _tank;
```

### Example 2

```sqf
if (currentVisionMode player == 1) then
{
    hint "nightvision active";
};
```

### Example 3

```sqf
private _detailedVisionMode = currentVisionMode [gunner _tank];
_detailedVisionMode params ["_mode", "_flirIndex"];
```

### Example 4

```sqf
private _detailedGunnerVisionMode = _tank currentVisionMode [0];
```

### Example 5

```sqf
private _detailedWeaponVisionMode = player currentVisionMode "";
```

## See also

[disableNVGEquipment](../commands/disableNVGEquipment.md) · [disableTIEquipment](../commands/disableTIEquipment.md) · [camUseNVG](../commands/camUseNVG.md) · [setCamUseTI](../commands/setCamUseTI.md) · [currentMagazine](../commands/currentMagazine.md) · [currentWeapon](../commands/currentWeapon.md) · [currentMuzzle](../commands/currentMuzzle.md) · [currentWeaponMode](../commands/currentWeaponMode.md) · [currentZeroing](../commands/currentZeroing.md) · [magazinesTurret](../commands/magazinesTurret.md) · [weaponsTurret](../commands/weaponsTurret.md)

## Community notes

**AgentRev** — 2016-04-29

> [!CAUTION]
> This information is **obsolete**. 

The return value is somewhat erratic for UAVs. For example, if you are connected to a UAV, with the turret set to thermal vision and PIP feed enabled, `currentVisionMode gunner _uav` returns 2 when controlling the turret, but returns 0 after releasing control, even thought the PIP feed is still in thermal mode. With nightvision, it will return 1 whether or not you are controlling the turret, but if you switch from 1st to 3rd person before releasing control, then it returns 0 afterwards...

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