# Creating Cinematics

<figure><img src="/files/0zmUaD09i86xqWXTfuTo" alt=""><figcaption></figcaption></figure>

**Cinematics** in Soulslike Framework can be triggered/played using two methods:

1. By using the [Camera Sequence Notify (AN\_PlayCameraSequence)](/animation-notifies/miscellaneous/camera-sequence-notify.md) (can't be skipped)
2. By spawning a **B\_SequenceActor** (supports skipping)

You should use the **first** method if your cinematic is related to an animation - such as a *finisher/execution/special attack*.

You should use the **second** method if your cinematic is generic - such as *being related to a cutscene*. This method **allows cinematics to be skipped**.

### Creating Camera Animations for Executions

Start by adding a **B\_BaseCharacter** to an empty level, and reset its transform to 0,0,0.

<figure><img src="/files/hFDNcYi4SEJzYNx9qP96" alt=""><figcaption></figcaption></figure>

Create a new **Level Sequence**. Open it up and add this Actor to the track:

<figure><img src="/files/lr7n7qOOFqomfmku7A2A" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You can get rid of the Transform & Control Rig (if you do not plan on using Control Rig) tracks.
{% endhint %}

**Right-click** the Actor track and open up the **Binding Tag Manager.**

<figure><img src="/files/8LYwrabT9eZbtv9ofRWv" alt=""><figcaption></figcaption></figure>

**Right-click** and add the **Player** binding tag:

{% hint style="warning" %}
The **Player** object binding is important in cases where we need to know the current transform data for the player. This is the case for cinematics that are being played through an animation (executions/finishers/special attacks/etc.)
{% endhint %}

<figure><img src="/files/g6ONmEeBzc1hqWbHJBNf" alt=""><figcaption></figcaption></figure>

Next, add your **execute/finisher animation** to the track:

<figure><img src="/files/EiwRZTQWt00j1E7u2LMt" alt=""><figcaption></figcaption></figure>

Add a **Camera Cut Track**:

<figure><img src="/files/ex9t2Pf2YXEwqB2BfONe" alt=""><figcaption></figcaption></figure>

Turn off **Constrain Aspect Ratio**, and turn on **Override Aspect Ratio Axis Constraint:**

<figure><img src="/files/3Zvm5dsejnYfjswtHtlu" alt=""><figcaption></figcaption></figure>

(Optional) Adjust other **Camera Settings** to your liking:

<figure><img src="/files/mX7W6OwiYKGVSo4MK0yy" alt=""><figcaption></figcaption></figure>

Create a camera animation. Animate the **Camera Transform** by adding keys to it (refer to the Unreal Engine documentation if you're not familiar with basic **Sequencer** usage):

<figure><img src="/files/YQeEM4g6JMLnWI3TNZUD" alt=""><figcaption></figcaption></figure>

Then, **right-click** the Camera Cuts track and enable **Can Blend.**

<figure><img src="/files/iWVvWIZPJpKwjvWeEJ7E" alt=""><figcaption></figcaption></figure>

Finally, add a reasonable amount of **Fade In / Fade Out** to the Camera Cuts using the sliders:

<figure><img src="/files/FZGqXX8sxJjsWS3telMR" alt=""><figcaption></figcaption></figure>

That's it. Since this cinematic will be playing **during an execution/finisher,** we can use the **first** **approach (Anim Notify)**:

<figure><img src="/files/Qdp51Oj32K0cPLcSddAA" alt=""><figcaption></figcaption></figure>

The result:

<figure><img src="/files/rypH9K0JbzAPVQgC9cg5" alt=""><figcaption></figcaption></figure>

### Creating Generic Cinematics

The process for creating generic cinematics is simpler.

Start by creating a new **Level Sequence** and building your cinematic. You can take a look at the provided cinematic sequences located in **/SoulslikeFramework/Cinematics**:

1. **LS\_ShowcaseRoom**
2. **LS\_Boss\_Start**
3. **LS\_Boss\_Death**

For easily playing your sequence and listening to its **OnFinished()** event, you can use the custom **B\_SequenceActor** class that is provided with Soulslike Framework:

<figure><img src="/files/A2FCpEJo2JTrAEejgTI8" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
From the player HUD (referenced inside the controller), you can switch the **Cinematic Mode** on/off before/after playing your cinematic.

**Cinematic Mode** disables the HUD, and shows only the **Skip** notification if any key is pressed (skipping cinematics is handled by the **B\_SequenceActor** class).
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://soulslike-framework.isik.vip/workflow/creating-cinematics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
