C++ FTableRowBase makes other blueprint Structure disappear

Hi,
I created a number of structure in the editor with “Blueprints->Structure”, and those show up properly when I try to create a new Datatable using “Miscellaneous->Data Table”.

Then I created a new C++ struct like this:

USTRUCT(BlueprintType)
struct FStructTextures : public FTableRowBase
{
    GENERATED_USTRUCT_BODY()

public:
    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    FString texture;
};

From that moment in the editor, when I create a new Data Table using “Miscellaneous->Data Table”, I see in the list ONLY my C++ struct, the other structs created in the editor are not available anymore, UNLESS I right click on those and select “Asset Actions->Reload”.

Is this a bug? Does it has any impact on my structs at runtime?

It is highly because the Asynchronous loading on assets. Content browser are highly associated with the usage of TSoftObjectPtr/TAssetPtr. This should include all Blueprint assets.

Check this out : A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums

Those type only try to load when you are “about” to use it, for example :

  • Opening it in editor
  • Using it on run time.
  • Relevant to the startup log mentioned "Lazily Load … "

You can possible force load it, by setting stuffs in project settings. It kinda bothers me as well for certain asset wouldn’t show up if I never opened them within a session.

and from what I’ve know, it wouldn’t have impact on run time.

You are right, I tried again and sometimes it loads them all, sometimes not. Seems not very reliable, but anyway there is a workaround to reload manually.