Blueprint Corruption with DataTables when re-opening a project

https://www…com/watch?v=7BblboFi-fc

Here is a video demonstration of the issue I am experiencing. Every time I reopen a saved project that uses the Get Data Table Row node the links to use the out row are are broken. In the video I demonstrate how I must first select the same Data Table that is already in the node to reconnect it.

I’ve made a bug report on this in the past, but I figured it might be worth revisiting this since I’m still having this issue in the 4.5 preview. At this point I don’t know if it’s a bug or if I simply don’t know how to use DataTables properly.

As a sanity check I’ve set up a brand new blank project(the one shown in the video) that uses the example from this blog post: https://www.unrealengine.com/blog/dr...ata-from-excel

To test the functionality of GetDataTableRow I created an actor blueprint that prints XPtoLvl of a given row to the screen.

To implement the structure I used a helpful Answer Hub post(Crash: Can't get Data Tables working - Programming & Scripting - Epic Developer Community Forums) which explains in detail how it should be implemented. This is the exact code that I used to implement the structure.

Here is how the .h file is implemented:

#pragma once
#include "LevelUp.generated.h"

/** Structure that defines a level up table entry */
USTRUCT(BlueprintType)
struct FLevelUpData : public FTableRowBase
{
	GENERATED_USTRUCT_BODY()

public:

	FLevelUpData()
		: XPtoLvl(0)
		, XP(0)
	{}

	/** The 'Name' column is the same as the XP Level */

	/** XP to get to the given level from the previous level */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = LevelUp)
		int32 XPtoLvl;

	/** This was the old property name (represented total XP) */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = LevelUp)
		int32 XP;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = LevelUp)
		TAssetPtr<UTexture> Asset;
};


UCLASS(Abstract, CustomConstructor)
class ULevelUp : public UObject
{
	GENERATED_UCLASS_BODY()

	ULevelUp(const class FPostConstructInitializeProperties& PCIP) : Super(PCIP) {}
};

And the .cpp(as recommended by the Answer Hub post I deleted all references to the automatically generated constructor and destructor):

// Fill out your copyright notice in the Description page of Project Settings.

#include "DataTableTest.h"
#include "LevelUp.h"

Again, not sure if this is a bug that just hasn’t been fixed yet, if it’s an issue with my setup, or if I just don’t know how to use DataTables. I’ve tried to make this as clean a project as possible and followed the example provided in the article as closely as possible.

With regards to my setup. I am using Unreal Engine 4.5 preview, a blank project with the alterations I’ve mentioned above, and Visual 2013. I have reinstalled UE4 and Visual recently trying to remedy this bug to no avail. Any help will be greatly appreciated!

I’m sorry to hear you’re experiencing this too, but it’s good to know it’s not just an isolated issue. As of right now I’m having the issue in the 4.5 preview released via the launcher(haven’t tried the master branch). Hopefully because of that we can get a swift resolution.

Hello, . You are not alone. I am facing with the similar problem.

Although the data table works almost perfect when Play In Editor (still I have to update GetDataTableRow, and re-established the connection between GetDataTableRow and Break nodes every time I close the editor)

It fails miserably when I play the packaged (.exe) game. The GetDataTableRow and Break nodes unable to retain the connection through packaging process.

I hope that we will have good news when 4.5 is released

Hi everyone,

We did some digging and found that this is a known issue, bug report: TTP #342230 and is currently under assessment by the development staff. Thank you and have a great day!

I have the same issue. Sadly, things have gotten even worse with the 4.5 release that came out today. Now, not only do the pins get disconnected on reopening the project but the ‘Row Found’ is not passing data… I just posted about the issue. I was hopeful the ‘Out Row’ pin issue would be corrected but not being able to pass row data is worse!