Skip to content
 
 

Repository files navigation

Jackdaw

Jackdaw

License Crates.io Downloads Docs Discord

A 3D editor built for and with Bevy. Very early in dev, expect bugs and changes! A BSN-friendly branch exists on the bsn-editor branch (the flow is to read/write to the BSN AST and then sync to the ECS for rendering the UI and viewport).

We have also recently refactored our UX/UI to be very similar to the official Bevy Editor Figma design, to keep things consistent. Link here

From bevy_editor_prototypes repo:

Bevy Editor Vision

Bevy Editor Architecture

Bevy Editor Roadmap

image
2026-04-09.21-37-20.mp4
2026-04-09.21-39-12.mp4
2026-04-09.21-40-19.mp4
2026-04-09.21-46-33.mp4

Features

  • Brush-based geometry draw, edit, and CSG-combine convex brushes with vertex/edge/face/clip editing modes
  • Material system VERY wip - texture browser, material definitions with ORM auto-detection, per-face application
  • Terrain heightmap sculpting and texture painting, very WIP :)
  • Scene serialization save/load scenes in the .bsn format with full asset references. Older .jsn scenes are migrated on open.
  • Transform tools translate, rotate, scale with grid snapping and axis constraints
  • Undo/redo full command history - some bugs atm with this
  • Extensible register custom components, add inspector panels, integrate with your game

Usage

Install cmake, via package manager, or VisualStudio on Windows

Download a signed release bundle, or install all required executables from source:

cargo install --git https://github.com/jbuehler23/jackdaw jackdaw --locked

Take the release bundle if you can. It ships the prebuilt SDK, so you can create a project straight away; cargo install builds that SDK first, which is about half an hour, once per Jackdaw version. Either way your project's own first build is around nine minutes, because it compiles Bevy like any other Bevy project. Rebuilds after that are 1 to 4 seconds.

This installs jackdaw, jd, jackdaw-runner, and jackdaw-rustc-wrapper. Open Jackdaw and use New Game or Import Bevy Project; the import preview shows every proposed change before applying it. The same flows are available from the terminal:

jd new my-game && jd open my-game   # create
jd import /path/to/game             # preview integration for an existing game
jd import /path/to/game --apply
jd doctor --project /path/to/game   # why isn't this working?
jd upgrade /path/to/game --apply    # after a Jackdaw update

Import never edits your Cargo manifest, lockfile, toolchain, or target/, so cargo run keeps behaving exactly as it did. image

Jackdaw is a standalone editor. Game applications depend only on jackdaw_runtime. To build a custom standalone editor, depend on jackdaw_editor:

use bevy::prelude::*;
use jackdaw_editor::prelude::*;

fn main() -> AppExit {
    App::new()
        .add_plugins((
            DefaultPlugins.set(editor_window_plugin()),
            EnhancedInputPlugin,
            PhysicsPlugins::default(),
            JackdawEditorPlugins::default(),
        ))
        .run()
}

Runtime extensions use the focused jackdaw_extension crate and install as signed .jdext bundles. In precompiled/shared-SDK builds, install, update, disable, and uninstall take effect without restarting; superseded native mappings are reclaimed when Jackdaw exits.

To load a scene you authored into your own game, depend on jackdaw_runtime and spawn a JackdawSceneRoot:

use bevy::prelude::*;
use jackdaw_runtime::prelude::*;

fn spawn_scene(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(JackdawSceneRoot(asset_server.load("scene.bsn")));
}

See the examples for more advanced usage.

Keyboard Shortcuts

Navigation

Key Action
RMB + Drag Look around
WASD Move
Q / E Move up / down
Shift Double speed
Scroll Dolly forward / back
F Focus selected

Editing

Key Action
Esc / R / T Translate / Rotate / Scale mode
B / C Draw brush (add / cut)
1-4 Brush edit: Vertex / Edge / Face / Clip
Ctrl+D Duplicate
Delete Delete selected
Ctrl+Z / Ctrl+Shift+Z Undo / Redo
Ctrl+S Save scene

For the full shortcuts reference, see the book.

Documentation

Contributing

See CONTRIBUTING.md for development setup and PR guidelines.

License

Dual-licensed under MIT or Apache-2.0, at your option.

About

A Bevy scene editor with hierarchy, inspector, and 3D viewport.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages