Rename assets in C++ from plugin

After waiting for the asset to load, using UEditorAssetSubsystem::RenameAsset worked.

FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry");

if (AssetRegistryModule.Get().IsLoadingAssets())
{
	AssetRegistryModule.Get().OnFilesLoaded().AddRaw(this, &RenameAsset);
	return;
}

RenameAsset();
void RenameAsset()
{
	auto editorAssetSubsystem = GEditor->GetEditorSubsystem<UEditorAssetSubsystem>();
	editorAssetSubsystem->RenameAsset(oldPath, newPath);
}
1 Like