Creating a simple Visual Novel system in Bolt?

ehance 1 year ago updated 1 year ago 4

Hi all, I'm new to Bolt and was curious about creating a very simple Visual Novel system within Bolt. Mostly I'm looking to

-(Like Twine) display a button to allow the user to choose from branching paths
-fade gameobject/sprites in and out
-cue music/sound effects
-print text in a box
-transition from camera from one location to another
-Use bolt nodes to activate Timelines (for simple anim) / and activate the next Bolt node
-Keep score between scene loads (Assuming I'd use player prefs).

How unrealistic am I being? The individual parts seem doable, but I'd love to get feedback from experienced Bolt users before I dive in. Where this would get past what Bolt can do by itself (with no scripting)?

Thank you all for your time,


Bolt Version:
Unity Version:
Scripting Backend:
.NET Version (API Compatibility Level):
.NET Standard 2.0

Honestly, using a proper VN engine like Naninovel would be a much more productive effort. https://assetstore.unity.com/packages/templates/systems/naninovel-visual-novel-engine-135453 It doesn't require any scripting either and the systems you need are already in place so all you have to do is learn the tool and create the content. 

Working with text based games is not the easiest in Bolt right now, there are no specific dialogue nodes and the regular string nodes display only limited amount of the text you've pasted or written in. You can absolutely do it all in Bolt, but it's not the best tool for the job in this case. 

I'd assumed it wouldn't be the most efficient way (given there are a number of assets out there aimed at VNs). 

My primary reasoning for starting with Bolt is my proj has a few different game 'types' in it. Many VN assets don't play nice with others (and vice versa) so bolt was going to be a hub of sorts for me. When I read Naninovel plays well with Bolt I was encouraged, but I can't quite fit that particular asset into my current project.

TowerCrow, your feedback is very useful (my VN doesn't have a sea of text, but I'll be mindful of what you mentioned and watch to see where things get out of hand).

If more folks have the time to mention other potential caveats I would appreciate it greatly.

Thank you!


I use Yarn to build the dialogue trees, with all the speech and commands (ask player a question, animate a character, play a sound, etc), in JSON.  Then I use Yarn Spinner to parse them, and a custom class that will print/advance the text, present user input options, and animate whats on screen based on those commands. Bolt handles the gameplay loop, activating the class when the player interacts with someone, sending input, loading scenes, etc. 

You can certainly build bolt machines that handle the stuff I coded; printing text to the GUI, animating, and etc, especially using bolt events.  Just have a simple class for parsing the files and triggering those machines.

If you want to skip the parser and build dialog trees in bolt, you can do that as well, but creating complex trees of strings, events, and logic out of nodes would be tedious and overkill.  Also, a huge headache for modifying, proofreading, and localizing.  Having external text files you can edit is ideal with VNs.

Thank you NeedsLoomis (sorry for the late reply) that makes good sense. I remember seeing some other visual scripting systems where VNs were handled this way as well for the same reasons you bring up.

I appreciate these thoughtful replies!