SVNE is a simple, beginner-friendly engine for creating visual novels. The objective of SVNE is to allow anyone with experience in an art program or image editing software to be able to easily pick up and create their own visual novel engine, even without any prior programming experience!
Comes with features such as:
Basic saving and loading system
Automatic theme customization
Full RichText support for bold, italics, etc.
Backgrounds, covers, sprites and title cards
Simple, intuitive sound playing system for SFX and BGM
This is my first ever attempt at creating an engine of any sort, so I apologize if the code is a little rough around the edges. Please reply to this post if you have any questions or run into any issues.
View changelog
4/26/2025 1.0.1: UI tweaks for readability, title card now closes current opened menu, client no longer yields when waiting for save data.
4/26/2025 1.0.0: Initial release.
Getting Started
Click here to get the SVNE free model from the creator store.
Create a new experience.
Insert the SVNE model from the toolbox.
Locate the README script in the inserted folder and double click it to open it.
The README script should be able to guide you from there!
Previews
SVNE was beta tested for stability and ease-of-use by a small team of artists, who all had zero prior experience in Luau. Here are some short previews of what they made using this system!
View previews
Credit: toyflyer
Credit: ncotic
Credit: j8ckfi
Support Server
Join the support server to interact with other users of SVNE, get help figuring out how to use the engine, and show off your creations!
Save data saves from the start of the current scene, and saves all the current story variables (aka decisions the player made and the author chose to save). Because of the way SVNE’s stories are scripted, there’s no way to jump to an exact moment in the story- my state management expertise isn’t that great.
Looks like I neglected to consider high resolution monitors . I’ll raise the max size for these UI windows.
Yeah, that was a bit of a sloppy attempt at making sure text never overlapped no matter what font you were using. I’ll just toggle TextScaled instead.
Customization of the base UI has to be done manually. For those who don’t know how: Add an ImageLabel to the save frame, set the Size to {1, 0}, {1, 0} and set the ZIndex to 0.
Same thing here. Set the Text property of the button to be blank. Add an ImageLabel and scale it to {1, 0}, {1, 0}. Add a TextLabel, set the BackgroundTransparency to 1, set the Size to {1, 0}, {1, 0}, set the TextSize to 28, and set Text to whatever you want the button to say.
This is pretty cool, we don’t usually have a lot of visual novel type games so this could help out certain devs a lot.
I was working on my own system not too long ago similar to the Ace Attorney games but I’ve put it on the side because I didn’t really know where to start. I’ll be sure to check this out because I’m curious to know how stuff like saving/loading data works.