{"id":21378075,"url":"https://github.com/pkdawson/imgui-godot","last_synced_at":"2025-05-15T15:08:07.425Z","repository":{"id":43469540,"uuid":"284154302","full_name":"pkdawson/imgui-godot","owner":"pkdawson","description":"Dear ImGui plugin for Godot 4","archived":false,"fork":false,"pushed_at":"2025-04-23T01:18:01.000Z","size":2203,"stargazers_count":587,"open_issues_count":19,"forks_count":31,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-23T02:25:20.576Z","etag":null,"topics":["dear-imgui","godot","godot4","imgui"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pkdawson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-08-01T00:18:48.000Z","updated_at":"2025-04-23T01:18:05.000Z","dependencies_parsed_at":"2023-02-17T11:31:28.035Z","dependency_job_id":"a3f061ea-ec3f-4823-848f-a946b3157b84","html_url":"https://github.com/pkdawson/imgui-godot","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkdawson%2Fimgui-godot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkdawson%2Fimgui-godot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkdawson%2Fimgui-godot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkdawson%2Fimgui-godot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pkdawson","download_url":"https://codeload.github.com/pkdawson/imgui-godot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254364270,"owners_count":22058878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dear-imgui","godot","godot4","imgui"],"created_at":"2024-11-22T09:28:38.919Z","updated_at":"2025-05-15T15:08:02.371Z","avatar_url":"https://github.com/pkdawson.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dear ImGui plugin for Godot 4\n\n![](https://img.shields.io/static/v1?label=Godot\u0026message=4.2\u0026color=blue\u0026logo=godotengine)\n![](https://img.shields.io/static/v1?label=Godot\u0026message=4.3\u0026color=blue\u0026logo=godotengine)\n![](https://img.shields.io/static/v1?label=Godot\u0026message=4.4\u0026color=blue\u0026logo=godotengine)\n\n![](https://github.com/pkdawson/imgui-godot/actions/workflows/dotnet.yml/badge.svg)\n![](https://github.com/pkdawson/imgui-godot/actions/workflows/godot.yml/badge.svg)\n\n![screenshot](doc/screenshot.png)\n\n[Dear ImGui](https://github.com/ocornut/imgui) is a popular library for rapidly building tools for debugging and development. This plugin allows you to use ImGui in Godot with C# (with the aid of [ImGui.NET](https://github.com/ImGuiNET/ImGui.NET)), C++, and GDScript.\n\nAfter installing the plugin, usage is as simple as this:\n\n```csharp\npublic partial class MyNode : Node\n{\n    public override void _Process(double delta)\n    {\n        ImGui.Begin(\"ImGui on Godot 4\");\n        ImGui.Text(\"hello world\");\n        ImGui.End();\n    }\n}\n```\n\n```gdscript\nextends Node\n\nfunc _process(delta):\n    ImGui.Begin(\"My Window\")\n    ImGui.Text(\"hello from GDScript\")\n    ImGui.End()\n```\n\n## Download\n\nIf you only need C# support with basic features, you can use the `csharp-only` package. Otherwise,\ndownload the full package which includes GDExtension binaries.\n\n[![download](https://img.shields.io/static/v1?label=imgui-godot\u0026message=latest%20release\u0026color=blueviolet\u0026logo=github)](https://github.com/pkdawson/imgui-godot/releases/latest)\n\nYou can also find Dear ImGui for Godot in the Asset Library.\n\n## Getting Started (C#)\n\n1. Create a project and, if you haven't already added some C# code, use `Project \u003e Tools \u003e C# \u003e Create C# solution`.\n\n2. [Install the plugin](https://docs.godotengine.org/en/stable/tutorials/plugins/editor/installing_plugins.html) by copying over the `addons` folder. Or [use GodotEnv](#package-managers).\n\n3. In Visual Studio or another IDE, open the solution and allow unsafe code, and install `ImGui.NET` with NuGet. Set your target framework to .NET 8 or later. Save and return to Godot.\n\n    (If you prefer to manually edit the .csproj instead, refer to the demo csproj for the necessary modifications.)\n\n\u003e [!IMPORTANT]\n\u003e If you are using the GDExtension, you must use a version of ImGui.NET which matches the version that the GDExtension was built with.\n\n4. Back in the Godot editor, click `Build`.\n\n5. Enable the plugin in `Project \u003e Project Settings \u003e Plugins`.\n\n## Getting Started (GDScript)\n\n1. [Install the plugin](https://docs.godotengine.org/en/stable/tutorials/plugins/editor/installing_plugins.html) by copying over the `addons` folder from the full package which includes\nthe GDExtension.\n\n2. Enable the plugin in `Project \u003e Project Settings \u003e Plugins`.\n\n## Usage\n\nIn any Node's `_Process` method, use `ImGuiNET` to create your GUI. Just don't set the `ProcessPriority` in any of your Nodes to either `int.MinValue` or `int.MaxValue`.\n\n### Signals\n\nYou can also connect to the `imgui_layout` signal, and use ImGui in the method which handles that signal. This is strongly recommended if you're using process thread groups in Godot 4.1 or later.\n\n```csharp\nImGuiGD.Connect(OnImGuiLayout);\n```\n\n### Configuration\n\nIf you want to customize fonts or other settings, create an `ImGuiConfig` resource, then go to\n`Project \u003e Project Settings \u003e Addons \u003e Imgui` and set the `Config` resource path.\n\n### Widgets\n\nThese methods should only be called within `_Process` or an `imgui_layout` callback.\n\n`Image` and `ImageButton` are simple wrappers for your convenience.\n\n`SubViewport` displays an interactive viewport which receives input events. Be sure to change your SubViewport's `Update Mode` to **Always**.\n\n### ImGuiGD\n\nThis is the rest of the public API. You typically won't need to call any of these methods directly.\n\nThat's about it. Everything else is provided by ImGui itself, via ImGui.NET.\n\n### Export\n\nSee the wiki page [Export](https://github.com/pkdawson/imgui-godot/wiki/Export) for details about\nexporting without ImGui, such as for release builds or for mobile platforms.\n\n### Examples\n\nThere are several [example projects](https://github.com/pkdawson/imgui-godot/tree/master/doc/examples)\nshowing off different features. [GdsGameProject](https://github.com/pkdawson/imgui-godot/tree/master/doc/examples/GdsGameProject)\nand [CSharpGameProject](https://github.com/pkdawson/imgui-godot/tree/master/doc/examples/CSharpGameProject)\ntry to demonstrate \"best practices\", particularly for setting up a typical project for export.\n\n## Package managers\n\nIf you only need C# support (no GDExtension), you can use [GodotEnv](https://github.com/chickensoft-games/GodotEnv/)\nto install and update imgui-godot. The configuration should be something like:\n\n```json\n{\n  \"addons\": {\n    \"imgui-godot\": {\n      \"url\": \"https://github.com/pkdawson/imgui-godot\",\n      \"checkout\": \"6.x\",\n      \"subfolder\": \"addons/imgui-godot\"\n    }\n  }\n}\n```\n\n## Credits\n\nCode written by Patrick Dawson and contributors, released under the MIT license\n\nGodot Logo (C) Andrea Calabró, distributed under the terms of the Creative Commons Attribution 4.0 International License (CC-BY-4.0 International) \u003chttps://creativecommons.org/licenses/by/4.0/\u003e\n\nHack font distributed under the [MIT license](https://github.com/source-foundry/Hack/blob/master/LICENSE.md)\n\nM PLUS 2 font licensed under the SIL Open Font License, Version 1.1.\n\n3D scene demo borrowed from [godot-demo-projects](https://github.com/godotengine/godot-demo-projects/tree/master/viewport/gui_in_3d)\n\nThis plugin's functionality relies heavily on [ImGui.NET](https://github.com/ImGuiNET/ImGui.NET) by Eric Mellino\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkdawson%2Fimgui-godot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpkdawson%2Fimgui-godot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkdawson%2Fimgui-godot/lists"}