Cog integration has been reworked to make it easier, to keep Cog available between level loadings, and to properly tick ImGui while the game is paused.
Cog 's WindowManager is now a GameInstanceSubsystem.
The WindowManager ticks ImGui and the windows during the OnWorldPostActorTick delegate.
(If this is not working for your project, don't hesitate to open an issue.)
Check the readme to see how to integrate Cog.
The Plot debug functions (displayed by the Engine/Plot window) have been reworked as they were not properly working in Multi PIE in Single Process.
API changes:
- use FCogDebug::Plot instead of FCogDebugPlot::PlotValue
- use FCogDebug::InstantEvent instead of FCogDebugPlot::PlotEventInstant
- use FCogDebug::StartEvent instead of FCogDebugPlot::PlotEventStart
- use FCogDebug::StopEvent instead of FCogDebugPlot::PlotEventStop
- Deprecate CogAbilityWindow_Cheats as it is now replaced with CogEngineWindow_Cheats
- Add CogAbilityCheat_Execution_ActivateAbility for cheats that rely on an ability
- CogSample: Add new cheats
- Implement ImGui Copy Paste, and OpenInShell backend.
- Fix ColorEdit4
- Fix Hand and NotAllowed cursors
- Make the reset of windows configuration automatic (but optional) when getting a config.
- Console Window: Improve usability
- Stat Window: Add configuration of of MaxFPS, Pings, and PacketLoss. Improve widget usability.
- Time Scale Window: Add configuration of time scale. Improve widget usability.
- Output Log Window: Fix the Copy.
- Selection Window: The Pick button now uses an icon
Remove the need to specify the widgets width to be able to right them.
Instead widgets are rendered in a table which left/center/right align automatically.
Reference this plugin where other cog modules are added.
This plugin uses a CommonUI ActionRouter to let Cog receives the shortcuts it needs.
If you already have an Action Router, you can call FCogImguiInputHelper::IsTopPriorityKey to know if the key event to should handled or not.
Shortcuts to enable imgui (F1), enable actor selection (F5), loading and saving layouts, used to be handled by registering console commands with shortcuts. Now console commands can still be executed, but the shortcuts are handled by directly checking if the corresponding key is pressed from the UPlayerInput when imgui do not need Text input.
This should fix cases where the console shortcuts were not executed (typically with CommonUI menus)
- Save plotted entries between sessions
- Add more options (autofit padding, num recorded values, record values when paused
- Fix dragging the mouse on a different window over the graph pausing the graph