This curated list is from the Game Development in Rust Discord server and prioritizes frameworks that have examples and are ready or almost ready for production. This list was made so it can be shared with beginners.
For a longer list of frameworks, see Are We Game Yet?.
- amethyst 2D, 3D. Graphics, audio.
- oxygengine 2D. Graphics, audio.
- macroquad 2D, 3D. Graphics. Inspired on Raylib (C framework).
- ggez 2D. Graphics, audio. Inspired on LÖVE (Lua framework).
- quicksilver 2D. Graphics, audio.
- tetra 2D. Graphics, audio.
- coffee 2D. Graphics.
- luminance High level. Uses OpenGL.
- miniquad High-level. Focus on portability. Uses OpenGL and Metal (Work-in-progress).
- wgpu Intermediate-level. Uses
gfx-hal
. - glium Intermediate-level. Safer wrapper for OpenGL 3+.
- golem Intermediate-level. Higher level wrapper built on glow.
- vulkano Intermediate-level. Safer wrapper for Vulkan.
- rendy Intermediate-level. Uses
gfx-hal
. Used byamethyst
. - gfx-hal Low-level, based on Vulkan. Backends: Vulkan, GL, DX12, and Metal.
- glow Low-level. Safer wrapper for OpenGL and WebGL.
- erupt Low-level bindings to Vulkan.
- ash Low-level bindings to Vulkan. Used by
gfx-hal
. - gl46 Low-level. Wrapper for OpenGL 4.6 (generated by Phosphorus). Used by
glow
. - gl33 Low-level. Wrapper for OpenGL 3.3 (generated by Phosphorus).
- winit Rusty windowing framework.
- glfw Rust wrapper for the C GLFW3 library.
- fermium Rust wrapper for the C SDL2 library. Contains more than window creation features.
- sdl2 Rust wrapper for the C SDL2 library. Contains more than window creation features.
- fontdue Pure Rust. No
std
dependency.