UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ContentBundleEngineSubsystem.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
6#include "UObject/Object.h"
7#include "Engine/World.h"
9
10#include "ContentBundleEngineSubsystem.generated.h"
11
16
17UCLASS(Config = Engine, MinimalAPI)
19{
21
22public:
24 ENGINE_API virtual void Deinitialize() override;
25
26 ENGINE_API TSharedPtr<FContentBundleClient> RegisterContentBundle(const UContentBundleDescriptor* Descriptor, const FString& ClientDisplayName);
27 ENGINE_API void UnregisterContentBundle(FContentBundleClient& Client);
28
29 ENGINE_API void RequestContentInjection(FContentBundleClient& Client);
30 ENGINE_API void RequestContentRemoval(FContentBundleClient& Client);
31
32 ENGINE_API const UContentBundleDescriptor* GetContentBundleDescriptor(const FGuid& ContentBundleGuid) const;
33
36
41
43
45
46#if WITH_EDITOR
49#endif
50private:
51 ENGINE_API void OnPreWorldInitialization(UWorld* World, const UWorld::InitializationValues IVS);
52 ENGINE_API void OnWorldPostCleanup(UWorld* World, bool bSessionEnded, bool bCleanupResources);
53
54 ENGINE_API TSharedPtr<FContentBundleClient>* FindRegisteredClient(const UContentBundleDescriptor* Descriptor);
56
57 TArray<TSharedPtr<FContentBundleClient>> ContentBundleClients;
58
59 UPROPERTY(Config)
60 TSoftClassPtr<UContentBundleTypeFactory> ContentBundleTypeFactoryClass;
61
63 TObjectPtr<UContentBundleTypeFactory> ContentBundleTypeFactory;
64
65#if WITH_EDITOR
66 // @todo_ow: This will no longer be needed once we move ContentBundles to External Data Layers but currently the ActorPartitionSubsystem needs to get the current ContentBundleGuid to build a proper actor name
68#endif
69};
constexpr auto MakeArrayView(OtherRangeType &&Other)
Definition ArrayView.h:873
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Engine.Build.cs:7
Definition ContentBundleClient.h:35
Definition SubsystemCollection.h:15
Definition ArrayView.h:139
Definition Array.h:670
Definition SharedPointer.h:692
Definition SoftObjectPtr.h:763
Definition ContentBundleDescriptor.h:16
Definition ContentBundleEngineSubsystem.h:19
TArrayView< TSharedPtr< FContentBundleClient > > GetContentBundleClients()
Definition ContentBundleEngineSubsystem.h:42
FContentBundleEventDelegate OnContentBundleClientRequestedContentInjection
Definition ContentBundleEngineSubsystem.h:39
FContentBundleRegisterDelegate OnContentBundleClientRegistered
Definition ContentBundleEngineSubsystem.h:35
DECLARE_MULTICAST_DELEGATE_OneParam(FContentBundleRegisterDelegate, TSharedPtr< FContentBundleClient > &)
FContentBundleEventDelegate OnContentBundleClientRequestedContentRemoval
Definition ContentBundleEngineSubsystem.h:40
FContentBundleEventDelegate OnContentBundleClientUnregistered
Definition ContentBundleEngineSubsystem.h:38
DECLARE_MULTICAST_DELEGATE_OneParam(FContentBundleEventDelegate, FContentBundleClient &)
Definition ContentBundleTypeFactory.h:15
Definition EngineSubsystem.h:22
Definition WorldPartitionRuntimeHash.h:61
Definition World.h:918
Definition Guid.h:109
Definition WorldInitializationValues.h:9
Definition ObjectPtr.h:488