From 6fc7a7b5407d685f52589050d4ca680315167228 Mon Sep 17 00:00:00 2001 From: Arnaud Jamin Date: Fri, 13 Oct 2023 15:04:46 -0400 Subject: [PATCH 1/3] Update README.md --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4faec47..0e6680e 100644 --- a/README.md +++ b/README.md @@ -193,11 +193,12 @@ The Cog repository has the following structure: - `CogSample` - A Sample that demonstrate various Cog functionalities. The project was saved in Unreal 5.1 - `Plugins/CogAbility` - ImGui windows for the Gameplay Ability System (Abilities, Effects, Tags, ...) - `Plugins/CogInput` - ImGui windows for the Enhanced Input library (Input action, Gamepad) -- `Plugins/CogEngine` - ImGui windows for the core unreal engine functionalities (Log, Stats, Time, Collisions, Skeleton, ...) -- `Plugins/CogWindow` - ImGui window management (Base Window, Layout) -- `Plugins/CogDebug` - Debug functionalities (Log, Debug Draw, Plot, Metric, ...) -- `Plugins/CogImGui` - Integration of Imgui for Unreal, inspired by [UnrealImGui](https://github.com/segross/UnrealImGui) -- `Plugins/CogCommon` - Common headers +- `Plugins/Cog` - The main Cog plugin which contains the following modules + - `CogEngine` - ImGui windows for the core unreal engine functionalities (Log, Stats, Time, Collisions, Skeleton, ...) + - `CogWindow` - ImGui window management (Base Window, Layout) + - `CogDebug` - Debug functionalities (Log, Debug Draw, Plot, Metric, ...) + - `CogImGui` - Integration of Imgui for Unreal, inspired by [UnrealImGui](https://github.com/segross/UnrealImGui) + - `CogCommon` - Common headers such as Unreal interfaces which cannot be easily excluded from a shipping build Cog has multiple plugins to ease the integration for projects that do not use the `Ability System Component` or `Enhanced Input`. For the next steps, it is assumed all the plugins are used. From 57ebff3b62aba12aaf502b523e0baa2c77b3af3c Mon Sep 17 00:00:00 2001 From: Arnaud Jamin Date: Fri, 13 Oct 2023 15:06:51 -0400 Subject: [PATCH 2/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0e6680e..f7c3a2e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Cog -Cog is a set of debug tools for Unreal Engine built on top of [ImGui](https://github.com/ocornut/imgui) +Cog is a set of debug tools for Unreal Engine built on top of [Dear ImGui](https://github.com/ocornut/imgui) ![Cog](https://github.com/arnaud-jamin/Cog/assets/13844285/21659aea-2cd8-4ef6-b3b0-5795f5f3246b) From 4a0573455a704205d15358726bd7b6fe079f0afe Mon Sep 17 00:00:00 2001 From: Arnaud Jamin Date: Fri, 13 Oct 2023 21:29:27 -0400 Subject: [PATCH 3/3] Update README.md --- README.md | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index f7c3a2e..eb9712e 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Cog is a set of debug tools for Unreal Engine built on top of [Dear ImGui](https ![Cog](https://github.com/arnaud-jamin/Cog/assets/13844285/21659aea-2cd8-4ef6-b3b0-5795f5f3246b) -This [Video](https://www.youtube.com/watch?v=ea5hz3cFcMM) showcase various tools. +This [Video](https://www.youtube.com/watch?v=ea5hz3cFcMM) showcase most of the tools in Cog. - Cog provides: - ImGui windows to inspect and configure various Unreal features (Enhanced Inputs, Gameplay Abilities, Core Engine) @@ -35,7 +35,7 @@ Displays the state of Input Action. - The display input action are read from a Input Mapping Context defined in a Data Asset. ### Attributes -Displays the gameplay attributes of the selected actor +Displays the gameplay attributes of the selected actor. ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/a6329ef1-f775-4e6e-9581-6389f9f4b39c) - Attributes can be sorted by name, category or attribute set. @@ -59,6 +59,7 @@ Used to inspect collisions by performing a collision query with the selected cha ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/ccee855b-b33b-4dfc-ba14-dff87e1150cf) - The query can be configured in the options. - The displayed collision channels can be configured in a Data Asset. +- It can be used to better understand what object collisions are blocking a raycast. ### Debug Settings Used to tweak how the debug display is drawn. @@ -69,13 +70,13 @@ Used to tweak how the debug display is drawn. Displays the gameplay effects of the selected actor. ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/4fffa8fe-bd93-44bc-8ca5-27ae81f5da0c) -- Mouse over an effect to see its details such as its modifiers, the gameplay tags it grants, the remaining time. +- Mouse over an effect to see its details such as its modifiers, the gameplay tags it grants, the remaining time, etc. ### Gamepad Display the state of the gamepad ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/734dd08a-5b9f-44cf-8d24-9bf257f08ec6) -- Can be used to inject inputs to help debugging. +- Can be used to inject inputs to help debugging, as loosing window focus when breaking in the code doesn't affect the state of injected inputs unlike real inputs. ### Log Categories This window can be used to activate and deactivate log categories @@ -83,12 +84,12 @@ This window can be used to activate and deactivate log categories ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/7ced2751-c3bc-43a3-9280-d11a34bf0482) - Activating a log category set its verbosity to VeryVerbose. - Deactivating a log category set its verbosity to Warning. -- The detailed verbosity of each log category can shown by using the Option menu. +- The detailed verbosity of each log category can be shown by using the Option menu. - A client can modify the verbosity of the server. -- The log categories are used to display both output log and debug display in the world. +- The log categories are used to filter both the output log and the debug draw. ### Metric -This window gather values generated by the selected actor to compute how much output it produces or receives per second. This is typically useful to compute the damage dealt per second, the damage received per second, etc. +This window gather various values sent by the selected actor and compte their rate per second. This is typically useful to compute the damage dealt or received per second. ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/64d3cb7c-8731-4897-9ef9-b0868148ebe2) @@ -145,7 +146,7 @@ Displays engine stats such as FPS, Ping, Packet Loss. ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/e394ec7b-02fa-4b09-879b-90c82bd542ef) ### Tags -Displays gameplay tags of the selected actor. +Displays the gameplay tags of the selected actor. ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/3f14be3f-77f2-4d59-887d-1245fc97ed6a) @@ -153,7 +154,7 @@ Displays gameplay tags of the selected actor. Used to change the game global time scale. ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/d19198c5-37dd-400d-a09f-7a5077eb2511) -- If changed on a client the time scale is also modified on the game server. +- If changed on a client the time scale is also modified on the game server, and reolicated to the other clients. ### Tweaks Used to apply tweaks to all the spawned actors @@ -168,7 +169,7 @@ Cog provides C++ and Blueprint functions to log and debug draw within Log Catego ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/cc0ba4a5-7fa6-44a8-b737-f523bdf94321) -Log and debug functions can be filtered to only what is outputted by the selected actor. +Log and debug draw functions can be filtered by the selected actor. ![image](https://github.com/arnaud-jamin/Cog/assets/13844285/a6f1329e-d49e-410f-8a70-4613aafabb5a) @@ -198,7 +199,7 @@ The Cog repository has the following structure: - `CogWindow` - ImGui window management (Base Window, Layout) - `CogDebug` - Debug functionalities (Log, Debug Draw, Plot, Metric, ...) - `CogImGui` - Integration of Imgui for Unreal, inspired by [UnrealImGui](https://github.com/segross/UnrealImGui) - - `CogCommon` - Common headers such as Unreal interfaces which cannot be easily excluded from a shipping build + - `CogCommon` - Interfaces implemented by your project actor classes which cannot be excluded from a shipping build Cog has multiple plugins to ease the integration for projects that do not use the `Ability System Component` or `Enhanced Input`. For the next steps, it is assumed all the plugins are used. @@ -304,13 +305,6 @@ void ACogSampleGameState::BeginPlay() ``` -- Define which key will toggle the input from the game to Imgui: -```cpp -// ACogSampleGameState.cpp -FCogImguiModule::Get().SetToggleInputKey(FCogImGuiKeyInfo(EKeys::Insert)); -``` - - - Tick the CogWindowManager: ```cpp // ACogSampleGameState.cpp