#include "CodeOnlyFunctionLibrary.h" #include "GameFramework/Actor.h" #include "Engine/Level.h" FString UCodeOnlyFunctionLibrary::RenameActorUnique(AActor* ActorToRename, const FString& DesiredName, AActor* ReferenceActorForLevel) { if (!ActorToRename || !ReferenceActorForLevel) { return FString(); } FString NewName = DesiredName; while (!ActorToRename->Rename(*NewName, ReferenceActorForLevel->GetLevel(), REN_Test)) { UE_LOG(LogTemp, Warning, TEXT("Rename conflict on drop: %s"), *NewName); NewName.AppendChar('x'); } ActorToRename->Rename(*NewName, ReferenceActorForLevel->GetLevel()); return NewName; }