{"id":19767130,"url":"https://github.com/green-sky/imgui_entt_entity_editor","last_synced_at":"2025-04-09T15:09:52.877Z","repository":{"id":48176023,"uuid":"170322893","full_name":"Green-Sky/imgui_entt_entity_editor","owner":"Green-Sky","description":"A drop-in entity editor for EnTT with Dear ImGui","archived":false,"fork":false,"pushed_at":"2024-04-30T17:04:07.000Z","size":29,"stargazers_count":238,"open_issues_count":0,"forks_count":21,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-09T15:09:45.310Z","etag":null,"topics":["cpp","ecs","entity-component-system","entity-editor","entt","game-development","imgui","mushmachine","single-file","single-header-lib"],"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/Green-Sky.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}},"created_at":"2019-02-12T13:28:34.000Z","updated_at":"2025-04-04T15:01:31.000Z","dependencies_parsed_at":"2023-01-22T15:15:42.211Z","dependency_job_id":"457a2d3a-668d-4ad7-b857-1d5c73517c37","html_url":"https://github.com/Green-Sky/imgui_entt_entity_editor","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Green-Sky%2Fimgui_entt_entity_editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Green-Sky%2Fimgui_entt_entity_editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Green-Sky%2Fimgui_entt_entity_editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Green-Sky%2Fimgui_entt_entity_editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Green-Sky","download_url":"https://codeload.github.com/Green-Sky/imgui_entt_entity_editor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055282,"owners_count":21040157,"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":["cpp","ecs","entity-component-system","entity-editor","entt","game-development","imgui","mushmachine","single-file","single-header-lib"],"created_at":"2024-11-12T04:28:05.365Z","updated_at":"2025-04-09T15:09:52.858Z","avatar_url":"https://github.com/Green-Sky.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# imgui_entt_entity_editor\nA drop-in, single-file entity editor for EnTT, with ImGui as graphical backend.\nOriginally developed for [MushMachine](https://github.com/MadeOfJelly/MushMachine).\n\n[demo-code](https://github.com/Green-Sky/imgui_entt_entity_editor_demo) [(live)](https://green-sky.github.io/imgui_entt_entity_editor_demo/)\n\nEditor\n![screenshot0](https://github.com/Green-Sky/imgui_entt_entity_editor_demo/blob/master/imgui_entt_entity_editor_screenshot0.png)\n\nEditor with Entiy-List\n![screenshot1](https://github.com/Green-Sky/imgui_entt_entity_editor_demo/blob/master/imgui_entt_entity_editor_screenshot1.png)\n\nWith Drag and Drop\n![vid](https://github.com/Green-Sky/imgui_entt_entity_editor_demo/blob/master/imgui_entt_entity_editor_dnd0.gif)\n\n# example usage\n```c++\nstruct Transform {\n    float x = 0.f;\n    float y = 0.f;\n};\n\nstruct Velocity {\n    float x = 0.f;\n    float y = 0.f;\n};\n\nnamespace MM {\ntemplate \u003c\u003e\nvoid ComponentEditorWidget\u003cTransform\u003e(entt::registry\u0026 reg, entt::registry::entity_type e)\n{\n\tauto\u0026 t = reg.get\u003cTransform\u003e(e);\n\tImGui::DragFloat(\"x\", \u0026t.x, 0.1f);\n\tImGui::DragFloat(\"y\", \u0026t.y, 0.1f);\n}\n\ntemplate \u003c\u003e\nvoid ComponentEditorWidget\u003cVelocity\u003e(entt::registry\u0026 reg, entt::registry::entity_type e)\n{\n\tauto\u0026 v = reg.get\u003cVelocity\u003e(e);\n\tImGui::DragFloat(\"x\", \u0026v.x, 0.1f);\n\tImGui::DragFloat(\"y\", \u0026v.y, 0.1f);\n}\n}\n\n\nentt::registry reg;\nMM::EntityEditor\u003centt::entity\u003e editor;\n\neditor.registerComponent\u003cTransform\u003e(\"Transform\");\neditor.registerComponent\u003cVelocity\u003e(\"Velocity\");\n```\n\n# Dependencies\nThe editor uses EnTTv3.11.0 and ImGui. (tested with ImGui 1.68, 1.72b, 1.75, 1.78, 1.82, 1.85, 1.87)\nTo use it with EnTTv3.0.0, use the dedicated branch.\nFor specific EnTT version check the tags, if a new EnTT version does not require a update, I won't make a new Release.\nReleases available for EnTT 3.1.0, 3.1.1, 3.2.0, 3.2.1, 3.2.2, 3.3.x, 3.4.0, 3.6.0-3.8.1, 3.9.0, 3.10.0, 3.11.0.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreen-sky%2Fimgui_entt_entity_editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreen-sky%2Fimgui_entt_entity_editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreen-sky%2Fimgui_entt_entity_editor/lists"}