Skip to content

Camera Effects

This section describes how you can perform ad-hoc camera effects in your dialogue scripts.

Everything in this section modifies the existing camera in some way. For information on how you cut to camera shots, or how cameras are identified, see Camera Cuts.

Also bear in mind that all of these motion run in parallel; the next line in the dialogue script is executed as soon as they start. This is to allow you to create compound effects, and to have effects happen while dialogue lines play. If you want to wait for these effects to finish, you have to do so explicitly.


One of the most basic effects is fading out, or fading in. This can be useful to hide setup of the dialogue (e.g. moving characters to their marks), transitioning into a cutscene, or just for mood.

Fading out, simplest example:

[event FadeOut]

This simple form will fade out the screen to black in half a second. You can also add arguments:

[event FadeOut 2, `Red`, true]

Note the use of backticks (`) around `Red`, which is the quoting required in SUDS for a Name value

The arguments are as follows:

Argument Default Description
Time 0.5 The time taken to perform the fade
Colour `Black` The colour to fade to. Options are `Black`, `White`, `Grey`/`Gray`, `Red`, `Blue`,`Green`,`Yellow`, which have the same values as the definitions in FLinearColor
FadeAudio false Whether to fade out the audio as well

FadeOut and FadeIn use the standard Player Camera Manager to perform the fade, so you can match up anything else that fades using this method as the "other side" of the fade if you want.

Unsurprisingly, fading in is similar:

# Default arguments, fade from Black in 0.5 seconds
[event FadeIn]
# Alternatively specify time, colour, audio fade manually
[event FadeIn 1, `Red`, true]

Waiting for Camera Fades

As mentioned earlier, these effects run in parallel with the next thing in the dialogue script by default. If you'd rather wait for a fade to complete before doing the next thing, use the WaitFade event:

[event WaitFade]

See Waiting for Things for other wait commands.

Camera Shake

Camera shake is a classic effect. In Unreal, the exact nature of the camera shake is defined using Camera Shake Assets. SUDS Pro comes with an example one (BP_SudsProDefaultCameraShake), which is used by default unless you request otherwise. Here's a basic camera shake using that default:

[event CameraShake]

You can of course use your own camera shake assets as well; the full argument options are:

[event CameraShake `CameraShakeName`, 1.0]

Where `CameraShakeName` is the name of a camera shake (more on that below), and 1.0 is the scaling factor to apply to the shake; to exaggerate or soften the shake from how it's defined in the camera shake asset.

Resolving `CameraShakeName` to an asset is done in Project Settings > Plugins > SUDS Pro:

Camera shake settings

You can add as many as you like to this map, and the name can then be used in your scripts. You can also change the entry for `Default` if you want to change which camera shake asset is used when no name is specified.

Waiting for Camera Shakes

Camera shakes run in parallel to following lines in the script; if you want to wait for one to finish, use the WaitCamera event:

[event WaitCamera]

See Waiting for Things for other wait commands.

Stopping Camera Shake

You might sometimes want to explicitly stop a camera shake rather than let it play out on its own. You might want to terminate it early, if for example the player advanced through the dialogue quickly, and the shake shouldn't continue past a certain point. Or, if the camera shake asset is set to play indefinitely rather than have a finite duration, it needs to be manually stopped.

The following stops all camera shakes instigated by SUDS Pro:

[event StopCameraShake]