UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AssetRegistryModule.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
7#include "Containers/Array.h"
9#include "CoreTypes.h"
13#include "UObject/NameTypes.h"
14#include "UObject/Object.h"
15
16class UPackage;
17
19{
20 const FName ModuleName("AssetRegistry");
21}
22
27{
28
29public:
30
32 virtual void StartupModule() override;
33
34 virtual IAssetRegistry& Get() const
35 {
37 }
38
40 bool IsValid() const
41 {
42 return IAssetRegistry::Get() != nullptr;
43 }
44
47 {
48 return IAssetRegistry::Get();
49 }
50
52 {
54 }
55
56 static void TickAssetRegistry(float DeltaTime)
57 {
59 }
60
61 static void AssetCreated(UObject* NewAsset)
62 {
64 }
65
70
75
76 static void AssetsSaved(TArray<FAssetData>&& SavedAssets)
77 {
79 }
80
85
91
101
107
117
118 virtual bool EnumerateAssets(const FARFilter& Filter, TFunctionRef<bool(const FAssetData&)> Callback,
120 {
122 if (!AssetRegistry)
123 {
124 return false;
125 }
126 return AssetRegistry->EnumerateAssets(Filter, Callback, InEnumerateFlags);
127 }
128
130 {
132 if (!AssetRegistry)
133 {
134 return false;
135 }
136 OutHandle = AssetRegistry->OnAssetsAdded().AddLambda(Function);
137 return true;
138 }
139
141 {
143 if (!AssetRegistry)
144 {
145 return false;
146 }
147 return AssetRegistry->OnAssetsAdded().Remove(Handle);
148 }
149
151 {
153 if (!AssetRegistry)
154 {
155 return false;
156 }
157 OutHandle = AssetRegistry->OnAssetsRemoved().AddLambda(Function);
158 return true;
159 }
160
162 {
164 if (!AssetRegistry)
165 {
166 return false;
167 }
168 return AssetRegistry->OnAssetsRemoved().Remove(Handle);
169 }
170};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition AssetRegistry.Build.cs:6
Definition AssetData.h:946
Definition AssetRegistryModule.h:27
static void PackageDeleted(UPackage *DeletedPackage)
Definition AssetRegistryModule.h:81
static void AssetDeleted(UObject *DeletedAsset)
Definition AssetRegistryModule.h:66
virtual void GetDependencies(FName InPackageName, TArray< FName > &OutDependencies, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::Package, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) override
Definition AssetRegistryModule.h:87
static void AssetCreated(UObject *NewAsset)
Definition AssetRegistryModule.h:61
static void AssetRenamed(const UObject *RenamedAsset, const FString &OldObjectPath)
Definition AssetRegistryModule.h:71
virtual bool RegisterOnAssetsRemovedDelegate(const TFunction< void(TConstArrayView< FAssetData >)> &Function, FDelegateHandle &OutHandle) override
Definition AssetRegistryModule.h:150
IAssetRegistry * TryGet() const
Definition AssetRegistryModule.h:46
virtual UE::AssetRegistry::EExists TryGetAssetByObjectPath(const FSoftObjectPath &ObjectPath, FAssetData &OutAssetData) const override
Definition AssetRegistryModule.h:92
virtual UE::AssetRegistry::EExists TryGetAssetPackageData(FName PackageName, FAssetPackageData &OutAssetPackageData, FName &OutCorrectCasePackageName) const override
Definition AssetRegistryModule.h:108
virtual void StartupModule() override
Definition AssetRegistryModule.cpp:11
bool IsValid() const
Definition AssetRegistryModule.h:40
virtual IAssetRegistry & Get() const
Definition AssetRegistryModule.h:34
virtual UE::AssetRegistry::EExists TryGetAssetPackageData(FName PackageName, FAssetPackageData &OutAssetPackageData) const override
Definition AssetRegistryModule.h:102
static void AssetsSaved(TArray< FAssetData > &&SavedAssets)
Definition AssetRegistryModule.h:76
virtual bool UnregisterOnAssetsRemovedDelegate(const FDelegateHandle &Handle) override
Definition AssetRegistryModule.h:161
virtual bool RegisterOnAssetsAddedDelegate(const TFunction< void(TConstArrayView< FAssetData >)> &Function, FDelegateHandle &OutHandle) override
Definition AssetRegistryModule.h:129
virtual bool UnregisterOnAssetsAddedDelegate(const FDelegateHandle &Handle) override
Definition AssetRegistryModule.h:140
static IAssetRegistry & GetRegistry()
Definition AssetRegistryModule.h:51
static void TickAssetRegistry(float DeltaTime)
Definition AssetRegistryModule.h:56
virtual bool EnumerateAssets(const FARFilter &Filter, TFunctionRef< bool(const FAssetData &)> Callback, UE::AssetRegistry::EEnumerateAssetsFlags InEnumerateFlags=UE::AssetRegistry::EEnumerateAssetsFlags::None) const override
Definition AssetRegistryModule.h:118
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
Definition AssetRegistryInterface.h:454
Definition IAssetRegistry.h:263
virtual void PackageDeleted(UPackage *DeletedPackage)=0
virtual bool GetDependencies(const FAssetIdentifier &AssetIdentifier, TArray< FAssetIdentifier > &OutDependencies, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const =0
static IAssetRegistry * Get()
Definition IAssetRegistry.h:266
virtual void AssetDeleted(UObject *DeletedAsset)=0
virtual void AssetRenamed(const UObject *RenamedAsset, const FString &OldObjectPath)=0
virtual void AssetsSaved(TArray< FAssetData > &&Assets)=0
virtual void Tick(float DeltaTime)=0
static IAssetRegistry & GetChecked()
Definition IAssetRegistry.h:270
virtual void AssetCreated(UObject *NewAsset)=0
Definition ModuleInterface.h:14
Definition Array.h:670
Definition AssetRegistryState.h:50
Definition AndroidPlatformMisc.h:14
Definition Object.h:95
Definition Package.h:216
Definition AssetRegistryModule.h:19
const FName ModuleName("AssetRegistry")
EExists
Definition AssetRegistryInterface.h:204
EEnumerateAssetsFlags
Definition AssetRegistryInterface.h:211
EDependencyCategory
Definition AssetRegistryInterface.h:71
Definition ARFilter.h:23
Definition AssetData.h:162
Definition SoftObjectPath.h:56
Definition AssetRegistryInterface.h:255