Directive Utilities is an open-source Unreal Engine plugin that fills gaps in the Blueprint library and editor scripting APIs. It ships as readable C++ source, and its Blueprint nodes can also be called from C++.
Version 2.0 replaces UDCore 1.x. Existing Blueprint assets migrate through bundled Core Redirects. C++ projects need to update module names, include paths, classes, types, and API macros as described in the 2.0 migration guide.
| Area | Utilities |
|---|---|
| Arrays and maps | Wildcard container nodes for indexing, lookup, removal, merging, weighted sampling, pagination, natural sorting, and duplicate handling. |
| Strings, text, and regex | Validation, filtering, case conversion, fuzzy matching, hashing, encoding, capture groups, and replacement. |
| Math | Easing, weighted random selection, rounding, angle helpers, Perlin noise, formatting, and array statistics. |
| Gameplay Tags | Hierarchy navigation, ancestry checks, sibling queries, and registry search. |
| Save games | Slot enumeration, timestamps, byte serialization, validation, deletion, and renaming. |
| Enhanced Input | Subsystem access and mapping-context operations. |
| Async work | Timed flow, asset and class loading, traces, and navigation movement. |
| Runtime context | Typed world, build configuration, and build target queries. |
| Editor actors | Actor filters, selection tools, viewport controls, layout operations, surface snapping, material operations, and mesh queries. |
| Editor assets | Asset Registry queries, read-only content audits, and asset management helpers for editor scripts. |
| Editor Blueprints | Read-only searches for compile status, inheritance, interfaces, components, and unused variables. |
| Editor tasks | Progress dialogs and notifications for Editor Utility Widgets and scripts. |
Blueprint nodes appear under Directive Utilities in the Blueprint palette. The node reference lists every exposed function with its category, parameters, outputs, and edge cases.
| Support | |
|---|---|
| Unreal Engine | 5.6, 5.7, and 5.8 |
| Platforms | Win64, Mac, and Linux |
| Distribution | Source plugin |
| License | MIT |
Module boundaries keep editor dependencies out of packaged games.
| Module | Use |
|---|---|
DirectiveUtilitiesRuntime |
Runtime libraries and async actions. This is the only module that ships in packaged games. |
DirectiveUtilitiesBlueprintNodes |
Blueprint compiler support for wildcard container nodes. This module is excluded from packaged games. |
DirectiveUtilitiesEditor |
Asset and actor tools for editor targets. |
DirectiveUtilitiesTests |
Automation tests. The released descriptor limits this module to editor targets. |
See Compatibility for the support policy and build-target details.
The full installation guide covers upgrades and troubleshooting.
Prebuilt plugin packages are attached to GitHub releases. Choose the plugin version you need, then download the archive for your Unreal Engine version and extract it to YourProject/Plugins/DirectiveUtilities. A matching release package does not need to be compiled locally.
If the release does not include your engine version, install the source with Git.
git clone https://github.com/UnrealDirective/DirectiveUtilities.git DirectiveUtilitiesCopy the cloned folder to YourProject/Plugins/DirectiveUtilities. The plugin descriptor should be at:
YourProject/Plugins/DirectiveUtilities/DirectiveUtilities.uplugin
Open the project, enable Directive Utilities from the Plugins window, and restart the editor. Unreal builds the plugin with C++ projects. Blueprint-only projects may prompt you to compile it on first launch.
Remove Plugins/UDCore before installing Plugins/DirectiveUtilities. Blueprint references migrate when the project loads. C++ consumers must update their dependencies and renamed symbols before compiling. Follow the 2.0 migration guide for the complete rename table.
Open a Blueprint graph and search for Directive Utilities. Subcategories separate containers, math, strings, input, save games, async actions, and editor tools. Editor-only nodes are unavailable in runtime Blueprints and packaged games.
Add the runtime module to your target's .Build.cs file:
PublicDependencyModuleNames.Add("DirectiveUtilitiesRuntime");Include the library you need and call its static functions:
#include "Libraries/DirectiveUtilStringFunctionLibrary.h"
const FString SaveName = TEXT("Campaign_01");
const bool bIsValidSaveName = UDirectiveUtilStringFunctionLibrary::IsValidFileName(SaveName);Editor modules and editor-only targets can depend on DirectiveUtilitiesEditor. Runtime targets should never reference that module.
- Installation covers setup, verification, updates, and common failures.
- Node reference links to every Blueprint library and async action.
- Compatibility defines supported engines, platforms, module boundaries, and packaged-game behavior.
- Migration 2.0 maps UDCore names to their Directive Utilities replacements.
- Changelog tracks releases and behavior changes.
When behavior changes, update its implementation and tests together. Revise the matching page under Documentation/Nodes/ in the same pull request, then build the plugin for each affected engine version.
Use the local runtime test host to run the automation suite in both Unreal Editor and a packaged Development game. Generated projects and reports are written under Build/RuntimeHost.
Create release archives with the packaging tools. Generated packages stay under Build and are not committed.
Open pull requests against dev and describe any Blueprint compatibility impact.
Use GitHub Issues for bug reports and feature requests.
Directive Utilities is available under the MIT License.
Directive Utilities is maintained by Unreal Directive and Dylan "Tezenari" Amos.