Skip to content

Camera Shake

The Camera Shake system adds procedural camera motion for gameplay feedback and environmental effects.

It is commonly used for:

  • footsteps and movement feedback
  • impacts and explosions
  • subtle idle motion
  • environmental effects

Camera Shake can be used in two ways:

  • automatically through built-in settings on the component
  • manually through runtime functions

Camera Shake Assets

Camera Shakes use Unreal Engine’s built-in CameraShakeBase system.

To create a camera shake:

  1. Right-click in the Content Browser
  2. Select Blueprint Class
  3. Search for CameraShakeBase
  4. Create a Blueprint based on CameraShakeBase

Open the created asset to configure the shake behavior.

Camera shakes are defined using procedural patterns such as:

  • location oscillation
  • rotation oscillation
  • FOV changes

The most commonly used pattern is Wave Oscillator, which produces smooth periodic motion.

Key Settings

  • Amplitude - controls how strong the shake is
  • Frequency - controls how fast the shake oscillates
  • Duration - how long the shake lasts
  • Blend In / Blend Out - smooth start and end

In most cases, smaller amplitude values produce more natural results.


Built-in Shake System

The component provides a built-in system for automatic camera shake.

This system applies shake based on character state without requiring manual calls.

The plugin also includes two ready-to-use Camera Shake assets:

  • CS_Idle - base shake for idle state
  • CS_Movement - base shake for movement

These can be used directly or customized to fit your project.

Important

To enable camera shake, you must assign a Camera Shake asset:

  • set Idle Camera Shake Class for idle
  • set Movement Camera Shake Class for movement

If no shake asset is assigned, enabling the system will have no effect.

Idle Shake

  • Enable Idle Camera Shake - enables shake when the character is not moving
  • Idle Camera Shake Class - shake asset used during idle
  • Idle Shake Scale - intensity multiplier

Idle shake is typically subtle and used to add life to the camera.


Movement Shake

  • Enable Movement Camera Shake - enables shake based on movement speed
  • Movement Camera Shake Class - shake asset used during movement
  • Movement Shake Min Speed - speed at which shake begins
  • Movement Shake Max Speed - speed at which shake reaches full intensity
  • Movement Shake Min Scale - intensity at minimum speed
  • Movement Shake Max Scale - intensity at maximum speed
  • Movement Shake Interp Speed - how quickly intensity changes
  • Movement Shake Curve - optional curve controlling intensity scaling

Movement shake automatically adjusts intensity based on character speed.


Important Note

For Idle and Movement shake systems, the Camera Shake asset should use:

  • Duration = 0.0

This makes the shake loop indefinitely, allowing the component to control when the shake starts, scales, and stops.

If Duration is set to a finite value, the shake will stop automatically and may not behave correctly when used as a continuous effect.


Playing Camera Shake Manually

Camera Shakes can also be played manually at runtime.

To play a shake:

  • Play Camera Shake

This function:

  • plays the specified Camera Shake class
  • returns a reference to the active shake instance
  • allows optional scaling

Manual shakes are typically used for:

  • weapon recoil
  • impacts
  • scripted events

Stopping Camera Shakes

You can stop shakes at any time:

  • Stop Camera Shake - stops a specific shake instance
  • Stop All Camera Shakes - stops all active shakes

Stopping can be:

  • immediate
  • or smoothly blended out

Behavior

Camera Shakes are procedural and additive.

This means:

  • they are applied on top of the current camera
  • they do not override framing, rotation, or focus
  • multiple shakes can run at the same time

Built-in shakes and manually triggered shakes can work together.


Runtime Control

The Camera Shake system is controlled through runtime functions.

For a complete list of functions and parameters, refer to the API Reference.

Main Functions

  • Play Camera Shake - plays a camera shake and returns the active shake instance
  • Stop Camera Shake - stops a specific camera shake instance
  • Stop All Camera Shakes - stops all active camera shakes

Notes

  • Camera Shakes use Unreal Engine’s built-in system
  • Built-in shakes are automatic and driven by character state
  • Manual shakes are event-driven and triggered at runtime
  • Multiple shakes can be active simultaneously
  • Use Camera Shake for procedural motion and Camera Animations for authored motion