// the find
bytestring-net/bevy_lunex
Blazingly fast retained layout engine for Bevy ECS.
bevy_lunex is a retained layout engine for Bevy that treats UI nodes as regular ECS entities. Instead of a separate UI world, your buttons and panels live alongside your game objects and are manipulated with the same systems and observers. It targets game devs who find bevy_ui too limiting, especially those who want diegetic or worldspace UI.
The ECS-native approach is the real differentiator — hover states, animations, and click handlers are just components and observers, not a parallel callback tree. Worldspace 3D UI works without hacks because layout nodes are just entities with Transforms. The unit system (Rl for relative, Rh for height-relative) handles aspect ratio changes gracefully, which is something most game UI frameworks punt on. The Bevypunk demo is a production-quality reference implementation, not a toy, and it compiles to WASM.
Bevy's version coupling will bite you: each Bevy release requires a matching bevy_lunex release, and the project is on Bevy 0.18 while the ecosystem is still catching up — check compatibility before starting. The component-per-feature design keeps things modular but the boilerplate-per-widget is high; that 40-line button example is doing almost nothing yet. No built-in widget library — you assemble everything from primitives, which is philosophical but means you're writing your own checkbox from scratch. Last push was February 2026 and there's only one main contributor, so the bus factor is one person who might shift focus with any Bevy breaking release.