Error saving UAssetUserData on StaticMesh

I’m trying to add a custom UAssetUserData class to a static-mesh. This goes well up until the point I try to save the asset:

The class itself is pretty simple:

#pragma once

#include "Engine/AssetUserData.h"
#include "Engine/StaticMesh.h"

#include "OrbiverseStaticMeshData.generated.h"

UCLASS()
class ORBIVERSECORE_API UOrbiverseStaticMeshData
	: public UAssetUserData
{
	GENERATED_BODY()

public:
	UPROPERTY(BlueprintReadOnly, EditAnywhere)
	float LightmapTexelDensity;
};

The problem is not in what is inside your UOrbiverseStaticMeshData, but rather how it was created. When you call NewObject, make sure Outer is set to the UStaticMesh object that you plan on adding your mesh data to. By default, Outer is the Transient package, which is thrown away when you close Unreal.