Properties disappear from datatable editor view when categories are modified

When opening the datatable, the row type displays as “S_SomeStruct S_SomeStruct” (twice!).
Properties have been added with categories, of which only one category shows in the row editor.

I tried:

  • Data can still be exported and reimported , JSON is complete.
  • Cleared all derived data cache (appdata / project / engine)
  • Cleaned the entire project, rebuilt with VS.
  • Created a new datatable with the same struct, same result.
  • Added a new property of the missing category, still not showing up.
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Struct", meta = (Tooltip = ""))
	TMap<FName, FS_SomeStruct> Test;

Only cause I can think of is that I modified the property categories after the datatable had been created, (it used to work) but it does not make sense that a new datatable asset shows the same symptoms. Is this a bug?

Tons of warnings that properties have not been initialized properly. It’s a UE bug again -_-.

Hey @Roy_Wierer.Seda145. I’m not sure this will fix your issue but maybe it’s worth a shot. I created this test structs and it seems to be working for me. Maybe setting default values for your structs is what is missing. At least I’m not seeing any warnings.

Hope this helps!

Hi kribbeck, normally it works for me too but the struct somehow corrupted.

USTRUCT(BlueprintType)
struct FS_SomeStruct: public FS_SomeBaseStruct {
	GENERATED_BODY()

	UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (Tooltip = ""))
		bool bABool;

	// Initialize
	FS_SomeStruct()
		: FS_SomeBaseStruct (TEXT("AValue"))
		, bABool (true)
	{}

	// Operators
	bool operator==(const FS_SomeStruct& Other) const {
		return (
			FS_SomeBaseStruct ::operator==(Other)
			&& bABool == Other.bABool 
		);
	}
};

I’m using a struct for my datatable which holds structs like the above one.
Now my properties don’t show up in the table anymore while they are assigned to a Category.
The data is there, but the entire categories do not show up. I don’t know what to make of it. After clearing all caches and creating a new table I don’t know what else could go corrupt. I think something serialized / saved somewhere and doesn’t want to be modified.

I looked back into version control and set the property categories to what they were in a previous version. Works. I set it to a new category: Properties disappear from datatable editor. No caches, no old table assets, wth?

@Jambax Sorry to contact you directly, you helped me with a serialization topic a while ago:

Bug, UPROPERTY removed from the editor panel still overriding c++ values

Do you think this problem might be related to UPROPERTY serialization? I already cleared the caches and recreated assets based on the modified c++ struct but the problem remains. I suspect there must be some leftover data somewhere.

Unsure what the issue is, but the Data Table editor showing MyStructNameMyStructName etc. started in 5.0 I believe. I think it’s just a general UI bug that hasn’t been fixed or noticed yet.

Data Table Editor uses IStructureDetailsView which has some issues of it’s own, one of them being it doesn’t support details customisations on the root structure which can be a PITA. I’m not sure if there’s also some overarching issues with categories in general.

I don’t think categories are serialised, but if you’ve deleted and remade the table anyway, not sure that would be an issue.

1 Like

Properties show up again of any category. The only thing that changed is that I added a bunch of properties to the struct and did some other unrelated work. Must have been something stuck in memory for a while.

Unreal 5.1, Properties with a nested category (structured “Animation | Montage”) do not show up on the datatable editor in engine. Reported as a bug.