EmbarkStudios/rust-ecosystem

Rust wants & tracking for Embark 🦀

Rust

1,028

253 commits

updated Jan 22, 2025

See the code

README

Embark Rust Ecosystem

Embark logo

High-level tracking and discussions about improving Rust and the Rust ecosystem for our game development use cases at Embark.

Check out the Issues for active topics. And our embark.dev open source portal.

Open Source

Open source Rust projects we've created so far and are actively using and maintaining:

NameDescriptionCrates.io
🌋 ash-moltenStatically linked MoltenVK for Vulkan on Mac using AshLatest version
👷 buildkite-jobifyKubekite, but in Rust, using configuration from your repos
📜 cargo-aboutCargo plugin to generate list of all licenses for a crateLatest version
❌ cargo-denyCargo plugin to help you manage large dependency graphsLatest version
🎁 cargo-fetchercargo fetch alternative for use in CI or other "clean" environmentsLatest version
🧠 cervoMiddleware used for ML inference in our games.Latest version
⚙️ cfg-exprA parser and evaluator for Rust cfg() expressionsLatest version
📒 cloud-dnsClient to interact with Google Cloud DNS v1Latest version
🔥 crash-handlingCollection of crates for catching and handling crashes
⛴️ discord-sdkAn open implementation of the Discord Game SDK in RustLatest version
🌉 fsr-rsRust bindings for AMD FidelityFX™ Super ResolutionLatest version
🚙 gsutilA small, incomplete replacement for the official gsutilLatest version
💡 kajiyaExperimental real-time global illumination renderer
📦 kratesCreates graphs of crates from cargo metadataLatest version
🪞 mirror-mirrorPowerful reflection library for RustLatest version
🆙 octoborsGitHub action for automerging PRs based on a few rules
🎳 physxUse NVIDIA PhysX in RustLatest version
⌛ poll-promiseA Rust promise for games and immediate mode GUIsLatest version
🗜 presserA helper crate for doing low-level data copiesLatest version
💠 proto-genA protobuf generation runner/cli using tonic buildLatest version
🐦 puffinSimple instrumentation profiler for RustLatest version
📓 relnotesAutomatic GitHub release notesLatest version
🐏 rpmalloc-rsCross-platform Rust global memory allocator using rpmallocLatest version
🐉 rust-gpuMaking Rust a first-class language & ecosystem for GPU code
🌌 rymderUnofficial agones clientLatest version
🆔 spdxHelper crate for SPDX expressionsLatest version
🛠 spirv-tools-rsAn unofficial wrapper for SPIR-V ToolsLatest version
🔆 superluminal-perfSuperluminal Performance profiler integrationLatest version
📂 tame-gcsGoogle Cloud Storage functions that follows the sans-io approachLatest version
🔐 tame-oauthSmall OAuth crate that follows the sans-io approachLatest version
🧬 tame-oidcSmall OIDC crate that follows the sans-io approachLatest version
💩 tame-webpurifyAn incredibly small library to interact with the webpurify REST APILatest version
🎨 texture-synthesisExample-based texture synthesis generator and CLI exampleLatest version
🛠 tiny-benchA tiny benchmarking libraryLatest version
⏱️ tracing-ext-ffi-subscriberSubscriber for passing spans to a profiling tool via FFI.Latest version
🪵️ tracing-logfmtA logfmt formatter for tracing-subscriber.Latest version
💫 tryhardEasily retry futuresLatest version

You can see all these crates on our crates.io profile.

Contributing

We encourage contributions to any of our open source projects. If you're not sure where to start, look at the GitHub issues on any of the above projects!

Check out guidelines.md for our guidelines & policies for how we develop in Rust.

To make sure we keep a friendly and safe environment for everyone, we have a Contributor Code of Conduct. You can read this in any of our projects' repositories. By contributing to our projects, you agree to the code of conduct.

Areas of Interest

Areas that we are interested in or working on, and want to help see improved in Rust:

  • ☸ Distributed systems - async, tokio, tonic

  • 🕹️ Game engine systems - multiplayer, rendering, physics, audio, server, assets, workflows

  • 📦 Developer experience - fast iteration with large projects/monorepos, distributed builds, debugging, profiling, IDE

  • 🛸 WebAssembly and WASI - sandboxed safe Rust code on client, edge & cloud

  • 🤖 Machine learning - efficient inference, library bindings, training environments

  • 🚀 High performance runtime - CPU job scheduling, code generation, optimizing crates

  • 📺📱 Console & mobile platform support - PlayStation, Xbox, Android. #18

  • 🏎 Rust on GPU - future compute & ML programming models beyond shaders, https://shader.rs

We track and discuss these from our perspective in the Issues for visibility and to get feedback, feel free to join in if you have ideas!

Also check out the Rust Game Development Working Group.

Work with us

We're actively looking to collaborate with developers on the areas discussed in this repository. If you're interested in working on a specific issue or idea highlighted here, please reach out to us at opensource@embark-studios.com to discuss contracting opportunities or sponsorship.

We are also hiring for full-time positions remotely within Europe or on-site in Stockholm or Malmö!

Let's go! 🚀

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

gamedev
rust

EmbarkStudios/rust-ecosystem

Rust wants & tracking for Embark 🦀

Rust

1,028

253 commits

updated Jan 22, 2025

See the code

README

Embark Rust Ecosystem

Embark logo

High-level tracking and discussions about improving Rust and the Rust ecosystem for our game development use cases at Embark.

Check out the Issues for active topics. And our embark.dev open source portal.

Open Source

Open source Rust projects we've created so far and are actively using and maintaining:

NameDescriptionCrates.io
🌋 ash-moltenStatically linked MoltenVK for Vulkan on Mac using AshLatest version
👷 buildkite-jobifyKubekite, but in Rust, using configuration from your repos
📜 cargo-aboutCargo plugin to generate list of all licenses for a crateLatest version
❌ cargo-denyCargo plugin to help you manage large dependency graphsLatest version
🎁 cargo-fetchercargo fetch alternative for use in CI or other "clean" environmentsLatest version
🧠 cervoMiddleware used for ML inference in our games.Latest version
⚙️ cfg-exprA parser and evaluator for Rust cfg() expressionsLatest version
📒 cloud-dnsClient to interact with Google Cloud DNS v1Latest version
🔥 crash-handlingCollection of crates for catching and handling crashes
⛴️ discord-sdkAn open implementation of the Discord Game SDK in RustLatest version
🌉 fsr-rsRust bindings for AMD FidelityFX™ Super ResolutionLatest version
🚙 gsutilA small, incomplete replacement for the official gsutilLatest version
💡 kajiyaExperimental real-time global illumination renderer
📦 kratesCreates graphs of crates from cargo metadataLatest version
🪞 mirror-mirrorPowerful reflection library for RustLatest version
🆙 octoborsGitHub action for automerging PRs based on a few rules
🎳 physxUse NVIDIA PhysX in RustLatest version
⌛ poll-promiseA Rust promise for games and immediate mode GUIsLatest version
🗜 presserA helper crate for doing low-level data copiesLatest version
💠 proto-genA protobuf generation runner/cli using tonic buildLatest version
🐦 puffinSimple instrumentation profiler for RustLatest version
📓 relnotesAutomatic GitHub release notesLatest version
🐏 rpmalloc-rsCross-platform Rust global memory allocator using rpmallocLatest version
🐉 rust-gpuMaking Rust a first-class language & ecosystem for GPU code
🌌 rymderUnofficial agones clientLatest version
🆔 spdxHelper crate for SPDX expressionsLatest version
🛠 spirv-tools-rsAn unofficial wrapper for SPIR-V ToolsLatest version
🔆 superluminal-perfSuperluminal Performance profiler integrationLatest version
📂 tame-gcsGoogle Cloud Storage functions that follows the sans-io approachLatest version
🔐 tame-oauthSmall OAuth crate that follows the sans-io approachLatest version
🧬 tame-oidcSmall OIDC crate that follows the sans-io approachLatest version
💩 tame-webpurifyAn incredibly small library to interact with the webpurify REST APILatest version
🎨 texture-synthesisExample-based texture synthesis generator and CLI exampleLatest version
🛠 tiny-benchA tiny benchmarking libraryLatest version
⏱️ tracing-ext-ffi-subscriberSubscriber for passing spans to a profiling tool via FFI.Latest version
🪵️ tracing-logfmtA logfmt formatter for tracing-subscriber.Latest version
💫 tryhardEasily retry futuresLatest version

You can see all these crates on our crates.io profile.

Contributing

We encourage contributions to any of our open source projects. If you're not sure where to start, look at the GitHub issues on any of the above projects!

Check out guidelines.md for our guidelines & policies for how we develop in Rust.

To make sure we keep a friendly and safe environment for everyone, we have a Contributor Code of Conduct. You can read this in any of our projects' repositories. By contributing to our projects, you agree to the code of conduct.

Areas of Interest

Areas that we are interested in or working on, and want to help see improved in Rust:

  • ☸ Distributed systems - async, tokio, tonic

  • 🕹️ Game engine systems - multiplayer, rendering, physics, audio, server, assets, workflows

  • 📦 Developer experience - fast iteration with large projects/monorepos, distributed builds, debugging, profiling, IDE

  • 🛸 WebAssembly and WASI - sandboxed safe Rust code on client, edge & cloud

  • 🤖 Machine learning - efficient inference, library bindings, training environments

  • 🚀 High performance runtime - CPU job scheduling, code generation, optimizing crates

  • 📺📱 Console & mobile platform support - PlayStation, Xbox, Android. #18

  • 🏎 Rust on GPU - future compute & ML programming models beyond shaders, https://shader.rs

We track and discuss these from our perspective in the Issues for visibility and to get feedback, feel free to join in if you have ideas!

Also check out the Rust Game Development Working Group.

Work with us

We're actively looking to collaborate with developers on the areas discussed in this repository. If you're interested in working on a specific issue or idea highlighted here, please reach out to us at opensource@embark-studios.com to discuss contracting opportunities or sponsorship.

We are also hiring for full-time positions remotely within Europe or on-site in Stockholm or Malmö!

Let's go! 🚀

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

gamedev
rust

Project health

Overall

3.6/10

Maintained

0/10

Code review

1/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 29)

Sergei Shulepov

312 followers · starred Sep 2019

DaniPopes

1,052 followers · starred Nov 2025

Bartosz Kaszubowski

469 followers · starred Nov 2025

Rémy Rakic

194 followers · starred Aug 2019