Integration
At the moment it supports these the engine versions below:
- UE 5.5
- UE 5.4
- UE 5.3
- UE 5.2
- UE 5.1
- UE 5.0
- UE 4.27
- UE 4.26
- UE 4.25
Integrate DataConfig
Plugin
The easiest way to try out DataConfig is to add it as a plugin into your C++ project. In this section we'll walk through these steps.
Download DataConfig Plugin
The quickest way to try out DataConfig is to download the latest release at DataConfig releases page.
-
Download the zip files on the releases page. Note there're UE4 and UE5 plugin respectively.
-
Unzip it into your Unreal Engine project's
Plugin
folder. The layout should be like this:
<Your project root>
|- <Your project>.uproject
|- Content
|- Source
|- ...
|- Plugins
|- DataConfig
|- DataConfig.uplugin
Generate DataConfig Plugin for UE4/UE5
DataConfig now uses separated uplugin
files for UE4 and UE5 so that we can try out new features in UE5 without dropping support for UE4. We bundled scripts to generate clean plugins for UE4 and UE5. This is how the DataConfig releases are built.
git clone https://github.com/slowburn-dev/DataConfig
# requires python 3.6+
python ./DataConfig/Misc/Scripts/make_dataconfig_ue4.py
python ./DataConfig/Misc/Scripts/make_dataconfig_ue54.py
python ./DataConfig/Misc/Scripts/make_dataconfig_ue5.py
DataConfigXX.uplugin
Ultimately we figured that we'll need multiple .uplugin
files to support acrosss UE versions:
Name | Version |
---|---|
DataConfig4.uplugin | 4.25 - 4.27 |
DataConfig54.uplugin | 5.0 - 5.4 |
DataConfig5.uplugin | 5.5 - Latest |
When packaging for each engine version we rename the one we want and delete the rest.
Manual Steps for UE5 Latest
-
Get a copy of DataConfig repository. Then copy
./DataConfig
(whereDataConfig.uplugin
is located) into your project'sPlugins
directory. -
Delete
DataConfig4.uplugin
, and otherDataConfig5X.uplugin
. -
Delete
DataConfig/Source/DataConfigHeadless
folder. This step is crucial or you your project won't build.
Manual Steps for UE4
-
Get a copy of the repository. Then copy
./DataConfig
(whereDataConfig.uplugin
is located) into your project'sPlugins
directory. -
Delete
DataConfig.uplugin
, then renameDataConfig4.uplugin
toDataConfig.uplugin
. -
Delete
DataConfig/Source/DataConfigHeadless
folder. This step is crucial or you your project won't build. -
Additionally delete UE5 specific modules.
DataConfig/Source/DataConfigEngineExtra5
Validate integration
Follow these steps to ensure DataConfig is properly integrated into your project.
-
Restart your project. There should be a prompt to compile plugin sources. Confirm and wait until your project launches. Then open
Settings -> Plugins
you should see Data Config listed under Project Editor category. -
The plugin comes with a set of tests. Open menu
Window -> Developer Tools -> Session Frontend
. Find and run theDataConfig
tests and it should all pass.
Integrate DataConfigCore
Module
DataConfig is packed into a plugin to bundle automation tests with a few assets. You're encouraged to integrate only the DataConfigCore
module. It contains all core features with minimal dependencies.
Most projects should has a editor module already setup. In this section we'll go through the steps of integrating DataConfigCore
and build it with the project's FooProjectEditor
module.
-
Get a copy of this repository. Then copy
DataConfig/Source/DataConfigCore
into your project'sSource
directory. -
Edit
FooProjectEditor.Build.cs
add addDataConfigCore
as an extra module:using UnrealBuildTool; public class FooProjectEditor : ModuleRules { public FooProjectEditor(ReadOnlyTargetRules Target) : base(Target) { PublicDependencyModuleNames.AddRange(new string[] { //... "DataConfigCore", // <- add this }); } }
-
DataConfig needs to be explicitly initialized before use. Find
FooProjectEditor
module's start up and shut down methods and setup DataConfig accordingly.#include "DataConfig/DcEnv.h" #include "DataConfig/Automation/DcAutomationUtils.h" void FFooProjectEditorModule::StartupModule() { // ... DcStartUp(EDcInitializeAction::SetAsConsole); // dump a FVector to try it out FVector Vec(1.0f, 2.0f, 3.0f); FDcPropertyDatum VecDatum(TBaseStructure<FVector>::Get(), &Vec); DcAutomationUtils::DumpToLog(VecDatum); } void FFooProjectEditorModule::ShutdownModule() { // ... DcShutDown(); }
-
Rebuild the project and restart the editor. Open
Output Log
and you should be able to find the dump results (to filter useCategories -> None
).
You can refer to Module Setup for more detailed integration instructions.