Over Christmas, I created some Unreal Engine tools to help speed things up and remove pain points for projects I’m working on. Previously I made Unreal tools using python, but for this new batch, I used Unreals Editor Utility Blueprints instead, which I found to be a lot more user-friendly. The tools don’t look like much visually, because I wanted to keep them self-contained and as light as possible, so no textures or external references.
Below you can see the COMPARE DATA TABLES TOOL I made:
COMPARE DATA TABLES TOOL
Tested & working in: UE4.26, UE4.27, UE5.1
Purpose: A tool for comparing Data Tables and telling you the name of any missing rows.
Example of its use: As your game grows you may find that you have data in different places, not just in a single centralised location, making it harder to manage/keep track of. For example in one of my games, I have my main Item Data Table, then supporting data tables for other areas: sounds, animation sets, item previewer presets etc. If you move an item around in your inventory and it is missing its relevant row in the sounds data table, it will use a default sound. So I use this tool to compare against my main item data table to help find any problems.
How to setup/use:
CLICK HERE if you would prefer to watch the 4-min Youtube version. Else check out the below instructions for how to get things set up in your own project.
First off head to my Github page: https://github.com/CB-Game-Developer/UnrealEngine-Tools
Next download the tool by hitting Code button in the top right-hand corner, then going to the the Local tab, then clicking on Download Zip
We then need to un-zip the download. Dig down into the folder structure until you find the correct engine version you need for your project e.g. either 4.26, 4.27 or 5.1
Add a new folder called Tools under your content folder. Then copy-paste it into your project into that new Tools folder. Then you are all set up!
How to Use:
Using the tool is very simple. To launch it, right-click on the Editor Utility Widget called Tool_Compare_DataTables_5.1 (or whichever engine version you chose) and click the Run Editor Widget Utility option.
The left data table slot is where you want to put a reference to your main data table. Then on the right side, we have an array where you can add data tables you want to compare against the main one.
When everything is filled in you can hit the Run Compare Check button. The results will fill in the bottom of the widget. In my below example you can see that 1 row was found to be missing.
Double-clicking on any of the data table assets will quickly open them up. You can again see the missing row when we open up the tables in the GIF below
Expanded Use (presets):
When putting the tool to use, I found I was comparing the same data tables again and again, so I decided to expand the functionality of the tool, creating presets to help speed up the process.
You can use the presets by hitting the Use Presets? check box in the top left. The drop-down box next to it will then activate and you can switch between different pre-setup sets. It runs the search automatically when clicking on a new drop-down entry.
You can set up your own presets by navigating to the DT_Compare_Presets data table (which can be found in the Tools_CompareDT_SubWidgets folder). You can add and remove rows. The name that fills the drop-down box is made up of the Row name e.g. Preset01, Preset02 mixed with the PresetNiceName variable. DT main is like the main data table (the left side of the tool). Then finally DT_ToCompareAgainst is the data table(s) you want to compare against (like the right side of the tool).
After you change the presets data table, if you use the drop-down nothing will have changed. You will first need to save the data table and close the tool. Next time you run the tool it will have your new preset in it.
Difference between UE4 & UE5
The tool looks different in UE4 and UE5 but it is only visuals. The functionality and how it runs are exactly the same between all versions.
I hope you find the tool useful and let me know if you have any suggestions to make it better!
Follow me on Twitter to hear when I update or make new tools