# Sandbox.CameraEffectSystem.AddShake

## Overload 1

```csharp
ScreenShake AddShake(CameraComponent camera, float amplitude, float frequency, float duration)
```

The classic screen shake (Half-Life's env_shake) - every 1/`frequency` seconds
a new random offset within `amplitude` world units, settling to nothing over
`duration`. A duration of zero shakes until [Sandbox.CameraEffectSystem.BaseEffect.Stop](/api/Sandbox.CameraEffectSystem.BaseEffect/Stop).

### Parameters

- `camera` (`CameraComponent`)
- `amplitude` (`float`)
- `frequency` (`float`)
- `duration` (`float`)

### Returns

`ScreenShake`

## Overload 2

```csharp
ScreenShake AddShake(Vector3 position, float radius, float amplitude, float frequency, float duration)
```

A world shake with distance falloff - full `amplitude` at
`position` fading to nothing at `radius`. Affects every
camera in range. Use for explosions.

### Parameters

- `position` (`Vector3`)
- `radius` (`float`)
- `amplitude` (`float`)
- `frequency` (`float`)
- `duration` (`float`)

### Returns

`ScreenShake`

Declared in [Sandbox.CameraEffectSystem](/api/Sandbox.CameraEffectSystem).
Assembly: `Sandbox.Engine`.
