I have a UDeveloperSettings config class that stores references to UDataTables containing information globally relevant to my project.
To use an example: Defining item rarities (common, rare, epic, legendary) along with a bunch of other params relating to each rarity in a custom FTableRowBase struct.
In another actor class, the user applies settings (say, selects the FGameplayTag for the desired item rarity), and then in the IsDataValid function, I load the datatable and check the user selected tag against its entries to ensure the tag is a valid item rarity.
The goal is to allow the user to define global “types” of things in one location, and then use that data to validate / auto-populate assets.
This doesn’t work in editor. The UDataTable has zero rows when I log the rowcount, and a ForEachRow with logging inside is never entered.
If I instead try to access this data the same way, but in BeginPlay, it works fine. The expected results are logged, etc.
Are data tables inaccessible in editor?