message: check for name in blueprint factory creation
diff: @@ -1750,17 +1750,17 @@ PyObject *py_ue_factory_create_new(ue_PyUObject *self, PyObject * args)
  char *name;
  if (!PyArg_ParseTuple(args, "s:factory_create_new", &name))
  {
  - return NULL;
  + return nullptr;
  }
  - if (!self->ue_object->IsA<UFactory>())
  + UFactory *factory = ue_py_check_type<UFactory>(self);
  + if (!factory)
  return PyErr_Format(PyExc_Exception, "uobject is not a Factory");
  UPackage *outer = CreatePackage(nullptr, UTF8_TO_TCHAR(name));
  if (!outer)
  return PyErr_Format(PyExc_Exception, "unable to create package");
  - UFactory *factory = (UFactory *)self->ue_object;
  UClass *u_class = factory->GetSupportedClass();
  char *obj_name = strrchr(name, '/') + 1;
  @@ -1769,6 +1769,15 @@ PyObject *py_ue_factory_create_new(ue_PyUObject *self, PyObject * args)
  return PyErr_Format(PyExc_Exception, "invalid object name");
  }
  + // avoid duplicates
  + if (u_class->IsChildOf<UBlueprint>())
  + {
  + if (FindObject<UBlueprint>(outer, UTF8_TO_TCHAR(obj_name)))
  + {
  + return PyErr_Format(PyExc_Exception, "a blueprint with this name already exists in the package");
  + }
  + }
  +
  UObject *u_object = factory->FactoryCreateNew(u_class, outer, FName(UTF8_TO_TCHAR(obj_name)), RF_Public | RF_Standalone, nullptr, GWarn);
  if (!u_object)
  