Hello,
a few hours ago, i cloned the unreal engine promoted branch and compiled everything without a problem.
After that, i tried to compile my project (dev editor, win64) with this ue4 version, and got an error. This error exist already a few month and it doesnt get fixed.
Every time i clone i need to put #include “Engine/DataTable.h” into the GameplayTagsManager.h. After that, the error is fixed. Can you please add this include into the engine? I dont want to fix this error every time.
The Log:
1>------ Build started: Project: ProjectArena, Configuration: Development_Editor x64 ------
1> Performing 4 actions (4 in parallel)
1> PAGameEngine.cpp
1> PAEEditorEngine.cpp
1>D:\GitHub\UnrealEngine\Engine\Source\Runtime\GameplayTags\Classes\GameplayTagsManager.h(11): error C2504: 'FTableRowBase' : base class undefined
1>D:\GitHub\UnrealEngine\Engine\Source\Runtime\GameplayTags\Classes\GameplayTagsManager.h(11): error C2504: 'FTableRowBase' : base class undefined
1> -------- End Detailed Actions Stats -----------------------------------------------------------
1>ERROR : UBT error : Failed to produce item: D:\GameDev\UnrealProjects\ProjectArena\Binaries\Win64\UE4Editor-ProjectArena.dll
1> Total build time: 9,36 seconds
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets(38,5): error MSB3073: The command "D:\GitHub\UnrealEngine\Engine\Build\BatchFiles\Build.bat ProjectArenaEditor Win64 Development "D:\GameDev\UnrealProjects\ProjectArena\ProjectArena.uproject"" exited with code -1.
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========
You’re saying that you can compile the engine but compiling your project fails? I tried creating a project in 4.7.6 and then copied it to the latest main build and was able to compile and run the project. Are you able to copy a new project from an older build to a new one? Do you get this error if you copy the project to a released engine version (from 4.6 to 4.7 for instance)?
I use modules: “GameplayTags”, “GameplayTagsEditor”, “GameplayAbilities”.
It has something to do with the tags. If you dont use tags, you dont get the missing include error, because you dont use the GameplayTagsManager.
The header: …\UnrealEngine\Engine\Source\Runtime\GameplayTags\Classes\GameplayTagsManager.h
You need to add #include “Engine/DataTable.h” in this header, because in the following lines DataTables are used (e.g. line 11).
/** Simple struct for a table row in the gameplay tag table */
USTRUCT()
struct FGameplayTagTableRow : public FTableRowBase
{
GENERATED_USTRUCT_BODY()
Sorry for the delay in responding to your post. Gameplay Tags are still not fully implemented in the Engine. Having said that, I tried to set up a project that uses Gameplay Tags, and saw several build errors in Visual Studio. However, I did not get the error that you mentioned. Could you provide more details about how you are setting up your project to use the Gameplay Tags module?
We have not heard back from you for a few days. Are you still having trouble with this issue? I will be marking this post as resolved for internal tracking purposes, but if you still need any help please feel free to add a comment and re-open the post at any time.
I added the DataTable include to my module’s PCH file (Plugins/Victory/Source/VictoryCore/Private/VictoryCorePrivatePCH.h) instead of modifying engine code:
#include "Engine/DataTable.h"
Alternatively, you could probably include it before you include GameplayTagsManager, but is right that the correct fix is to properly include in GameplayTags code.