I work in unity and don’t have a lot of experience with UE, so take what I say with a grain of salt.
If you’re wanting to make just a basic VN with simple backgrounds and character images for portraits I would heavily recommend just going with ren’py (RP). It’s built for this exact thing. Now if you’re trying to go for something a bit more like having 3d models that you can animate and what not as well as 3d environments then yeah, an engine like UE might be more up to the task.
For my project I had to create a time/day/week cycle, a dialogue system(this is where RP would save you SO MUCH work), character systems, location managers, time managers, and so on. It’s no small feat so if you’re going to go with an engine like UE I’d make a roadmap and stick to it. Make the core systems before you work on story and character development so you can implement those right into your game. If you’re looking for what makes a basic VN, I guess I’d have:
-A dialogue system. This will be the driving part of your game so make sure it’s fleshed out. Like grotlover2 said, tying in something like yarn would be handy.
-A character stats system (something that you can track and possibly show the player items like affection, weight in this case, location possibly. Just whatever you’d think is relevant information).
-A location system so characters will be at certain location at certain times.
-A time system if you’re going to have character schedules.
-This one is a personal one I do but I create a basic character template with all stats and body parts a character can have, then duplicate and adjust per character.
There’s no template really to this, you’ll just have to look at what you want your game to be and make the systems to achieve that goal. I realized I kinda rambled on so I hope this made at least a little sense. Anyways, best of luck and have fun with it!