Welcome
Welcome to the Nexvane documentation. Whether you are building your first project or migrating an existing one, these docs cover everything from installation to deployment.
What is Nexvane?
Nexvane is an open-source, cross-platform game engine written in C++. It renders through its own pipeline, so your project behaves the same on every platform. Script your gameplay in native C++ or Neptune, Nexvane's own DSL, and deploy to:
- Windows (10, 11)
- macOS (Apple Silicon and Intel)
- Linux (X11 and Wayland)
- iOS and Android
For exact version and architecture details, see System Requirements.
Choose your path
New to Nexvane?
Start with Installation, then follow the Quick Start guide to get a project running end to end.
Coming from Unity?
Entities map closely to GameObjects, and Components map to Nexvane's own Components — see Entities to get oriented.
Looking for API details?
The API Reference documents every native and Neptune symbol Nexvane exposes.
Key capabilities
| Capability | Description |
|---|---|
| Cross-platform rendering | Nexvane's own rendering engine produces consistent output on every platform. No native control wrappers, no platform-specific quirks. |
| Native and Neptune scripting | Write gameplay in native C++ for full control, or Neptune for faster iteration. |
| Entity Component System | Nexvane's ECS keeps gameplay logic and data separate for predictable performance at scale. |
Try it: tabs
A quick look at the <doc-tabs> component used throughout these docs: switch scripting language below, then try either platform block further down — those two are separate elements that stay in sync because they share the same group.
Choose your scripting language
// C++
Entity player = world.CreateEntity();
player.AddComponent<Transform>();
const MAX_PLAYERS = 8
fn spawn_player(world: World, name: String) {
let player = world.create_entity()
player.add_component(Transform)
self.count = self.count + 1
return player
}
Platform notes stay in sync
These two blocks are independent <doc-tabs> elements with group="platform" — switching one switches the other.
Download the .exe installer from the Downloads page.
Download the .dmg from the Downloads page and drag Nexvane into Applications.
Download the .AppImage, or build from source — see Downloads.
Config lives in %APPDATA%\Nexvane\.
Config lives in ~/Library/Application Support/Nexvane/.
Config lives in ~/.config/nexvane/.
Real type-checking, right in the docs
This block has a twoslash class alongside language-ts — the snippet runs through the actual TypeScript compiler, so player.id below is colored from its real inferred type, and hovering it shows that type exactly like it would in an editor.
interface Entity {
id: number
}
interface World {
createEntity(): Entity
}
declare const world: World
const player = world.createEntity()
player.id
// ^?
Need help?
Search the sidebar, or reach out through the community links in the footer.