Expand description
§Sable Engine
A modular 3D/2.5D game engine built in Rust with multi-backend rendering support.
§Features
- Multi-Backend Rendering — Vulkan (primary), Metal (macOS/iOS), DirectX 12 (Windows)
- 2D & 3D Support — Full 3D rendering with first-class 2.5D/sprite support
- Live2D-Style Animation — Mesh deformation, physics-based hair/cloth, lip sync
- Scripting — Lua, Rhai, and WebAssembly scripting with hot-reload
- Visual Editor — Scene editing, asset browsing, profiling tools
§Crate Structure
The engine is split into multiple crates for modularity:
sable-core— Math, logging, utilitiessable-platform— Windowing, inputsable-gpu— Vulkan abstractionsable-metal— Metal backend (macOS/iOS)sable-dx12— DirectX 12 backend (Windows)sable-render— High-level rendering (backend-agnostic)sable-assets— Asset loading, hot-reloadsable-scene— ECS, transforms, spatial structuressable-audio— Audio playback, spatial soundsable-physics— Collision, rigid bodiessable-puppet— Live2D-style character animationsable-script— Scripting integrationsable-editor— Visual development editorsable-macros— Proc macros for ergonomic APIssable-app— Application framework
§Getting Started
ⓘ
use sable::prelude::*;
fn main() {
App::new()
.add_plugin(CorePlugin)
.add_plugin(RenderPlugin)
.run();
}§License
Proprietary license. Free for teams of fewer than 5 people. Teams of 5 or more require a 10% revenue share on sold copies. See LICENSE file for full terms.
Re-exports§
pub use sable_core as core;
Modules§
- prelude
- Re-exports of commonly used types and traits.