Visual Novel Engine for Unity

Being a huge anime and visual novels fan, I’ve always wanted to somehow contribute to the field. Looking through popular VN engines and toolkits, I’ve noted that none of them really meet my requirements, being either limited in platforms support or (for Unity extensions) – having scripting systems that are not practical to use in real projects.

That’s how Naninovel — writer-friendly visual novel engine, which I’ve been working on for the past two years — came to life. Being a Unity extension, it provides all the benefits of the modern cross-platform game engine, and having a unique scripting feature — novel scripts — it allows composing scenarios in a way a scriptwriter would do for a movie or a play: using a familiar text editor and syntax constructs, without even opening Unity editor.

Naninovel is now in public beta and can be purchased on the Unity’s Asset Store:

Sprite Dicing

Just finished working on an editor extension for Unity which allows to split up a set of large sprite textures into small chunks, discard identical ones, bake them into atlas textures and then seamlessly reconstruct the original sprites at runtime for render.

This technique allows to significantly reduce build size, in cases when multiple textures with identical areas are used.

Continue reading Sprite Dicing

Using Raw Input API in Unity

While working on a broadcast solution that used Unity to render and control a virtual character, I’ve faced a problem of capturing keyboard input events while the application is not in focus. It turned out that it’s not something doable using Unity’s input system, so I’ve assembled a C# wrapper over the Windows RawInput API to hook directly to the native input events.

Project on GitHub (MIT license):

UI distortion in Unreal Engine

In Breached we have a lot of digital noise/glitch effects. While we mostly used the wonderful “Sci-Fi and Glitch Post-Process” package, I’ve wanted to add a bit of uniqueness to UI noise effect and assembled a material function for distorting UI texture UVs.

Glitch effect in Unreal Engine 4

It uses a bunch of procedural noise generators, panners and a texture mask to apply specific distortion pattern.

DistortUV function

The function turned out to be quite flexible, so I’ve thought it could be useful to share it. You can grab archive with the function and texture mask here:
Just drop the unzipped folder to UE project and the function should become available as “DistortUV” node.

Dark Matter VFX

A while ago, working on Breached, I’ve been figuring out how to visualize a weird in-game creature called “Keeper”. It was something like an electromagnetic anomaly, stalking around and hunting for player.

The project is now using another engine and concept of those creatures completely changed, but I kinda liked the effect and decided to share it.

Here is a Git-repo with Unity project:
And an assembled unitypackage:

Blend Modes in Unity

You’ve probably heard about blend modes available in image and video editing tools like Photoshop or After Effects. It is an important technique for content creation and has long since become an integral part of them.

But what about video games?

Say you need to use Color Dodge blending for a particle system. Or your UI-artist made a beautiful assets in Photoshop, but some of them are using Soft Light blend mode? Or maybe you’ve wanted to create some weird Lynch-esque effect with Divide blending and apply it to a 3D mesh?

Blend Modes in Unity game engine

In this article I will describe the mechanics behind popular blend modes and try to simulate their effect inside Unity game engine.

In case you are looking for a complete solution to use the blend mode effect in Unity, try this package on the Asset Store:

Continue reading Blend Modes in Unity