A pure Rust game engine for WebGL 2.0 and native OpenGL applications.
unrust is a pure Rust-based game engine that enables developers to create 2D and 3D games and interactive applications. It supports both WebGL 2.0 for web deployment and native OpenGL for desktop, providing a cross-platform solution built on Rust's safety and performance.
Game developers and Rust enthusiasts looking to build cross-platform games or graphical applications that run in browsers and on desktop systems.
Developers choose unrust for its pure Rust implementation, which offers memory safety and high performance, combined with seamless WebAssembly compilation for web deployment and native OpenGL support for desktop applications.
unrust - A pure rust based (webgl 2.0 / native) game engine
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports both WebGL 2.0 for browser-based games and OpenGL for desktop applications, enabling true cross-platform deployment as shown in live demos like Boxes and Sponza.
Compiles to WebAssembly for high-speed web games, leveraging Rust's efficiency in browser environments, with specific build steps for wasm32-unknown-unknown targets.
Provides live demos showcasing graphics, sound, post-processing, and mesh loading, serving as practical resources for developers to quickly grasp engine capabilities.
Pure Rust implementation ensures memory safety and performance, reducing common bugs and crashes in game development, as emphasized in the project philosophy.
APIs are very unstable until version 0.2, with the README warning of heavy development, making it risky for production or long-term projects.
Requires Rust nightly builds for WebAssembly targets, which can introduce instability, compatibility issues, and extra maintenance overhead.
Setting up for web involves additional tools like cargo-web and multiple configuration steps, increasing initial setup time and complexity compared to simpler engines.
Documentation is limited, with only example code provided and a note that more is coming, hindering onboarding and debugging for new users.