Skip to content

Commit 2472962

Browse files
committed
fix rename asset definition
have the same behaviour than context menu rename in content browser.
1 parent aeb6b8d commit 2472962

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

Source/UnrealEnginePython/Private/UEPyEditor.cpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -613,9 +613,8 @@ PyObject *py_unreal_engine_get_long_package_path(PyObject * self, PyObject * arg
613613
PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args)
614614
{
615615
char *path;
616-
char *package_name;
617616
char *object_name;
618-
if (!PyArg_ParseTuple(args, "sss:rename_asset", &path, &package_name, &object_name))
617+
if (!PyArg_ParseTuple(args, "ss:rename_asset", &path, &object_name))
619618
{
620619
return NULL;
621620
}
@@ -628,21 +627,20 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args)
628627
if (!asset.IsValid())
629628
return PyErr_Format(PyExc_Exception, "unable to find asset %s", path);
630629

631-
UObject *u_object = asset.GetAsset();
632-
ObjectTools::FPackageGroupName pgn;
633-
pgn.ObjectName = UTF8_TO_TCHAR(object_name);
634-
pgn.GroupName = FString("");
635-
pgn.PackageName = UTF8_TO_TCHAR(package_name);
630+
FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked<FAssetToolsModule>("AssetTools");
636631

637-
TSet<UPackage *> refused_packages;
638-
FText error_text;
639-
if (!ObjectTools::RenameSingleObject(u_object, pgn, refused_packages, error_text, nullptr, false))
632+
UObject *u_object = asset.GetAsset();
633+
TArray<FAssetRenameData> AssetsAndNames;
634+
const FString PackagePath = FPackageName::GetLongPackagePath(u_object->GetOutermost()->GetName());
635+
const FString newname(UTF8_TO_TCHAR(object_name));
636+
new(AssetsAndNames) FAssetRenameData(u_object, PackagePath, newname);
637+
if (!AssetToolsModule.Get().RenameAssets(AssetsAndNames))
640638
{
641639
return PyErr_Format(PyExc_Exception, "unable to rename asset %s", path);
642640
}
643641

644642
Py_INCREF(Py_None);
645-
return Py_None;
643+
return Py_None;
646644
}
647645

648646
PyObject *py_unreal_engine_duplicate_asset(PyObject * self, PyObject * args)

0 commit comments

Comments
 (0)