I’ve finally gotten it to load all the skills properly, using the following code:
// Get data table before assigning values
static ConstructorHelpers::FObjectFinder<UDataTable>SkillData_BP(TEXT("DataTable'/Game/Data/SkillTable.SkillTable'"));
DataLookupTable = SkillData_BP.Object;
if (DataLookupTable)
{
// Key value for each column of values
static const FString ContextString(TEXT("GENERAL"));
// o-- Search using FindRow. It returns a handle to the row.
// Access the variables like GOLookupRow->Blueprint_Class, GOLookupRow->Usecode
uint8 SkillsCount = DataLookupTable->GetTableData().Num(); // The skill count will always be far less than 255, otherwise the game will be far too complicated!
for (uint8 i = 0; i < SkillsCount; i++)
{
FString IndexString = FString::FromInt((int32)i);
FName IndexName = FName(*IndexString);
FSkillData* GOLookupRow = DataLookupTable->FindRow<FSkillData>(IndexName, ContextString);
if (!GOLookupRow)
break;
UCharacterSkill* Skill = NewObject<UCharacterSkill>();
Skill->SetName(GOLookupRow->DisplayName); // Stick to the first column and get each name under it for each and every skill.
Skills.Add(Skill);
}
}
Many thanks to everyone who commented and helped!