Table of Contents
Note
Voile is in active development and not yet production-ready. Expect things to change and evolve frequently.
Voile
Welcome to the official documentation for Voile, a lightweight, modular game engine written in C#.
✨ What is Voile?
Voile is a work-in-progress game framework and toolkit. It provides building blocks for rendering, UI, input, and resource management, but it’s not trying to be a fully fledged package. Instead, it gives you flexibility and transparency over how you contruct, interact with, and build your systems. Think of it as an alternative to MonoGame, not a all-in-one solution like Godot, Unity or Unreal.
🎯 Goals & Philosophy
Before using Voile or any engine/framework, it's important to consider if it aligns with your workflow, goals, and requirements.
Here’s what Voile does not try to be:
-
🚫 A fully-fledged game IDE with a scene editor
Voile will include editors for specific resource types (e.g. particles, asset bundles), and a default Entity-Component based scene graph, but it won’t include a full-blown WYSIWYG editor. -
🚫 A cutting-edge 3D engine
Voile may support stylized 3D (e.g. PSX-era or toon-shaded rendering), but not AAA graphics pipelines.
For modern 3D games, tools like Unreal or Unity are better suited. -
🚫 A genre-specific engine
Voile is not a prepackaged RPG engine, FPS framework, or visual novel kit.
It’s a set of libraries for rendering, input, and audio, not a game template. You control entity systems, game loop order, and architecture.
✅ Use Voile If You Want:
- 🔍 Full control over how your game loop and entities are structured
- 🎨 Custom UI rendering with layouting, text control, and styling
- 📦 Strong resource management and serialization support
- ⚙️ An engine that favors code clarity and transparency over what gets ran.