rlImgui-cs 1.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package rlImgui-cs --version 1.0.3                
NuGet\Install-Package rlImgui-cs -Version 1.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="rlImgui-cs" Version="1.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add rlImgui-cs --version 1.0.3                
#r "nuget: rlImgui-cs, 1.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install rlImgui-cs as a Cake Addin
#addin nuget:?package=rlImgui-cs&version=1.0.3

// Install rlImgui-cs as a Cake Tool
#tool nuget:?package=rlImgui-cs&version=1.0.3                

rlImGui-cs

<img align="left" src="https://github.com/raysan5/raylib/raw/master/logo/raylib_logo_animation.gif" width="64"> A Raylib-cs integration with DearImGui

rlImgui-cs provides a backend for Dear ImGui using Raylib for C# using https://github.com/mellinoe/ImGui.NET

Building

rlImGui-cs is is a shared library that uses raylib-cs and ImGui.Net

Setup

Using rlImGui in your code is very easy. Once you have included the library, or source files for rlImGui and ImGui in your project, simply do the following.

using Raylib_cs;
using rlImGui_cs;
using ImGuiNET;


// before your game loop
rlImGui.Setup(true);	// sets up ImGui with ether a dark or light default theme

// inside your game loop, between BeginDrawing() and EndDrawing()
rlImGui.Begin();			// starts the ImGui content mode. Make all ImGui calls after this

rlImGui.End();			// ends the ImGui content mode. Make all ImGui calls before this

// after your game loop is over, before you close the window

rlImGui.Shutdown();		// cleans up ImGui

Examples

There are two example programs in the examples folder.

Simple

This is the most simple use of ImGui in raylib, it just shows the ImGui demo window. image

Editor

This is a more complex example of ImGui, showing how to use raylib 2d and 3d cameras to draw into ImGui windows using render textures. image

Images

Raylib textures can be drawn in ImGui using the following functions

rlImGui.Image(Texture2D image);
rlImGui.ImageSize(Texture2D image, int width, int height);
rlImGui.ImageRect(Texture2D image, int destWidth, int destHeight, Rectangle sourceRect);
rlImGui.ImageRenderTexture(RenderTexture2D image);

Image Buttons

rlImGui.ImageButton(System.String name, Texture2D image);
rlImGui.ImageButtonSize(System.String name, Texture2D image, Vector2 size);

Changelist

v1.0.2.0

  • Comment public API
  • Optional Delta Time argument for new frame
  • Image Buttons
  • Render Texture drawing functiona

v1.0.0.1

  • Inital nuget package.
  • Update to current ImGui
  • Include FontAwesome
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.1.0 478 7/28/2024
2.0.3 825 3/2/2024
2.0.2 275 2/11/2024
2.0.1 248 1/3/2024
2.0.0 302 11/16/2023
1.0.3 244 9/29/2023
1.0.2 178 9/5/2023
1.0.0 176 8/29/2023

Inital Release