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

# fire

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

Locality: arguments **local** · effect **global**

## Description

Forces a unit to fire the given weapon.

> [!NOTE]
> Just like with [forceWeaponFire](../commands/forceWeaponFire.md) it is possible to pass remote unit as argument, but this could be unreliable. Considering this command might need to be used in combination with [selectWeapon](../commands/selectWeapon.md), which takes only [local](../topics/Multiplayer_Scripting.md#locality) arguments, it would make sense to execute the [fire](../commands/fire.md) command where the unit is [local](../topics/Multiplayer_Scripting.md#locality) as well.

## Syntax

### Syntax 1

```sqf
unit fire muzzle
```

**Parameters:**

- `unit`: [Object](../topics/Object.md) - unit that is supposed to fire
- `muzzle`: [String](../topics/String.md) - name of the muzzle to be fired

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

### Syntax 2

```sqf
unit fire [muzzle, mode, magazine]
```

**Parameters:**

- `unit`: [Object](../topics/Object.md)
- `muzzle`: [String](../topics/String.md)
- `mode`: [String](../topics/String.md)
- `magazine`: [String](../topics/String.md) - (Optional)

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

## Examples

### Example 1

```sqf
_soldier fire "M16";
```

### Example 2

```sqf
_soldier fire "SmokeShellMuzzle";
```

### Example 3

```sqf
_soldier fire ["SmokeShellMuzzle", "SmokeShellMuzzle", "SmokeShellRed"];
```

### Example 4

```sqf
player playActionNow "PutDown";
player selectWeapon "DemoChargeMuzzle";
player fire ["DemoChargeMuzzle", "DemoChargeMuzzle", "DemoCharge_Remote_Mag"];
player setWeaponReloadingTime [player, "DemoChargeMuzzle", 0];
```

## See also

[BIS_fnc_fire](../functions/BIS_fnc_fire.md) · [doFire](../commands/doFire.md) · [commandFire](../commands/commandFire.md) · [canFire](../commands/canFire.md) · [fireAtTarget](../commands/fireAtTarget.md) · [forceWeaponFire](../commands/forceWeaponFire.md) · [commandArtilleryFire](../commands/commandArtilleryFire.md) · [commandSuppressiveFire](../commands/commandSuppressiveFire.md) · [doArtilleryFire](../commands/doArtilleryFire.md) · [doSuppressiveFire](../commands/doSuppressiveFire.md) · [isManualFire](../commands/isManualFire.md) · [selectWeapon](../commands/selectWeapon.md) · ArmA: Actions

## Community notes

**Str** — 2006-08-17

Sometimes AI won't shoot when you use this command. It can be fixed by placing [selectWeapon](../commands/selectWeapon.md) command before it.

---

**Ceeeb** — 2007-02-02

In **OFP v1.96**, when a man class unit is given this command, he will aim up in the air before firing his weapon. This makes it rather useless if you want to make him shoot a target. It does work with vehicles, when the vehicle is first given a [doWatch](../commands/doWatch.md) or [doTarget](../commands/doTarget.md) command.

---

**Bdfy** — 2007-01-20

In **ArmA v1.02**, this command is not working with weapons in the secondary turrets (like "DSHKM" in T-72)

---

**Kronzky** — 2008-01-15

To place a satchel (pipebomb) the syntax is:\
**OFP**: unitname Fire ["put", "pipebomb"]\
**ArmA**: unitname Fire ["pipebombmuzzle", "pipebombmuzzle", "pipebomb"];\
*The triggering is done via a "TOUCHOFF" action.*

---

**Mr.g-c** — 2010-03-18

In Arma 2, AI will automatically shoot straight up. Command seems to be broken.

---

**Mikhail** — 2010-11-24

Command is broken - confirmed. Use action "USEWEAPON" instead.
Place a game logic in the editor. Name it **MyGameLogic**.
Use this code to make **unit1** fire his primaryweapon:

```sqf
MyGameLogic action ["useWeapon", primaryWeapon unit1, unit1, 0];
```

---

**.kju** — 2011-02-25

Command works just fine in A2/OA. Make sure to execute it on **local** AI.

---

**Max Power** — 2012-04-06

If it did work at one time, it does no longer. The AI (or player) is forced to look upwards or reacts to a massive recoil force before getting his shot off.

---

**hcpookie** — 2013-02-16

Command did not work with Arma 2:ACR v1.62. Use [fireAtTarget](../commands/fireAtTarget.md) instead.

---

**Killzone_Kid** — 2014-06-04

In Arma 3 in order for AI to place Claymore, for example, it is necessary to execute 3 statements - an animation, weapon select and the actual [fire](../commands/fire.md) command. Animation is most likely for forcing unit to leave rest state, weapon select and fire kinda both go together anyway:

```sqf
_unit playActionNow "PutDown";
_unit selectWeapon "DirectionalMineRemoteMuzzle";
_unit fire [
    "DirectionalMineRemoteMuzzle",
    "DirectionalMineRemoteMuzzle",
    "ClaymoreDirectionalMine_Remote_Mag"
];
```

---

**SteveStevenson** — 2017-11-25

In Arma 3, as of version 1.76, examples 2 and 3 in the section above for smoke grenades are no longer working.
As a workaround (throwing green smoke grenades for example), you can use:

```sqf
[_soldier, "SmokeShellGreenMuzzle"] call BIS_fnc_fire;
```

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