Description
Changelog
Reviews (0)

Reusable UI Components for Godot

Reusable, composition-first UI pieces for Godot — built to be combined with each other and with vanilla nodes.

Overview

Reusable UI Components is a collection of generic, framework-agnostic UI components and base classes for Godot 4, built around composition rather than inheritance-heavy customization.

Each component solves one focused problem and is designed to be dropped into any project and combined with the others and with vanilla Godot nodes.

Features

Reusable components

Plug-and-play nodes/scripts — attach them and configure their exported properties, no subclassing required.

  • IconValueDisplay — Displays an icon plus a numeric value, with support for custom string formatting (e.g. currency, counters).
  • Node2DWrapper — Wraps a Node2D (and its children) so it can be used as a Control, e.g. inside Containers or as button visuals.
  • ScaleWrapper — Lets a child Control scale itself freely without its parent Container overriding that scale.
  • SlotWheel — A slot-machine-style wheel that scrolls through a looping list of items and spins to land on a chosen one, with pausable/resumable/serializable spin state.
  • StatefulButton — A visual-less button (BaseButton) that tracks and exposes its interaction state (NORMAL, HOVER, PRESSED, DISABLED), useful for composing buttons whose visuals go beyond what Button supports.
  • TextureRepeater — Instantiates a configurable number of identical TextureRect nodes, useful for grids/slots/tiled backgrounds.

Base classes / framework primitives

Intended to be subclassed to fit your own data and visuals; they provide the lifecycle/contract, not a finished look.

  • ListDisplay (@abstract) — Displays a dynamic list of Control nodes bound to arbitrary data, with support for adding, updating, removing, sorting and batch-loading elements efficiently. Subclass it and implement its abstract methods.
  • ToggleableDisplay — Base class for dismissable UI displays (dialogs, menus, popups) managed by external systems or local scene logic. Provides shared request signals, input hooks, and input-blocking behavior while remaining agnostic to how the display is actually shown/hidden or mounted/unmounted.

Demos

You can find demos for each component in the project repo.

Changelog for version v1.0.0

No changelog provided for this version.

Reviews

Reusable UI Components has no reviews yet.

Login to write a review.

Consider supporting the creators!

If you enjoyed this asset consider supporting its creator. Follow the link below.