message: use ObjectTools for renaming
diff: #include "Kismet2/BlueprintEditorUtils.h"
  #include "Editor/LevelEditor/Public/LevelEditorActions.h"
  #include "Editor/UnrealEd/Public/EditorLevelUtils.h"
  +#include "ObjectTools.h"
  PyObject *py_unreal_engine_get_editor_world(PyObject * self, PyObject * args) {
  @@ -363,18 +364,17 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) {
  return PyErr_Format(PyExc_Exception, "unable to find asset %s", path);
  UObject *u_object = asset.GetAsset();
  + ObjectTools::FPackageGroupName pgn;
  + pgn.ObjectName = UTF8_TO_TCHAR(object_name);
  + pgn.GroupName = FString("");
  + pgn.PackageName = UTF8_TO_TCHAR(package_name);
  - if (StaticFindObject(nullptr, ANY_PACKAGE, UTF8_TO_TCHAR(package_name), true)) {
  - return PyErr_Format(PyExc_Exception, "a UPackage named %s already exists", package_name);
  + TSet<UPackage *> refused_packages;
  + FText error_text;
  + if (!ObjectTools::RenameSingleObject(u_object, pgn, refused_packages, error_text, nullptr, false)) {
  + return PyErr_Format(PyExc_Exception, "unable to rename asset %s", path);
  }
  - u_object->GetOutermost()->Rename(UTF8_TO_TCHAR(package_name));
  - u_object->Rename(UTF8_TO_TCHAR(object_name), u_object->GetOutermost());
  -
  - u_object->GetOutermost()->MarkPackageDirty();
  -
  - FAssetRegistryModule::AssetRenamed(u_object, UTF8_TO_TCHAR(path));
  -
  Py_INCREF(Py_None);
  return Py_None;
  }
  