From 860b9222061bf21bb9bb2a34ddaa5b37994db63b Mon Sep 17 00:00:00 2001 From: Sebastian Date: Sat, 19 Sep 2020 00:17:02 +0100 Subject: [PATCH] Status update with information about NetImgui. --- CHANGES.md | 3 ++- README.md | 26 ++++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 9dc9abd..c130fff 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,11 +5,12 @@ Versions marked as 'unofficial' are labelled only for the needs of this changelo Change History -------------- -Version: 1.21 (2020/07) +Version: 1.21 (2020/07-09) Improving stability - Fixed a crash in the input handler caused by invalidated by hot-reload instance trying to unregister a delegate. - Improved hot-reload stability and support for reloading after recompiling outside of the editor. Both methods should be equally supported and work together. - Improved behaviour of delegates when hot-reloading. +- Changed context index mapping to fix issues with multi-PIE debugging in 4.25. Version: 1.20 (2020/06) Transition to IWYU and maintenance: diff --git a/README.md b/README.md index 3d8e653..e83ff91 100644 --- a/README.md +++ b/README.md @@ -15,13 +15,19 @@ ImGui version: 1.74 Supported engine version: 4.25* -\* *Plugin has been tested and if necessary updated to compile and work with this engine version. As long as possible I will try to maintain backward compatibility of existing features and possibly but not necessarily when adding new features. Right now it should be at least backward compatible with the engine version 4.15.* +\* *Plugin has been tested and if necessary updated to compile and work with this engine version. As long as possible I will try to maintain backward compatibility of existing features and possibly but not necessarily when adding new features. When it comes to bare-bone ImGui version it should be at least backward compatible with the engine version 4.15. For NetImgui it needs to be determined.* About ----- -The main goal of this project is to provide a basic integration of Dear ImGui, avoiding custom extensions but with support for Unreal specific features, like Multi-PIE sessions. +The main goal of this plugin is to provide a basic integration of the Dear ImGui which will be easy to use from the game code. + +My main focus used to be on debugging and for that this plugin should work out of the box. It is possible to use it for different purposes but depending on the use case it may require some adaptations. + +To support multi-PIE, each world gets its own ImGui context to which it can draw. All that is managed by the plugin in a way that should be invisible for the game code. I plan to extend it to allow own contexts and widgets but right now I don't have enough time to commit to that. + +As of recently, the plugin has the *net_imgui* branch with an integration of the [NetImgui](https://github.com/sammyfreg/netImgui) developed by Sammyfreg. This is still experimental, but it is possible to already download and use it. Many thanks for the library and for the initial integration. ### Key features @@ -41,6 +47,8 @@ Content of this repository needs to be placed in the *Plugins* directory under t Note that plugins can be also placed in the engine directory *[UE4 Root]/Engine/Plugins/* but I didn't try it with this project. +If you want to use NetImgui, instead of please look at the [How to Set up NetImgui](#how-to-set-up-netimgui). + ### Setting module type The *ImGui* module type is set to **Developer**, what means that if it is not referenced by other runtime modules, it can be automatically excluded from shipping builds. This is convenient when using this plugging for debugging but if you want to change it to other type, you can do it in module description section in `ImGui.uplugin` file. @@ -113,6 +121,20 @@ And then use it like this: #endif ``` +How to Set up NetImgui +---------------------- + +To use NetImgui, use content of the *net_imgui* branch in place of *master*. This will be gradually merged into the *master* but until then you need to use that experimental branch. + +Similarly like ImGui, NetImgui is built as part of the UnrealImGui plugin and no other integration steps are required. + +To be able to connect to the Unreal editor or application that use NetImgui, you need to run a server (netImguiServer). Please, see the [NetImgui](https://github.com/sammyfreg/netImgui) page for instructions how to get it. + +After launching the server for the first time, you need to add two client configurations, for ports 8889 and 8890. After that, you can either initialise connection from the server or set it to autoconnection mode. More info will be added later. + +Once you establish connection, you can use a top bar to switch between contexts and modes. In standalone game it should be one context and in the editor one editor context, plus one for each PIE instance. +Please, note that all those features are experimental and might evolve. Any input is welcomed. + How to use it -------------