Creating uobjects in presave fails check

I’m attempting to create some new ULandscapeLayerInfo objects as a convenience to our users (so they don’t have to manually create them) when they save one of our blueprints. I then store a reference to those in a TArray of the blueprint.

This is all happening in the blueprints PreSave() override.

The problem is I’m running into a failed check in SavePackage.cpp line 2820

check(Obj->HasAnyMarks(OBJECTMARK_TagExp));
//@warning: Objects created from within PreSave will NOT have PreSave called on them!!!

Does this mean it’s not possible to create new objects in the blueprints PreSave() or is there something I need to set on the layerinfos or the blueprint after creating/assigning them? (I tried setting OBJECTMARK_TagExp on the newly created layerinfos).

Obj = the blueprint’s “PackageMetaData” when the check fails.

Through my test, maybe you should not called some function like FAssetRegistryModule::AssetCreated.
This helps me out.