Pre UE4.25[SPOILER]
What is it?
A Plugin that provides an extendet WidgetComponent that helps to debug your game. Its main purpose is VR development, as onscreen messages are not that useable in VR.
What does it do?
It displays text.
What text does it display?
It grabs into the engine and reads out the message buffers for GEngine->AddOnScreenDebugMessage (C++) and PrintString (Blueprint). In addition, every component instance can be fed with individual messages.
Features!
-Display of engine debug messages (GEngine->AddOnScreenDebugMessage and PrintString) (toggleable)
-Individual debug messages for every component instance
-Colored Messages
-Background color for Panel/Text
-Disabling of debug messages on the screen
-Billboard behavior (toggleable)
-Fill from Bottom/Top
-Individual text size
-Actor/World viewport setup preview
-Adds PrintStringAdvanced node to Blueprint (exposes message key and adds some other functionality)
-Completely written in C++
[/SPOILER]
What is it?
A Plugin that provides an extendet WidgetComponent that helps to debug your game. Its main purpose is VR development, as onscreen messages are not that useable in VR.
What does it do?
It displays text.
What text does it display?
The plugin has its own message buffers where every DebugWidgetComponent reads from. Use **PrintString_DW **or **PrintStringAdv_DW **to print into these.
In addition, every component instance can be fed with individual messages. Use DebugWidgetComponent->PrintString_DebugWidget
Features!
-Shared message buffer where every component reads from
-Individual debug messages for every component instance
-Colored Messages
-Background color for Panel/Text
-Billboard behavior (toggleable)
-Fill from Bottom/Top
-Individual text size
-Actor/World viewport setup preview
-Adds **PrintStringAdv_DW **node to Blueprint (exposes message key and adds some other functionality)
-Completely written in C++
Text print order
1: Instance specific messages (key = -1)
2: Global messages (key = -1)
3: Instance specific with key (key != -1)
4: Global messages with key (key != -1)
Known Issues
Some setup possibilities to showcase
Individual text for every component with billboard functionality, general debug messages ignored
How to set it up?
1: Download and place the contents into ‘…/MyGame/Plugins’
2: Restart Editor
3: Add DebugWidget (Component) to an actor
4: All setup options can be found in the ‘Setup’ section when clicking the component.
How do I get Text to show up in the Widget?
-FDebugWidgetManager::Get().AddMessage (C++) (Prints to all instances)
-PrintString_DW (Blueprint and C++) (Prints to all instances)
-PrintStringAdv_DW (Blueprint and C++) (Prints to all instances)
-DebugWidgetComponent->DebugWidget_PrintString (Blueprint and C++) (Prints to specific instance)
Mine is not transparent, what am I doing wrong?
Nothing. Click on the Component and look for ‘Blend Mode’. Change it to ‘Transparent’.
The text is unreadable, blurry and stuff!
You might want to change some of your postprocessing settings. ‘Edit->ProjectSettings->Rendering->DefaultSettings’
-Turn everything off (should be for VR anyway)
-Anti-Aliasing Method ‘FXAA’ or ‘TemporalAA’
**Changelog **
[SPOILER]
Version 1.5 2020.05.07
-Update to UE4.25 with rework to internal message buffers cause unreal made the engine buffers private.
Version 1.4 2020.04.09
-Added SetFontSize function to the compoennt
-Fixed: Can’t save when using the component in an actor placed in a streaming level.
2018/05/03
-Fixed DebugWidetComponent not calling Super::BeginPlay() which causes an ensure break.
2018/03/01
-Applied a fix that caused crash in startup of shipping build.
2018/01/29
-Extended the PrintStringAdvanced node with Prefix and Suffix. It does now also display the message source (the originating class) by choice.
-PrintStringAdvanced now prints an error message if there is no Prefix, Message or Suffix
2017/11/15
-Widgets register to the manager now within BeginPlay. This fixes an issue where meta objects created by the engine were registered as well.
This issue came up as messages did not time out when EnableScreenDebugMessages was unchecked.
-Widgets now get updated only when the owning actor is in view (Actor::WasRenderedRecently)
[/SPOILER]
Download
UE4.16 (Update: 08.08.2017)
UE4.17
UE4.18 (Update: 01.03.2018)
UE4.19 (Update: 03.05.2018)
UE4.20
UE4.21
UE4.22
UE4.23
UE4.24(Update: 09.04.2020)
UE4.25important
UE4.26
Any feedback, bugs and ideas for improvement are welcome.