Skip to content
BDC_Patrick edited this page Nov 27, 2025 · 23 revisions

Welcome to the BDC_ConfigAndDebug Documentation.
Thumbnail

Installing the Plugin

using C++

To install the Plugin, clone the Repository into your project's Plugins Folder.
Rightlick your Project's .uproject File and select Generate Visual Studio Project Files, to let the Build Scripts gather all Data.
Open the Solution file (.sln) and compile the project.
The Plugin should be enabled by default and can be used.

no C++

Take the Plugin of your UE version from the Releases Page and extract it to your Project's Plugins Folder, or download it from Fab.
Open the project and open the Plugins Manager.
Look for the BDC Plugins Section or search for "Config and Debug", to enable the Plugin.
After enabling, restart the Editor to activate it.

FAB

You can support my Work by buying the Plugin from Fab.com.
You then can download the Plugin through your Fab library.
The Library Version is the same as the latest of the Releases Page.

The Functions and Tools

OverviewImage
The Plugin offers functions to read and write the Project Settings, have a different Debug/Release Flow, and some tools for general purpose.
Following, I list all functions available.

Play-Mode Flow

PlayModeImage
Beside the PLAY Button of the Editor, you can select in what Play-Mode you want to start the Game.
You also can select a couple of GameplayTags here, to allow Filtered Nodes of the GetCurrentPlaySetupFiltered to run Debug only in specific cases.
According to that, the Plugin adds a Flowcontrol Function to either continue as Debug, or as Release play.
While in the Editor, you can select the Play-Mode, the packaged build will ALWAYS use the Release path and ignore Debug.
That way you can add Debugging stuff to your game, and leave it there, without the need to remove or cut on packaging.

GetPlaySetup Fires "Release" when in Release Mode, and always in a packaged Game. "Debug" only fires in Editor Play and when Debug Mode is selected.
If set GameplayTags before playing, you can switch on those tags to filter the output, only debugging specific tagged plays.

Project Settings

projectImage
The Project Settings Functions do allow you to read out the placed Strings and Options of the Project Section of the ProjectSettings, at runtime.
Showing project title, version number or special texts from the Settings, those are the Nodes for this.
The Plugin also offers "Set" function for each Setting, which are working in Editor only. The use case is f.e. Editor Utility Widgets.

Window Settings

WindowImage
The Project Settings Functions do allow you to read out the set Options of the Window and Game Viewport Section of the ProjectSettings, at runtime.
The Plugin also offers "Set" function for each Setting, which are working in Editor only. The use case is f.e. Editor Utility Widgets.

Movie Settings

MovieImage
The Project Settings Functions do allow you to read out the Options of the Movie and Media of the ProjectSettings, at runtime.
Use case would be f.e. to show the player a "Skip" Icon, for when Videos are skippable.
The Plugin also offers "Set" function for each Setting, which are working in Editor only. The use case is f.e. Editor Utility Widgets.

Monitor Utility

MonitorImage
The Monitor utility allows to read and List Setting relevant Details of all installed Monitors of the Player's hardware, Get Resolutions fitting the Hardwares, and also allows switching to specific Monitors at runtime.

Array Utility

Index Dimension conversion

ArrayImageConvertIndex
The Array utility is a work in progress Category and will be extended over time.
Right now, it offers two Nodes to Convert a 1D-Index to a Multidimensional-Index, and back.

Sorting Systems

ArrayImageSorting
• String-, Text- and Name-Arrays can be sorted alphabetically, reversed alphabetically, and even both plus reversing each String, Text or Name as a whole(starting from the back of the Str/txt/Nam)
• Int-, Int64- and Float-Arrays can be sorted in Order increment, decrement, or in lexicographical order.
• Vector-, Vector2D-, IntPoint- and Margin-Arrays, can be ordered as Numbers, by their individual Fields.
- X, Y, Z
- X, Y
- Left, Top, Right, Bottom
• Resolution Arrays of Format 1920x1080 wf, no matter what resolution or modifier at the end, can also be sorted from highest to lowest, or reversed.

String System

Image of String functions

String Advanced Check

The StringAdvancedCheck Function is a more advanced "Contains".
It lets you check a string against:

  • Has Substring (default "Contains")
  • Is Numeric
  • Is Alphabetical
  • Is Special
  • Is Alphabetical & Numeric
  • Is Alphabetical & Special
  • Is Numeric & Special
  • Is URL
  • Has Numeric
  • Has Alphabetic
  • Has Special
  • Has Uppercase
  • Has Lowercase

String Advanced Replace

The StringAdvancedReplace Function is an advantage of the "Replace" function. It not only allows you to replace all occurences of a given Substring, but...

  • All Occurrences
  • Only the first Occurrence
  • Only the last Occurrence
  • All Occurrences, but skip the first X ones.

String Reverse

StringReverse, lets you reverse a string as full, each word individual, or each sentence individual.
A sentence stops at a .(point), or a ;(semicolon).

String Jiggle

StringJiggle takes in the string and randomly exchanges the glyphs, but remains spaces, points and semicolons untouched.
You can jiggle a String in full, by sentence or by word.

Runtime Debug Overlay

Image of Debug Overlay
When running the Game in Debug Mode, you can toggle an Overlay, which lists ALL "Call in Editor" Functions and Events of the Actors of the current level.
All these List Items are Buttons, which call the corresponding Event on click!.

You can define the Key to toggle the Overlay in the Project Settings.