@@ -613,9 +613,8 @@ PyObject *py_unreal_engine_get_long_package_path(PyObject * self, PyObject * arg
613613PyObject *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
648646PyObject *py_unreal_engine_duplicate_asset (PyObject * self, PyObject * args)
0 commit comments