@@ -639,18 +639,19 @@ PyObject *py_unreal_engine_create_asset(PyObject * self, PyObject * args)
639639PyObject *py_unreal_engine_get_asset_referencers (PyObject * self, PyObject * args)
640640{
641641 char *path;
642+ int depency_type = (int )EAssetRegistryDependencyType::All;
642643
643- if (!PyArg_ParseTuple (args, " s:get_asset_referencers" , &path))
644+ if (!PyArg_ParseTuple (args, " s|i :get_asset_referencers" , &path, &depency_type ))
644645 {
645- return NULL ;
646+ return nullptr ;
646647 }
647648
648649 if (!GEditor)
649650 return PyErr_Format (PyExc_Exception, " no GEditor found" );
650651
651652 FAssetRegistryModule& AssetRegistryModule = FModuleManager::GetModuleChecked<FAssetRegistryModule>(" AssetRegistry" );
652653 TArray<FName> referencers;
653- AssetRegistryModule.Get ().GetReferencers (UTF8_TO_TCHAR (path), referencers);
654+ AssetRegistryModule.Get ().GetReferencers (UTF8_TO_TCHAR (path), referencers, (EAssetRegistryDependencyType::Type) depency_type );
654655
655656 PyObject *referencers_list = PyList_New (0 );
656657 for (FName name : referencers)
@@ -660,11 +661,38 @@ PyObject *py_unreal_engine_get_asset_referencers(PyObject * self, PyObject * arg
660661 return referencers_list;
661662}
662663
664+ PyObject *py_unreal_engine_get_asset_identifier_referencers (PyObject * self, PyObject * args)
665+ {
666+ char *path;
667+ int depency_type = (int )EAssetRegistryDependencyType::All;
668+
669+ if (!PyArg_ParseTuple (args, " s|i:get_asset_identifier_referencers" , &path, &depency_type))
670+ {
671+ return nullptr ;
672+ }
673+
674+ if (!GEditor)
675+ return PyErr_Format (PyExc_Exception, " no GEditor found" );
676+
677+ FAssetRegistryModule& AssetRegistryModule = FModuleManager::GetModuleChecked<FAssetRegistryModule>(" AssetRegistry" );
678+ TArray<FAssetIdentifier> referencers;
679+ AssetRegistryModule.Get ().GetReferencers (FAssetIdentifier::FromString (UTF8_TO_TCHAR (path)), referencers, (EAssetRegistryDependencyType::Type) depency_type);
680+
681+ PyObject *referencers_list = PyList_New (0 );
682+ for (FAssetIdentifier identifier : referencers)
683+ {
684+ PyList_Append (referencers_list, PyUnicode_FromString (TCHAR_TO_UTF8 (*identifier.ToString ())));
685+ }
686+ return referencers_list;
687+ }
688+
689+
663690PyObject *py_unreal_engine_get_asset_dependencies (PyObject * self, PyObject * args)
664691{
665692 char *path;
693+ int depency_type = (int )EAssetRegistryDependencyType::All;
666694
667- if (!PyArg_ParseTuple (args, " s:get_asset_dependencies" , &path))
695+ if (!PyArg_ParseTuple (args, " s|i :get_asset_dependencies" , &path, &depency_type ))
668696 {
669697 return NULL ;
670698 }
@@ -674,7 +702,7 @@ PyObject *py_unreal_engine_get_asset_dependencies(PyObject * self, PyObject * ar
674702
675703 FAssetRegistryModule& AssetRegistryModule = FModuleManager::GetModuleChecked<FAssetRegistryModule>(" AssetRegistry" );
676704 TArray<FName> dependencies;
677- AssetRegistryModule.Get ().GetDependencies (UTF8_TO_TCHAR (path), dependencies);
705+ AssetRegistryModule.Get ().GetDependencies (UTF8_TO_TCHAR (path), dependencies, (EAssetRegistryDependencyType::Type) depency_type );
678706
679707 PyObject *dependencies_list = PyList_New (0 );
680708 for (FName name : dependencies)
0 commit comments