. How to use Data Tables in your Unreal Engine 5 game - Couch Learn
How to use Data Tables in your Unreal Engine 5 game - Couch Learn
How to use Data Tables in your Unreal Engine 5 game - Couch Learn

How to use Data Tables in your Unreal Engine 5 game

Data tables are a useful feature of Unreal Engine 5. They allow the programmer/designer to create and access a pre-made list of information.

When creating a data table you are asked to choose which struct you want to base the data table on.

Here are a few game mechanic uses of data tables:

  • RPG item data table that contains item stats such as damage, armour etc.
  • Subtitles for dialogue that can easily be accessed by character name.
  • An enemy data table containing a list of pre made enemy types with enemy health, damage, stamina etc.

In this guide we will be showing you how to use Data Tables in your Unreal Engine 5 game.

Pre-requisites

What is a Data Table?

In Unreal Engine 5, a Data Table is an extremely useful tool that allows you to define a list of data and store different values for this defined list based on a key.

This data is stored as an asset in your project which makes it incredibly easy to retrieve and update the data from anywhere in your code.

The data is also remembered inside of the editor meaning you can create your data while you are developing your project, then use the data inside of your project during runtime.

A great example of this is data for items or enemies in your project. This data can be set by you when designing your items and enemies which is then saved and persistent.

Making and using Data Tables in Unreal Engine 5 is easy and requires very little work. In the next section we explain how to make your own data table inside of your Unreal Engine 5 project!

Making our Data Table

Creating an Enum

Before we create our struct, we need to create an enum. This is an item rarity enum which will represent the quality of our role playing game item.

Simply create your enum by right clicking the content browser and clicking Enumeration in the Blueprint category.

Then set the values as shown that you require. If you are following along with this guide, copy the values in the image below.

Creating our Struct

Now that we have our enum created, next we need to create the struct that our data table will use for the types of values it will hold.

Right click anywhere in the content browser, then click Structure in the Blueprints category.

Then set the values as shown that you require. If you are following along with this guide, copy the values in the image below.

Creating our Data table

Finally we can create our data table. This is done exactly the same way by right clicking inside of the content browser and clicking the Data Table option in the Miscellaneous category.

Next there is a popup asking which struct you want to use. In this guide we are using the ExampleStruct we made earlier.

Adding Values to the Data Table

Now that are data table is created and configured correctly, we can press the Add button to add a new row to our data table.

As you can see in the image below, the data table has a new row with some default values from our struct.

We can change the values in the “Row Editor” and the values in the data table will change above.

We can now create as many entries as we want!

Clicking the row name section in the row, we can change the row name. In this example we are using BronzeSword as the new row name.

The Damage, Rarity, and Sell Price values we defined earlier are in the Data Table view, and the Row Editor below.

Changing the values in the Row Editor will affect the values stored in the data table.

Don’t forget to Save often to prevent losing your changes!

Using your Data Table

Now that we have our data table created, configured, and filled with data, we can now learn how to access this data in our code.

We have create an Event BeginPlay node to our level blueprint and have created a Get Data Table Row node.

This Get Data Table Row node asks for a data table asset reference, and a row name.

Data Table reference is our data table we created earlier, and the Row Name is the row we want to try to find the data for.

If the row is found, the Row Found pin will run code and the Out Row will contain our data, if the row is not found, the Row Not Found pin will run code and the Out Row data will be invalid.

We can set the Data Table reference by clicking on the select asset drop down and selecting our data table from the list of assets.

Now we can split the Out Row struct by right clicking and clicking Split Struct Pin in the menu. This will split our struct into all the types and values in contains for easy visibility.

We can also see that our Row Name is now a drop down that contains all the available row names. This can be overridden by connecting a value to the Row Name pink pin.

Now that we have split our Out Row struct, we can see the Damage, Rarity, and Sell Price values we set earlier.

Looping over your Data Table Rows

Now that we can access a specific row in our data table, it is essential to know how to use a loop with a data table.

In the example below we have created a Get Data Table Row Names node. This returns an Array with all of the row names inside of the data table.

We can then connect this to a For Each Loop node. This will now run the Loop Body for each Row Name in the Out Row Names from our Data Table.

Finally connecting our For Each Loop into a Get Data Table Row like before, we can then connect the Array Element pink pin to the Row Name pink pin.

This will now get the data for that row name each time the loop runs.

We can then use the Out Row values however we want in the project!

Conclusion

Now you have learned how to create, configure, populate, and implement data tables in your Unreal Engine 5 project!

Almost every Unreal Engine project benefits from using a data table to efficiently and neatly store data for use within the systems you develop.

Working collaboratively using data tables makes sharing a single source of truth for your projects data simple and does not require any C++ knowledge!

Further Reading:
  • A more advanced look into Data Table merging and composite tables from Unreal Engine 5’s wiki
  • A great visual guide for Data Tables by Gorka Games (Not affiliated with CouchLearn)
  • The official Unreal Engine 5 documentation for Data Tables in Blueprints
  • How to use Data Tables in your Unreal Engine 5 game
  • ue5
  • unreal engine
  • unreal engine 5
  • unreal engine datatables
Be the first to comment Leave a Reply Cancel reply Search Newest Articles
  • How to build a Dedicated Server for your Unreal Engine 5 Game
  • How to use Data Tables in your Unreal Engine 5 game
  • How to use C++ Blueprint Function Library in UE5
  • Getting started with Blueprint Functions in Unreal Engine 5
  • AI Following the Player in Unreal Engine 5
Recent Activity
  • Francisco on How to use Multiplayer Sessions in Unreal Engine 5
  • Tonetfal on How to use VOIPTalker Proximity Voice Chat using only Blueprints in your Multiplayer Unreal Engine 4 game
  • CLAUS on How to play your UE5 game on your Quest 2 Headset
  • Ig on Setting up a NavMesh in Unreal Engine 5
  • Jonas on How to use VOIPTalker Proximity Voice Chat using only Blueprints in your Multiplayer Unreal Engine 4 game
📎📎📎📎📎📎📎📎📎📎