Browse by type
The first IDE purpose-built for the Bevy game engine.
BerryCode is not a general-purpose editor with Bevy plugins bolted on — it's an IDE designed from the ground up for Bevy development. Built entirely in Rust with Bevy + bevy_egui + WGPU, it understands Bevy's ECS architecture, scene format, and development workflow natively.
Why not just use VS Code? VS Code treats Bevy as "just another Rust project." BerryCode treats Bevy as a first-class game engine — with a built-in Scene Editor, ECS Inspector, System Graph, and more. No extensions needed.
| Scene Editor | Game Runtime |
|---|---|
![]() |
![]() |
| ECS Inspector | Git Integration |
|---|---|
![]() |
![]() |
| Code Editor + AI Chat |
|---|
![]() |
| Feature | VS Code + Extensions | BerryCode |
|---|---|---|
| Scene editing | Text-only .scn.ron |
Visual 3D viewport with gizmos |
| ECS inspection | None | Live entity/component/resource browser |
| System ordering | None | Visual system dependency graph |
| Bevy events | println! debugging |
Real-time event monitor |
| Play in editor | Switch to terminal | Run with integrated console output |
| Bevy templates | Manually type boilerplate | One-click Component/System/Plugin generation |
| Plugin discovery | Search crates.io manually | Built-in Bevy plugin browser |
| Built with | Electron (web tech) | Bevy + WGPU (same stack as your game) |
These tools understand Bevy's architecture — they're not generic wrappers.
W/E/R).scn.ron (Bevy native) or .bscene (binary)States enum variantsComponent, Resource, System, Plugin, Event, State boilerplateCargo.tomlBerryCode isn't just Bevy tools — it's a complete Rust IDE.
BerryCode runs end-to-end on a local Llama 3 with no API keys, no rate limits, and no code leaving your machine. Useful for offline work, privacy-sensitive projects, and teaching kids to code without cloud dependencies.
# 1. Install Ollama and pull Llama 3.3
brew install ollama
ollama pull llama3.3
# 2. Run the Ollama server (background)
ollama serve
That's it. Chat sidebar, inline completions, and Autonomous (🤖 Agent) mode all run against the local model. BerryCode auto-injects a Llama-tuned Bevy 0.18 cheatsheet into the system prompt to compensate for the spots Llama gets wrong (Rust-vs-Python syntax slips, EventReader → MessageReader rename, tool-call envelope shape).
If you have a smaller machine, swap llama3.3 for llama3.1:8b in the Settings model field — same flow, lower memory.
Grab the latest release artifact for your platform from the Releases page:
| Platform | Artifact |
|---|---|
| macOS (Apple Silicon + Intel) | BerryCode-<version>-macOS-universal.dmg |
| Linux (x86_64) | berrycode-<version>-linux-x86_64.tar.gz |
| Windows (x86_64) | berrycode-<version>-windows-x86_64.zip |
Releases are signed with Sigstore (.sig + .pem files alongside each archive). Windows ZIPs are additionally code-signed via SignPath so SmartScreen doesn't flag the binary.
# macOS / Linux — Homebrew
brew install berrycode
# Windows — winget
winget install KyosukeIshizu1008.BerryCode
# Linux — Snap
sudo snap install berrycode
# Linux — Flatpak
flatpak install flathub dev.berrycode.BerryCode
# Cargo (any platform with Rust 1.75+)
cargo install berrycode
git clone https://github.com/KyosukeIshizu1008/berryscode
cd berryscode
cargo run --bin berrycode # debug
cargo build --release --bin berrycode # release
AI features (chat, Native agent, Codex CLI / Claude Code fallbacks) are built into the binary — bring your own API key in Settings (Cmd+,) under the AI section.
Prerequisites: Rust 1.75+ | Linux: libx11-dev libasound2-dev libudev-dev libpipewire-0.3-dev
After cloning, enable the rustfmt pre-push hook so the Linux CI fmt check can't reject your push:
git config core.hooksPath .githooks
BerryCode ships in monthly releases. The big picture:
| Phase | Versions | What we're building |
|---|---|---|
| Editor | v0.4 – v0.7 | A solid Bevy IDE foundation (✅ shipped) |
| Runtime | v0.8 – v0.9 | Ship to mobile, then connect players online |
| Publishing | v0.10 – v0.12 | Game data, testing, store integration, i18n |
| Team scale | v1.0 | Multi-developer collaboration |
Highlights of what's already in the latest release:
read_file / write_file / list_files / run_bash), Codex CLI / Claude Code as fallback, Cmd+L chat sidebar, Approve / Reject diff cards, @file attachments, 3-way merge guard, Bevy 0.18 cheatsheet injection.bscene and shadersSee GitHub Releases for the full per-version breakdown.
Bevy mobile development without the toolchain hell. Replace the cargo-mobile + Xcode + Android Studio + SDK juggling with a single integrated workflow.
Already in main:
adb / rustup targets / codesign identities, persisted to disk so cold starts skip the probesimctl boot/install/launch (iOS Sim), devicectl (iOS Device), adb install + am start + logcat (Android), all chained as one tracked subprocess that gets cleaned up on IDE quitadb logcat priorities, Apple unified-log markers, tracing keywords, and Bevy / Rust panic detection as a dedicated severityv0.8.x roadmap:
xcrun devicectl list devices so attached hardware shows up in the target dropdown (dispatch path is already wired)security find-identity, attach provisioning profiles, manage Android keystoresrustup target add from the toolchain panelBring your existing projects with you. BerryCode aims to be a bridge, not a wall.
project.godot, browse .tscn scene trees, syntax-highlight .gd / .cs files. No automatic conversion — just side-by-side reading while you migrate at your own pace.unity YAML scenes, .cs syntax-highlighted, similar non-converting viewerPositioning: the editor that speaks your existing engine's files, even while you write new code in Bevy.
| Version | Theme | Headline |
|---|---|---|
| v0.9 | Networking & multiplayer | First-class lightyear / bevy_replicon integration, N-client local launcher, server packaging (Fly.io / Railway / k8s) |
| v0.10 | Game data | DB inspector for SQLite / Postgres / Redis with ECS bridge, live save-file editing, schema diagrams |
| v0.10.5 | AI completion | Inline / Tab ghost-text, real 3-way merge, embedded Bevy doc RAG, ECS-aware completion (carryo |
$ claude mcp add berryscode \
-- python -m otcore.mcp_server <graph>