A lightweight immediate mode GUI module for LÖVE game engine, enabling in-game UI creation.
LÖVE-Nuklear is a lightweight immediate mode GUI library specifically designed for the LÖVE 2D game engine. It enables developers to create in-game user interfaces like menus, HUDs, and debug panels directly within their LÖVE projects. The library provides a simple API that integrates seamlessly with LÖVE's rendering and input systems.
LÖVE game developers who need to add user interfaces to their 2D games without complex external dependencies. It's particularly useful for indie developers and hobbyists creating games with Lua.
Developers choose LÖVE-Nuklear because it's specifically built for LÖVE with minimal overhead, offers immediate mode simplicity that reduces UI state management complexity, and provides native integration with LÖVE's input and drawing systems.
Lightweight immediate mode GUI for LÖVE games
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
UI elements are defined each frame, reducing state management overhead as shown in the example where UI logic is integrated directly into love.update.
Directly hooks into LÖVE's input callbacks like love.keypressed and drawing system, ensuring native compatibility without heavy dependencies.
Minimal footprint suitable for real-time games, emphasized in the philosophy as prioritizing simplicity and efficiency.
Supports dynamic and static layout rows for responsive UI design, demonstrated with ui:layoutRow calls in the example code.
Compiling requires managing dependencies like LuaJIT and using CMake with platform-specific steps, especially cumbersome on Windows as detailed in the README.
Complete documentation is hosted on a separate wiki, which may be less accessible and harder to navigate than integrated docs.
Developers accustomed to retained mode GUIs may struggle with the paradigm, potentially leading to inefficient UI code or confusion in state handling.