raysan5/raygui logo

raysan5/raygui

Free

A simple and easy-to-use immediate-mode gui library

FreeFree tier
Type
Open Source

About raysan5/raygui

raygui is a simple and easy-to-use immediate-mode GUI library for tools development. Originally inspired by Unity's IMGUI, it is designed as an auxiliary module for raylib but can be adapted to other engines or frameworks. The library is provided as a single-file header-only implementation (raygui.h) and includes over 25 controls, a powerful styling system for colors, fonts, and metrics, icons support with a built-in 1-bit icons pack, and standalone usage mode. raygui is intended for creating simple GUI interfaces in tools and has been used in multiple published tools. Note: latest master branch is aligned with latest raylib; version 5.0 introduces API-breaking changes where all functions now return a result value.

Key Features

Immediate-mode GUI, no retained data
Over 25 controls (basic and advanced)
Powerful styling system for colors, font, and metrics
Standalone usage mode supported (for other graphic libraries)
Icons support, embedding a complete 1-bit icons pack
Header-only single-file implementation (raygui.h)
Multiple tools provided for raygui development

Pros & Cons

Pros
  • Simple and easy to use with immediate-mode paradigm
  • No retained data management required
  • Header-only library, easy to integrate
  • Comprehensive styling system allows full visual customization
  • Built-in icons pack for common UI elements
  • Can be used standalone with other graphics frameworks
Cons
  • Primarily designed for raylib; adaptation to other engines may require effort
  • API changes in version 5.0 may break existing code
  • Limited to a flat, rectangular visual style by default
  • Documentation and examples are minimal outside the GitHub repository

Best For

Building GUI interfaces for raylib-based toolsCreating simple UI elements in game development toolsDeveloping in-game debug menus or editorsRapid prototyping of GUI components

FAQ

What is raygui?
raygui is a simple and easy-to-use immediate-mode GUI library originally inspired by Unity's IMGUI. It is designed as an auxiliary module for raylib but can be adapted to other engines/frameworks.
How is raygui packaged?
raygui is a single-file header-only library. Functions definition and implementation reside in the same file raygui.h.
What controls does raygui provide?
raygui includes over 25 controls including basic controls (Label, Button, Toggle, CheckBox, ComboBox, DropdownBox, TextBox, Slider, etc.), container/separator controls (WindowBox, GroupBox, Line, Panel, ScrollPanel, TabBar), and advanced controls (ListView, ColorPicker, MessageBox, TextInputBox).
Can raygui be used without raylib?
Yes, raygui supports a standalone usage mode for other graphic libraries, though it depends on raylib by default.
Is raygui free?
raygui is open source and free to use under the license provided in its repository.