Visual Novel System

Updated May 25, 2026

The Visual Novel System provides a cinematic storytelling framework for dialogue-driven scenes in Unreal Engine. It combines images, audio, text, optional animation, and memory context into structured sequences that can play automatically or wait for player input.

For shared setup guidance, see the Migration Guide and Integration Guide. Use the System Atlas to look up functions, variables, events, components, and ownership references. Use this page for Visual Novel-specific data assets, structs, and trigger setup.

Related setup: Set Up First Narrative.

For projects that mix visual novel scenes with regular NPC conversations, also check the Dialogue System.

Each sequence is defined through data assets. Those assets reference scenes, and each scene contains background images, music, sentences, optional voice/audio, optional animation, and memory context.

Core Features

  • Scene-based storytelling: Chain backgrounds, soundscapes, and dialogue lines into story moments. Data-driven setup: Build sequences through data assets instead of custom Blueprint scripting for each sequence. Audio and animation support: Sentences can include recorded voice lines, ambient sound, and character montages. Manual or automatic progression: Let the player advance scenes manually or let the Timeline progress automatically. Memory integration: Sentences can store memory context for future dialogue or gameplay events. Example Use Cases Introductory cutscenes or chapter openings. Story moments between missions or after major events. Flashbacks or dream sequences. Lore delivery, character introductions, or narrated endings. Related Videos Some videos may have been recorded before V4. The same principles still apply, but asset names, component names, and folder locations may differ. Treat the current written documentation and V4 names as the source of truth.
    Play
  • Community demonstration: Testing
    Play

Struct_VisualNovel

Struct_VisualNovel defines one visual novel sequence. It controls whether the player advances the sequence manually and which scenes are played in order.

FieldTypeDescriptionUse
Wait For Player InputBooleanDetermines how the visual novel progresses.True waits for the player to manually advance each scene. False progresses automatically using the Timeline settings.
TimelineArray of Struct_VisualNovelSceneAll scenes that make up the full sequence.Use one scene for a single background and line, or multiple scenes for a complete conversation or story segment.

Struct_VisualNovelScene

Struct_VisualNovelScene defines one frame or moment in a visual novel sequence. It controls what the player sees, hears, and reads during that segment.

FieldTypeDescriptionExample Use
Background ImageTexture2DMain image displayed behind the dialogue text.A forest background, town scene, close-up portrait, or cinematic illustration.
Background Music To PlaySound BaseOptional music or ambient sound played when the scene begins.A calm track that changes to tense music when danger is revealed. If empty, the previous scene’s music continues.
SentencesArray of F_SentenceDialogue or narration lines spoken during this scene.Lines such as We’ve finally made it. and But… where is everyone?
Maximum Display Time When Sentences FinishedFloat, secondsHow long the scene remains visible after all sentences are complete. Used only when Wait For Player Input is false.Set to 2.5 seconds for a short pause before fading into the next image.

F_Sentence

A Sentence is the smallest narrative unit in the system: one spoken line, narrated line, thought, or subtitle entry.

FieldTypeDescriptionExample Use
AudioSound BaseOptional audio clip played when the sentence begins.A recorded voice line, grunt, sigh, or sound effect. If provided, it overrides auto-generated gibberish or default voice sounds.
Spoken TextTextThe line displayed in subtitles or the dialogue box.We have to move before nightfall.
Should Play Animation While Saying SentenceBooleanIf true, plays the specified animation montage while the line is spoken.Enable for gestures or talking animations. Disable for narration, off-screen dialogue, or environmental storytelling.
Montage To Play On Sentence StartAnim MontageAnimation montage played when the sentence begins.An NPC points during a command, or a character bows at the end of a conversation.
Memory ContextStruct_MemoryMemory tag or gameplay context associated with this line.Store that the player promised help so an NPC can reference it later.

DA_VisualNovel

The Visual Novel Data Asset stores the full configuration for one playable story sequence. It uses F_VisualNovel and Struct_VisualNovelScene to organize every scene and line in order.

This lets designers create story sequences directly in the editor without writing Blueprint logic for each one.

FieldTypeDescription
Wait For Player InputBooleanChecked means the player must press a key or button to move forward. Unchecked means scenes advance automatically after the configured duration.
TimelineArray of Struct_VisualNovelSceneThe full ordered sequence of scenes. Each index defines the background image, music or ambient sound, sentences, and maximum display time for that scene.

Example Scene Breakdown

FieldDescription
Background ImageT_VisualNovel_Scene_Town, the town environment shown during the scene.
Background Music To Playsfx_amb_crows_caw_nl_01, the ambient background audio for crows and town ambience.
SentencesTwo dialogue entries, each defining text, optional audio, optional animation, and optional memory context.
Maximum Display Time When Sentences Finished0.0. Since player input is required, the timer is not used.

Runtime Flow

  1. The visual novel sequence begins.
  2. The system loads the background and music for the first scene.
  3. Each sentence plays in order, including text, optional audio, optional animation, and memory context.
  4. When all sentences are complete, the player presses input or the timer ends.
  5. The sequence advances to the next scene until the final scene ends.

Start a Visual Novel

Visual novels can be triggered from gameplay events such as entering a trigger volume, interacting with an NPC, or completing a quest. The example below starts a visual novel when the player enters an overlap sphere.

Start a Visual Novel screenshot

  1. On Component Begin Overlap: Fires when an actor, usually the player, enters the sphere collision.
  2. Get Instigator Controller: Retrieves the controller responsible for the overlapping actor.
  3. Is Valid: Stops the chain if the controller is invalid, such as when a non-player object triggered the overlap.
  4. Get Visual Novel System: Retrieves the player’s Visual Novel Component.
  5. Start New Visual Novel: Starts the selected Visual Novel Data Asset through the player’s Visual Novel System component.

Once called, the system loads the first scene, displays the background, starts the audio, and begins the visual novel flow.

Alternative Event Triggers

  • NPC Interaction: Start a sequence when the player talks to a specific NPC.
  • Quest Completion: Start a narrative reward scene from an On Quest Completed event.
  • Location Trigger / Discovery: Start a narrated sequence when the player enters a new region or discovers a landmark.
  • Timed or Scheduled Events: Start a scene during in-world events such as sunrise, midnight, or a festival.
  • Scripted Cutscenes: Combine visual novels with Cinematic Camera or Level Sequence content for dialogue-driven cutscenes.

Creating Your Own Visual Novel

Creating Your Own Visual Novel screenshot

  1. Follow the shown file path.
  2. Duplicate an existing visual novel data asset.
  3. Rename it to match the new visual novel.
  4. Delete the duplicated timeline indexes you do not need.
  5. Set your own parameters. For parameter meanings, see DA_VisualNovel.