// Fill out your copyright notice in the Description page of Project Settings.
#include "MyAssetActionUtility.h"
#include "EditorUtilityLibrary.h"
#include "EditorAssetLibrary.h"
#include "Engine/Texture.h"
#pragma region RenameSelectedAssets
void UMyAssetActionUtility::RenameSelectedAssets(FString SearchPattern, FString ReplacePattern, ESearchCase::Type SearchCase)
if (SearchPattern.IsEmpty() || SearchPattern.Equals(ReplacePattern, SearchCase))
return;
// Get Selected Assets
TArray<UObject*> SelectedAssets = UEditorUtilityLibrary::GetSelectedAssets();
int32 NumSelectedAssets = SelectedAssets.Num();
PrintToScreen(FString::Printf(TEXT("Selected = %d"), NumSelectedAssets), FColor::Green);
uint32 NumAssetsReplaced = 0;
for (UObject* SelectedAsset : SelectedAssets)
if (ensure(SelectedAsset))
FString AssetName = SelectedAsset->GetName();
if (AssetName.Contains(SearchPattern, SearchCase))
FString NewAssetName = AssetName.Replace(*SearchPattern, *ReplacePattern, SearchCase);
UEditorUtilityLibrary::RenameAsset(SelectedAsset, NewAssetName);
++NumAssetsReplaced;
PrintFeedBack(TEXT("Renamed"), NumAssetsReplaced);
#pragma endregion RenameSelectedAssets
// Additional helper functions for asset management...
Tools & Technologies Used
Unreal API
Engine Integration