amethyst-imgui 0.6.0

imgui library for amethyst failed to build amethyst-imgui-0.6.0
Please check the build logs and, if you believe this is' fault, open an issue.
Visit the last successful build: amethyst-imgui-0.5.1

Latest release on Documentation on


Amethyst-imgui provides integration for the imgui-rs crate within the Amethyst game engine.

ImGUI is known industry wide for its utility in fast prototyping and debug interfaces.


This crate provides an amethyst RenderPlugin (available since amethyst 0.12) which properly renders ImGUI windows which are rendered using the imgui-rs crate. This integration is accomplished by calling the amethyst_imgui::with function anywhere within an Amethyst (a System or State is appropriate), which will render within the immediate-mode context of ImGui. All synchronization, frame handling and Amethyst input is handled within this crate.

A minimal example is available at examples/

cargo run --example demo_window --features amethyst/vulkan


This crate currently requires including the amethyst crate; this may introduce a full recompilation of amethyst due to differing features. If this is the case, you'll need to clone this git repository and and set the appropriate features.

This create uses the amethyst shader-compiler, which relies on shaderc to compile its shaders at build time. Finally, this crate exposes the same rendering features as amethyst, and will pass them along to amethyst.

Example Cargo.toml Usage:

amethyst-imgui = "0.5"

RenderPlugin usage:

fn main() -> amethyst::Result<()> {
    let app_root = application_root_dir()?;
    let display_config_path = app_root.join("examples/display.ron");

    let game_data = GameDataBuilder::default()
        .with(DemoSystem::default(), "imgui_use", &[])
                        .with_clear([0.34, 0.36, 0.52, 1.0]),

    Application::build("/", Example)?.build(game_data)?.run();


An example System using amethyst-imgui:

pub struct ImguiDemoSystem;
impl<'s> amethyst::ecs::System<'s> for ImguiDemoSystem {
    type SystemData = ();
    fn run(&mut self, _: Self::SystemData) {
        amethyst_imgui::with(|ui| {
            ui.show_demo_window(&mut true);