Hi @kebwlmbhee, looking at the documentation, CreateAsset gives you a UObject*, a pointer to your asset, and CreateUniqueAssetName creates a name for an asset, depending on the first two parameters.
From what I can see in the error list, CastChecked failed because CreateUniqueAssetName is a void function, meanwhile, CreateAsset returns a pointer to an UObject.
I hope this helps you.