Skip to content
Vilanel

Toolchain and setup

I build Vilanel on my own and do not distribute it. There is no installer and no download, and this is not a set-up guide for anyone else. It records what the engine is built against and how a project is laid out.

What it is built with

These are the versions the engine is actually developed on, not a list of what it might work with. Nothing else has been tried.

Version
Visual Studio Community 202217.14 or later
CMake3.28 minimum
Vulkan SDK1.3 or later
Python3.13
git2.49

Microsoft's compiler is the main one. A second compiler is kept building alongside it, not because anything ships from it, but because two compilers disagree about what is worth warning you about, and the disagreements are usually worth reading.

The Vulkan SDK already includes everything needed to compile shaders, so there is no separate shader toolchain to install.

Two decisions that shape the code

Errors are returned, not thrown. Every operation that can fail returns either its result or a reason it did not. Exception handling is switched off entirely.

Types are identified by a hash of their name rather than by anything the compiler provides. That looks like an odd choice until you remember that gameplay code reloads while the editor runs: the identity a compiler hands out belongs to the library that produced it, and a hash is just a number that keeps working after that library is gone.

What a project is

A project is a folder anywhere on disk, not a copy of the engine. It holds its own assets, its own levels, and its own game code.

The entire connection between the Hub and the editor is one command-line flag pointing at that folder.

That is deliberate. An editor that can only be started by another program is one whose startup nobody can debug, so the Hub can be rewritten without touching the editor, and the editor works fine with no Hub at all.

Related