---
name: "weaponDirection"
type: command
status: ok
groups: ["Weapons", "Unit Control"]
arma3_since: "0.50"
locality: {"argument": "global", "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/weaponDirection
revid: 379484
updated: 2026-10-31T00:12:40Z
---

# weaponDirection

*Command · Weapons, Unit Control · Arma 3 v0.50 · introduced in Operation Flashpoint: Elite v1.00*

Locality: arguments **global**

## Description

Returns the direction that the vehicle weapon is aiming in. For addons the weapon name must be an entry in CfgWeapons.

> [!NOTE]
> Turret and gun angle in degrees can also be obtained using [animationSourcePhase](../commands/animationSourcePhase.md) or [animationPhase](../commands/animationPhase.md) commands.

## Syntax

```sqf
vehicleName weaponDirection weaponName
```

**Parameters:**

- `vehicleName`: [Object](../topics/Object.md)
- `weaponName`: [String](../topics/String.md)

**Returns:** [Vector3D](../topics/Vector3D.md)

## Examples

### Example 1

```sqf
_weaponVectorDir = player weaponDirection currentWeapon player;
```

### Example 2

Draw AI eye direction (green) and weapon direction (red) in 3D:

```sqf
bob = createGroup east createUnit ["O_Soldier_F", [0,0,0], [], 0, "NONE"];
bob setVehiclePosition [player modelToWorld [0,100,0], [], 0, "NONE"];
onEachFrame
{
    _beg = ASLToAGL eyePos bob;
    _endE = _beg vectorAdd (eyeDirection bob vectorMultiply 100);
    drawLine3D [_beg, _endE, [0,1,0,1]];
    _endW = _beg vectorAdd (bob weaponDirection currentWeapon bob vectorMultiply 100);
    drawLine3D [_beg, _endW, [1,0,0,1]];
};
```

## See also

[positionCameraToWorld](../commands/positionCameraToWorld.md) · [getCameraViewDirection](../commands/getCameraViewDirection.md) · [eyeDirection](../commands/eyeDirection.md) · [vectorDir](../commands/vectorDir.md) · [vectorDirVisual](../commands/vectorDirVisual.md)

## Community notes

**HAC_mainframe** — 2007-08-18

Works great in multiplayer.
The numbers are representing offset as follows : [X axis,Y axis,Z axis]

The return array can be processed-converted into degrees as follows:

```sqf
_array = _this weaponDirection "weapon class";
_dir_degrees = (_array select 0) atan2 (_array select 1);
```

---

**Messiah2** — 2007-11-11

WeaponClass can only be the primary turret of the vehicle. For example it is not possible to get direction of commander's M2 on M1Abrams.

---

**UNN** — 2007-11-13

For an alternative to the weaponDirection command, see the following post on the official forums. On how to obtain the direction of multiple turrets on vehicles.

*Turret Animations* (dead link) - [new forum](http://forums.bistudio.com/showthread.php?t=63918)

---

**Mechariuswh** — 2014-12-09

The suggestion above using [atan2](../commands/atan2.md) and [weaponDirection](../commands/weaponDirection.md) get the direction the barrel of a weapon is pointing, but this is not the same as the direction a shell will be fired (verify this by getting in an M4 Scorcher, parking it on a slope, elevating the barrel "across" the slope and watching the shell come out in third person).

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