---
name: "findEmptyPosition"
type: command
status: ok
groups: ["Positions"]
arma3_since: "0.50"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/findEmptyPosition
revid: 377837
updated: 2026-01-03T04:32:18Z
---

# findEmptyPosition

*Command · Positions · Arma 3 v0.50 · introduced in Arma 2 v1.00*

## Description

Searches for an empty area around the specified position, starting from the *center* looking for an empty *areaRadius* and looks as far away as *areaRadius* + *maxDistance*.
This command ignores moving objects present within the search area. The search area can be preloaded with [findEmptyPositionReady](../commands/findEmptyPositionReady.md) command.

> [!NOTE]
> This command does not work outside of [world dimensions](../commands/worldSize.md) and will always return the provided *center*.
> Objects outside the world dimensions will not be considered in the detection either.

## Syntax

```sqf
center findEmptyPosition [areaRadius, maxDistance, vehicleType]
```

**Parameters:**

- `center`: [Position2D](../topics/Position.md#introduction) or [Position3D](../topics/Position.md#introduction) - search area center position in format [x,y] or [x,y,z] in which case z is ignored
- `areaRadius`: [Number](../topics/Number.md) - wanted area radius
- `maxDistance`: [Number](../topics/Number.md) - stop searching no further than `areaRadius + maxDistance` from the center
- `vehicleType`: [String](../topics/String.md) - (Optional) classname of a vehicle to accommodate

**Returns:** [Position3D](../topics/Position.md#introduction) - a suitable empty position or empty array `[]` if not found

## Examples

### Example 1

```sqf
_position = getPosASL player findEmptyPosition [0, 100];
```

### Example 2

```sqf
_position = _center findEmptyPosition [10,100,"UH60M_EP1"];
```

### Example 3

Check if exact position is empty:

```sqf
_position = _center findEmptyPosition [0, 0, "B_Boat_Armed_01_minigun_F"];
```

## See also

[findEmptyPositionReady](../commands/findEmptyPositionReady.md) · [selectBestPlaces](../commands/selectBestPlaces.md) · [isFlatEmpty](../commands/isFlatEmpty.md) · [BIS_fnc_findSafePos](../functions/BIS_fnc_findSafePos.md)

## Community notes

**Killzone_Kid** — 2013-11-06

Keep search radius short and sweet, under 50 metres maybe. Searching big area takes long time and will result in your game stop responding until the search is over. [isFlatEmpty](../commands/isFlatEmpty.md) is probably more suitable for a larger area search.

---

**old_man_auz** — 2012-03-06

I think the **radius** parameter should be treated as a 'minimum distance' from the **centre** position. I found that the parameter name **radius** was not very clear. Also, if **radius** is greater than **max distance** then the function will always return an empty array.

Here is an snippet of code I use to find a safe landing zone for an extraction helicopter. It may be useful for someone.

```sqf
_centre = [getMarkerPos "marker", random 150, random 360] call BIS_fnc_relPos;
_extraction_point = [];
_max_distance = 100;
while { count _extraction_point < 1 } do
{
    _extraction_point = _centre findEmptyPosition [30, _max_distance, "UH60M_EP1"];
    _max_distance = _max_distance + 50;
};
```

In the above example, make sure that "_max_distance" is greater than 30, otherwise the while loop will go forever.

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