---
title: "(WIP) Dear ImGui Clone - s&box library"
description: "An implementation of the Dear ImGui API"
canonical: "https://sbox.watch/libraries/duccsoft/imgui/"
generated_at: "2026-07-22T23:13:23.169Z"
---

# (WIP) Dear ImGui Clone

An implementation of the Dear ImGui API

- Type: library
- Ident: duccsoft.imgui
- Creator: duccsoft
- Canonical: https://sbox.watch/libraries/duccsoft/imgui/
- Markdown: https://sbox.watch/libraries/duccsoft/imgui.md
- sbox.game: https://sbox.game/duccsoft/imgui/
- Generated: 2026-07-22T23:13:23.169Z

## Stats

- 24h momentum: +0
- Terry score: 43%
- Favorites: 2
- Upvotes: 2
- Downvotes: 0
- Updated: Dec 29, 2024
- Created: Dec 17, 2024
- Size: 166.9 KB
- Files: 47
- Tags: dear, imgui, ui

## Description

Summary

This library is a work-in-progress partial implementation of the features provided by Dear ImGui.

The aim of this project is to provide a faithful recreation of the functionality of Dear ImGui. Thus, any inconsistencies with the behavior of the original library should be regarded as a bug/oversight on my part.

Feel free to submit a bug report or feature request as an issue on the GitHub page for this project.

Source Code: https://github.com/chrisspieler/sbox-imgui
Known Issues
- Windows may not be collapsed, and users may not close or resize windows themselves
- Countless ImGui functions are not yet implemented
- Switching between game and UI input is not yet implemented
- Various slider features such as text input are not yet implemented
- Mouse inputs on multicomponent sliders may fall through to windows behind

Supported Widgets
- Text
- Button
- Checkbox
- SliderFloat, SliderFloat2, SliderFloat3, SliderFloat4
- DragInt
- Image

Example Usage
private void DrawWindow1()
{
 ImGui.SetNextWindowPos( new Vector2( 300, 200 ) \* ImGuiStyle.UIScale );
 ImGui.Begin( "Window 1" );
 if ( ImGui.Button( "Click me!" ) )
 {
 \_clickCounter++;
 }
 ImGui.Text( "Clicked {0} times.", \_clickCounter );
 if ( ImGui.Button( "Focus Floating Window" ) )
 {
 \_shouldFocusFloatingWindow = true;
 }
 ImGui.SliderFloat( "My Float", ref \_myFloatValue, -128f, 256f );
 ImGui.Button( "1" ); ImGui.SameLine();
 ImGui.Button( "2" ); ImGui.SameLine();
 ImGui.Button( "3" ); ImGui.SameLine();
 ImGui.Button( "4" );
 ImGui.Image( ExampleTexture, new Vector2( 128 ) \* ImGuiStyle.UIScale, Color.White, ImGui.GetColorU32( ImGuiCol.Border ) );
 ImGui.End();
}



## More by duccsoft

| Package | Ident | Players | Favorites | Upvotes | Score | Markdown |
| --- | --- | --- | --- | --- | --- | --- |
| Freecam | duccsoft.libfreecam | 0 | 6 | 5 | 65% | https://sbox.watch/libraries/duccsoft/libfreecam.md |
| Video Panel | duccsoft.videopanel | 0 | 6 | 3 | 53% | https://sbox.watch/libraries/duccsoft/videopanel.md |
