ImApp 2.0.2

dotnet add package ImApp --version 2.0.2
                    
NuGet\Install-Package ImApp -Version 2.0.2
                    
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.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ImApp" Version="2.0.2" />
                    
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.2
                    
#r "nuget: ImApp, 2.0.2"
                    
#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.2
                    
#: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.2
                    
Install as a Cake Addin
#tool nuget:?package=ImApp&version=2.0.2
                    
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.

ImApp Application Preview

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

Install ImApp using the .NET CLI:

dotnet add package ImApp

Or add it directly to your .csproj:

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

Quick Start

using Hexa.NET.ImGui;
using ImApp;

using var app = new App(new WindowOptions
{
    Title = "My Window",
    Width = 800,
    Height = 600
});

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

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

    if (ImGui.Button("Click Me"))
    {
        Console.WriteLine("Button clicked");
    }

    ImGui.End();
});

Window Options

ImApp provides a WindowOptions class for configuring the application window.

Property Default
Title "ImApp Window"
Width 800
Height 600
Decorated true
Resizable true
Transparent false
Topmost false
Maximized false
Visible true
Focused true
MousePassthrough false
DockingEnabled false
HostWindow true
TargetFps 100
FontSize 17

Example:

using var app = new App(new WindowOptions
{
    Title = "ImApp Window",
    Width = 1200,
    Height = 800,

    Decorated = true,
    Resizable = true,

    TargetFps = 144,
    FontSize = 18
});

Host Window

By default, ImApp provides a host ImGui window.

HostWindow = true

You can disable the host window and manage ImGui windows yourself:

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

This is useful when you want complete control over the Dear ImGui layout.

Docking

Dear ImGui docking can be enabled through WindowOptions.

using Hexa.NET.ImGui;
using ImApp;

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

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

Transparent / Borderless Window

ImApp supports transparent and borderless windows.

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

This can be useful for overlays and custom desktop UI.

Font

ImApp includes Noto Sans Regular and loads it automatically.

You can configure the font size through WindowOptions:

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

This avoids requiring Noto Sans to be installed on the user's system.

Dependencies

ImApp is built using:

License

ImApp is released under the MIT License.

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 88 10/4/2026
2.0.1 80 10/4/2026
2.0.0 96 10/1/2026
1.0.1 99 10/1/2026 1.0.1 is deprecated because it is no longer maintained.
1.0.0 125 9/18/2026 1.0.0 is deprecated because it is no longer maintained and has critical bugs.