How to Make a Flexible Visual Novel system in UE4

Hey folks! I’m the founder of Woodsy Studio, a small indie company that makes visual novels/adventure games. After about a year of working on visual novels using Unreal Engine 4, I thought it was time to share how I went about creating a complex visual novel system.

The purpose of this tutorial series is to provide a basis from which large-scale VN projects can be developed. When I first started using UE4, I could not find many resources for creating a system of this type. Any of the “visual novel” resources I found assumed you were willing to write directly into UE4, and they provided very little flexibility in terms of long, branching scenes or rewriting. With this system, you can start by writing your script in a typical Open Office or Word document, then convert it into a spreadsheet and import it into UE4.

Part 1:

  1. Create your text scene in a spreadsheet (4:05 )
  2. Create a structure in UE4 (8:45 )
  3. Import your first scene as a datatable (13:02 )

Part 2:

  1. Create a Scene Template Blueprint (1:09)
  2. Create an NPC character actor to launch the scene (2:56)
  3. Enabe click events (6:30)
  4. Spawn Scene Template when NPC is clicked (9:15)
  5. Feed the datatable rows into the Scene Template (13:57)

Part 3:

  1. Track the scene array with a Row variable (1:36)
  2. Create a widget to display the dialogue (4:08)
  3. Set text variables within the widget (9:18)
  4. Create widget from Scene Template and track as variable (11:14)
  5. Set widget variables from the Scene Template Blueprint (13:18)

Part 4:

  1. Add dialogue widget to viewport (0:44)
  2. Track whether the row is finished displaying (2:11)
  3. Add an input to advance the text (4:26)
  4. Increase row number for next line (5:23)
  5. Enable input on the Scene Template (7:00)
  6. End scene and destroy actors when scene is finished (7:58)

In the tutorial series created so far, I don’t yet get to branching dialogue or character sprites. But if people find this first series useful, I may go on to create tutorials about that later.

***** UPDATE *** :** I’ve now put my Visual Novel Framework on the Unreal Engine marketplace, complete with branching in scenes, choices, and layered sprites:

If you’re curious to see my visual novels, check out my website: