---
name: "switchCamera"
type: command
status: ok
groups: ["Camera Control"]
arma3_since: "0.50"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/switchCamera
revid: 376544
updated: 2025-10-27T12:56:35Z
---

# switchCamera

*Command · Camera Control · Arma 3 v0.50 · introduced in Operation Flashpoint v1.00*

## Description

Switch camera to given vehicle / camera. Mode is one of:
- **"INTERNAL"**: 1st person
- **"GUNNER"**: optics / sights
- **"EXTERNAL"**: 3rd person (inaccessible if difficulty settings do not allow for it)
- **"GROUP"**: group
- **"CARGO"**: same as "INTERNAL"

If you switch to a unit in a vehicle, this command uses the correct turret.

> [!IMPORTANT]
> - Control over the unit is not given to the player. Use [selectPlayer](../commands/selectPlayer.md) or a combination of [switchCamera](../commands/switchCamera.md) and [remoteControl](../commands/remoteControl.md) to achieve this.
> - Always [switchCamera](../commands/switchCamera.md) first (when needed) **before** using [remoteControl](../commands/remoteControl.md) as doing it after may lead to unpredictable results.

## Syntax

### Syntax 1

```sqf
target switchCamera mode
```

**Parameters:**

- `target`: [Object](../topics/Object.md)
- `mode`: [String](../topics/String.md)

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

### Syntax 2

*since arma3 1.66*

```sqf
switchCamera target
```

**Parameters:**

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

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

## Examples

### Example 1

```sqf
player switchCamera "Gunner";
```

### Example 2

```sqf
vehicle player switchCamera "External";
```

## See also

[cameraView](../commands/cameraView.md) · [cameraOn](../commands/cameraOn.md) · [cameraEffect](../commands/cameraEffect.md) · [selectPlayer](../commands/selectPlayer.md) · [remoteControl](../commands/remoteControl.md)

## Community notes

**Killzone_Kid** — 2015-05-16

Force top down view:

```sqf
private _cameraObject = "Land_HandyCam_F" createVehicleLocal [0, 0, 0];
_cameraObject hideObject true;
_cameraObject attachTo [player, [0, 0, 10]];
_cameraObject setVectorUp [0, 0.99, 0.01];
_cameraObject switchCamera "Internal";

findDisplay 46 displayAddEventHandler ["MouseButtonDown", {
    if (_this select 1 == 0) then
    {
        player forceWeaponFire [currentMuzzle player, currentWeaponMode player];
    };

    false;
}];

findDisplay 46 displayAddEventHandler ["KeyDown", {
    if (_this select 1 in actionKeys "ReloadMagazine") then
    {
        reload player;
    };

    false;
}];
```

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