ImApp 2.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package ImApp --version 2.0.1
                    
NuGet\Install-Package ImApp -Version 2.0.1
                    
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="ImApp" Version="2.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ImApp" Version="2.0.1" />
                    
Directory.Packages.props
<PackageReference Include="ImApp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ImApp --version 2.0.1
                    
#r "nuget: ImApp, 2.0.1"
                    
#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.
#:package ImApp@2.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ImApp&version=2.0.1
                    
Install as a Cake Addin
#tool nuget:?package=ImApp&version=2.0.1
                    
Install as a Cake Tool

ImApp

ImApp is a lightweight C# application framework for building native desktop applications with Dear ImGui, GLFW, and OpenGL.

It provides a small application/window layer while keeping Dear ImGui as the main UI API.

Status: Early development

Features

  • Native desktop windows via GLFW
  • Dear ImGui integration
  • OpenGL rendering
  • Configurable window options
  • Borderless and resizable windows
  • Maximized windows
  • Transparent windows
  • Topmost windows
  • Mouse passthrough
  • Dear ImGui docking
  • Optional full-window host
  • Target FPS limiter
  • Embedded Noto Sans font
  • .NET 10

Requirements

  • .NET 10 SDK/runtime
  • OpenGL 3.2+
  • GLFW-compatible desktop environment

Installation

dotnet add package ImApp

Or:

<PackageReference Include="ImApp" Version="0.2.0" />

Quick Start

using Hexa.NET.ImGui;
using ImApp;

using var app = new App(new WindowOptions
{
    Title = "My Application",
    Width = 1000,
    Height = 700
});

app.Run(() =>
{
    ImGui.Begin("Hello");

    ImGui.Text("Hello from ImApp!");

    if (ImGui.Button("Click me"))
        Console.WriteLine("Clicked!");

    ImGui.End();
});

Window Options

var options = new WindowOptions
{
    Title = "My Application",
    Width = 1000,
    Height = 700,

    Decorated = true,
    Resizable = true,
    Transparent = false,
    Topmost = false,
    Maximized = false,
    Visible = true,
    Focused = true,

    MousePassthrough = false,
    DockingEnabled = false,
    HostWindow = true,

    TargetFps = 144,
    FontSize = 17
};
Option Default Description
Title "ImApp Window" Window title
Width 800 Initial width
Height 600 Initial height
Decorated true Native decorations
Resizable true Allow resizing
Transparent false Transparent framebuffer
Topmost false Keep above normal windows
Maximized false Start maximized
Visible true Show window initially
Focused true Request initial focus
MousePassthrough false Pass mouse input through
DockingEnabled false Enable ImGui docking
HostWindow true Create full-window ImGui host
TargetFps 100 Target FPS; 0 disables limiter
FontSize 17 Embedded font size

Host Window

By default, ImApp creates a full-window ImGui host:

using var app = new App(new WindowOptions
{
    HostWindow = true
});

app.Run(() =>
{
    ImGui.Text("Hello from ImApp!");
});

Disable it when you want to manage the ImGui windows yourself:

using var app = new App(new WindowOptions
{
    HostWindow = false
});

app.Run(() =>
{
    ImGui.ShowDemoWindow();
});

Docking

using var app = new App(new WindowOptions
{
    Width = 1200,
    Height = 800,
    DockingEnabled = true
});

app.Run(() =>
{
    ImGui.ShowDemoWindow();
});

Transparent / Borderless Window

using var app = new App(new WindowOptions
{
    Decorated = false,
    Transparent = true,
    MousePassthrough = true
});

Font

ImApp includes Noto Sans Regular and loads it automatically.

Change the font size with:

using var app = new App(new WindowOptions
{
    FontSize = 18
});

Dependencies

ImApp is built on:

  • Dear ImGui
  • Hexa.NET.ImGui
  • Hexa.NET.GLFW
  • Hexa.NET.OpenGL
  • Hexa.NET.ImGui.Backends.GLFW
  • Hexa.NET.ImGui.Backends.OpenGL3
  • HexaGen.Runtime

License

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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.0.2 41 10/4/2026
2.0.1 40 10/4/2026
2.0.0 56 10/1/2026
1.0.1 58 10/1/2026 1.0.1 is deprecated because it is no longer maintained.
1.0.0 114 9/18/2026 1.0.0 is deprecated because it is no longer maintained and has critical bugs.