Frequently asked questions
Straight answers to what people ask most about BUI. Do you need Blender, is it a browser, how it compares with Electron, and what the GPL means for you.
Short, honest answers to the questions people ask most. If yours isn’t here, open an issue: if one person asks, others are wondering too.
Do I need Blender installed?
No. BUI contains the parts of Blender’s UI code it needs and builds on its own. You don’t need Blender installed, and you don’t need to know Blender to use BUI. If you do know it, everything will feel familiar.
Is it really my unchanged tkinter app?
Yes. Run it with blenderui-tk app.py, and import tkinter returns BUI’s implementation, which covers every public tkinter and ttk name (7,846 of 7,846). Nine real programs are tested to behave identically on the standard library and on BUI.
There are a few differences. Mainly, options that only change Tk’s appearance (relief, borderwidth, ttk.Style …) are accepted but don’t change the look, which always comes from Blender’s theme. tkinter compatibility lists them.
Is it a web browser in Rust?
No. There’s no browser engine, no webview and no network. BUI takes HTML elements and CSS as a UI language: they’re laid out with taffy and drawn by BUI’s own engine, with Blender’s widgets where you ask for them, in a native window.
JavaScript is optional, too: the Rust crate needs none, and the JavaScript packages drive the same engine.
Is the Dear ImGui support a re-implementation?
No. It’s the real Dear ImGui (vendored, MIT-licensed), running on a BUI backend, so every function behaves as upstream. The optional Blender-widgets build changes only how ImGui’s widgets are drawn and how they react to the mouse, by compiling an edited copy of imgui_widgets.cpp.
How is it different from Electron, Electrobun or GPUIX?
- Electron ships Chromium with every app: on the order of 100 MB or more.
- Electrobun runs on Bun and renders in the system’s webview. It’s small to download, but the UI is still a browser page.
- GPUIX, like BUI, renders React natively: React drives Zed’s GPUI.
BUI also renders natively, with Blender’s widgets, a much larger part of CSS, Tailwind, and hooks backed by signals. bui build makes a 5 MB executable that reaches its first frame in about 70 ms. (Measured on a Ryzen 7 5800U laptop; see Benchmarks.)
Do the Rust macros cost performance?
No. rsx!, #[component], css! and tw! expand at compile time into the same builder calls you would write by hand. Tailwind classes are compiled to CSS once, on first use. Hooks cost a few nanoseconds per read or write.
Is it fast?
Yes, in the ways people notice. An idle window uses no CPU, because BUI redraws only what changes and otherwise sleeps. A Rust app shows its first frame in about 38 ms. A hover redraws one widget, in about 0.05 ms on the components demo. The Benchmarks page has the numbers and how they were measured.
Which platforms does it run on?
Windows and Linux fully; macOS with caveats. The macOS window host is written but hasn’t been run on a Mac yet (help test it), JavaScript runs headless there, and there’s no GPU renderer on macOS yet. See Platforms.
Can I change the colors?
You can color individual elements in every API, and Rust and JavaScript give you full CSS on plain HTML elements. You also get Blender’s Light theme as well as its default Dark one: bui.set_theme("light"), blenderui::set_theme("light"), new App({ theme: "light" }) or BUI_THEME=light. Custom theme files aren’t supported. See Theming.
Is it ready for production?
BUI is young: its version is still 0.x. Much of it is complete and tested (the C kit, tkinter, the components, Rust, Dear ImGui, JavaScript), and some parts are partial or experimental (Qt syntax, parts of CSS and text, macOS). The Roadmap shows which is which. Pin your version, and test on the platforms you ship.
Who wrote it?
The README says it plainly: the repository is built entirely using LLMs, with no human-written code. The drawing and interaction code is ported from Blender’s sources, and the behaviour is checked by tests (C, Python, Rust and JavaScript suites, the tkinter side-by-side programs and the GPU parity test).
Why GPL?
BUI is derived from Blender’s source code, which is licensed GPL-2.0-or-later, so BUI is too.
Can I use BUI in a commercial app?
The GPL allows commercial use. What it asks is that when you distribute a program that includes BUI, you distribute it under the GPL too, with its source code available. If that doesn’t fit your project, talk to a lawyer before you ship. (This is a summary, not legal advice.) License and credits has the details.
Next steps
Last updated