UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LevelStreaming.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "UObject/Object.h"
10#include "LatentActions.h"
14#include "Misc/Timeout.h"
15
16#if WITH_EDITOR
17#include "Folder.h"
18#include "Misc/Optional.h"
19#endif
20
23class ULevel;
24class ULevelStreaming;
27
33
49
51
52// Stream Level Action
54{
55public:
61
63
65
72
80
95
96 ENGINE_API virtual void UpdateOperation(FLatentResponse& Response) override;
97
98#if WITH_EDITOR
99 // Returns a human readable description of the latent operation's current state
100 ENGINE_API virtual FString GetDescription() const override;
101#endif
102};
103
104#include "LevelStreaming.generated.h"
105
106// Delegate signatures
109
122
131
137UCLASS(abstract, editinlinenew, BlueprintType, Within=World, MinimalAPI)
139{
141
142 enum class UE_DEPRECATED(5.2, "ULevelStreaming::ECurrentState has been replaced by ELevelStreamingState")
144 {
153 };
157 {
158 return A == (ELevelStreamingState)B;
159 }
165 {
166 return A != (ELevelStreamingState)B;
167 }
173
174 static ULevelStreaming* FindStreamingLevel(const ULevel* Level);
175 static ENGINE_API void RemoveLevelAnnotation(const ULevel* Level);
176
177 // Annotation for fast inverse lookup
178 struct FLevelAnnotation
179 {
180 FLevelAnnotation() {}
182
183 inline bool IsDefault()
184 {
185 return !LevelStreaming;
186 }
187
189 };
190
192
193
194#if WITH_EDITORONLY_DATA
196 UPROPERTY()
197 FName PackageName_DEPRECATED;
198#endif
199
200protected:
202 UPROPERTY(Category=LevelStreaming, VisibleAnywhere, BlueprintReadOnly, meta=(DisplayName = "Level", AllowPrivateAccess="true"))
204
206 UPROPERTY(EditAnywhere, Category = LevelStreaming, BlueprintSetter = SetPriority)
208
209private:
210 TOptional<int32> StreamingPriorityOverrideBackup;
211
212public:
213
215 UPROPERTY()
216 FName PackageNameToLoad;
217
219 UPROPERTY()
220 TArray<FName> LODPackageNames;
221
223 TArray<FName> LODPackageNamesToLoad;
224
226 UPROPERTY(EditAnywhere, Category=LevelStreaming, BlueprintReadWrite)
227 FTransform LevelTransform;
228
230 UPROPERTY()
231 bool bClientOnlyVisible;
232
233#if WITH_EDITORONLY_DATA
236 TWeakObjectPtr<UObject> EditorPathOwner;
237#endif
238
239private:
240
242 UPROPERTY(transient, Category = LevelStreaming, BlueprintSetter = SetLevelLODIndex)
243 int32 LevelLODIndex;
244
246 uint8 bIsRequestingUnloadAndRemoval:1;
247
248 /* Whether CachedWorldAssetPackageFName is valid */
249 mutable uint8 bHasCachedWorldAssetPackageFName:1;
250
251 /* Whether CachedLoadedLevelPackageName is valid */
252 mutable uint8 bHasCachedLoadedLevelPackageName:1;
253
254#if WITH_EDITORONLY_DATA
256 UPROPERTY()
258#endif
259
261 UPROPERTY(Category=LevelStreaming, BlueprintSetter=SetShouldBeVisible)
262 uint8 bShouldBeVisible:1;
263
264protected:
266 UPROPERTY(Category=LevelStreaming, BlueprintSetter=SetShouldBeLoaded, BlueprintGetter=ShouldBeLoaded)
267 uint8 bShouldBeLoaded:1;
268
270 uint8 bSkipClientUseMakingInvisibleTransactionRequest:1;
271
273 uint8 bSkipClientUseMakingVisibleTransactionRequest:1;
274
276 FPackagePath LastAsyncLoadPackagePath;
277
279 TArray<int32> AsyncRequestIDs;
280
281private:
283 mutable FTransactionallySafeRWLock CurrentStateLock;
284
286 ELevelStreamingState CurrentState;
287
289 ELevelStreamingTargetState TargetState;
290
291public:
292
294 UPROPERTY()
295 uint8 bLocked:1;
296
301 UPROPERTY(EditDefaultsOnly, Category=LevelStreaming)
302 uint8 bIsStatic:1;
303
305 UPROPERTY(Category=LevelStreaming, BlueprintReadWrite)
306 uint8 bShouldBlockOnLoad:1;
307
309 UPROPERTY(Category=LevelStreaming, BlueprintReadWrite)
310 uint8 bShouldBlockOnUnload:1;
311
316 UPROPERTY(transient, Category=LevelStreaming, BlueprintReadWrite)
317 uint8 bDisableDistanceStreaming:1;
318
320 UPROPERTY(EditAnywhere, AdvancedDisplay, Category = LevelStreaming)
321 uint8 bDrawOnLevelStatusMap : 1;
322
324 uint8 bGarbageCollectionClusteringEnabled : 1;
325
326#if WITH_EDITORONLY_DATA
328 UPROPERTY()
330#endif
331
333 UPROPERTY(EditAnywhere, Category = LevelStreaming)
334 FLinearColor LevelColor;
335
337 UPROPERTY(EditAnywhere, Category=LevelStreaming, meta=(DisplayName = "Streaming Volumes", NoElementDuplicate))
338 TArray<TObjectPtr<ALevelStreamingVolume>> EditorStreamingVolumes;
339
341 UPROPERTY(EditAnywhere, AdvancedDisplay, Category=LevelStreaming, meta=(ClampMin = "0", UIMin = "0", UIMax = "10"))
342 float MinTimeBetweenVolumeUnloadRequests;
343
345 float LastVolumeUnloadRequestTime;
346
347#if WITH_EDITORONLY_DATA
349 UPROPERTY()
350 TArray<FString> Keywords;
351#endif
352
353 //~ Begin UObject Interface
354 ENGINE_API virtual void PostLoad() override;
355 ENGINE_API virtual void Serialize( FArchive& Ar ) override;
356 virtual const IWorldPartitionCell* GetWorldPartitionCell() const { return nullptr; }
357#if WITH_EDITOR
358 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
359
362#endif
363 //~ End UObject Interface
364
367 UE_DEPRECATED(5.2, "ULevelStreaming::ECurrentState has been replaced by ELevelStreamingState. Use GetLevelStreamingState instead.")
368 ECurrentState GetCurrentState() const { return (ECurrentState)GetLevelStreamingState(); }
370
371 ENGINE_API ELevelStreamingState GetLevelStreamingState() const;
372
373protected:
375 ENGINE_API void SetCurrentState(ELevelStreamingState NewState);
376
381 ENGINE_API virtual bool RequestVisibilityChange(bool bVisible);
382
384 ENGINE_API bool CanMakeVisible();
385
387 ENGINE_API bool CanMakeInvisible();
388
389private:
390
392 ENGINE_API bool ShouldClientUseMakingInvisibleTransactionRequest() const;
394 ENGINE_API bool ShouldClientUseMakingVisibleTransactionRequest() const;
396 ENGINE_API bool ShouldWaitForServerAckBeforeChangingVisibilityState(ENetLevelVisibilityRequest InRequestType);
399
401 ENGINE_API ELevelStreamingTargetState DetermineTargetState() const;
402
404 ENGINE_API bool UpdateTargetState();
405
408
410 ENGINE_API void OnLevelAdded();
411
413 ENGINE_API void OnLevelRemoved();
414
416 ENGINE_API bool IsDesiredLevelLoaded() const;
417
418public:
419
421 ENGINE_API void BeginClientNetVisibilityRequest(bool bInShouldBeVisible);
422
424 ENGINE_API bool IsWaitingForNetVisibilityTransactionAck(ENetLevelVisibilityRequest InRequestType = ENetLevelVisibilityRequest::MakingInvisible) const;
425
427 ENGINE_API void UpdateNetVisibilityTransactionState(bool bInShouldBeVisible, FNetLevelVisibilityTransactionId TransactionId);
428
430 bool GetShouldBeVisibleFlag() const { return bShouldBeVisible; }
431
433 UFUNCTION(BlueprintSetter)
434 ENGINE_API void SetShouldBeVisible(bool bInShouldBeVisible);
435
437 virtual bool ShouldRequireFullVisibilityToRender() const { return LODPackageNames.Num() > 0; }
438
440 virtual bool CanReplicateStreamingStatus() const { return true; }
441
446 UFUNCTION(BlueprintSetter)
447 ENGINE_API virtual void SetShouldBeLoaded(bool bInShouldBeLoaded);
448
450 int32 GetLevelLODIndex() const { return LevelLODIndex; }
451
453 UFUNCTION(BlueprintSetter)
454 ENGINE_API void SetLevelLODIndex(int32 LODIndex);
455
458
460 UFUNCTION(BlueprintSetter)
461 ENGINE_API void SetPriority(int32 NewPriority);
462
464 ENGINE_API void SetPriorityOverride(int32 PriorityOverride);
465
467 ENGINE_API void ResetPriorityOverride();
468
470 bool HasLoadRequestPending() const { return CurrentState == ELevelStreamingState::Loading; }
471
473 bool HasLoadedLevel() const
474 {
475 return (LoadedLevel || PendingUnloadLevel);
476 }
477
480 {
481 return AsyncRequestIDs;
482 }
483
485 UFUNCTION(BlueprintPure, Category = LevelStreaming)
486 bool GetIsRequestingUnloadAndRemoval() const { return bIsRequestingUnloadAndRemoval; }
487
489 UFUNCTION(BlueprintCallable, Category = LevelStreaming)
490 ENGINE_API void SetIsRequestingUnloadAndRemoval(bool bInIsRequestingUnloadAndRemoval);
491
492#if WITH_EDITORONLY_DATA
495#endif
496#if WITH_EDITOR
499
501 virtual bool ShowInLevelCollection() const { return true; }
502
504 virtual bool IsUserManaged() const { return true; }
505#endif
506
508 const TSoftObjectPtr<UWorld>& GetWorldAsset() const { return WorldAsset; }
509
511 ENGINE_API virtual void SetWorldAsset(const TSoftObjectPtr<UWorld>& NewWorldAsset);
512
514 ENGINE_API FString GetWorldAssetPackageName() const;
515
517 UFUNCTION(BlueprintCallable, Category = "Game")
518 ENGINE_API virtual FName GetWorldAssetPackageFName() const;
519
521 ENGINE_API void SetWorldAssetByPackageName(FName InPackageName);
522
524 ENGINE_API void RenameForPIE(int PIEInstanceID, bool bKeepWorldAssetName = false);
525
535 UFUNCTION(BlueprintGetter)
536 virtual bool ShouldBeLoaded() const { return true; }
537
544 ENGINE_API virtual bool ShouldBeVisible() const;
545
546 virtual bool ShouldBlockOnUnload() const { return bShouldBlockOnUnload; }
547
548 virtual bool ShouldBeAlwaysLoaded() const { return false; }
549
551 ENGINE_API FBox GetStreamingVolumeBounds();
552
554 UFUNCTION(BlueprintCallable, Category="Game")
555 ULevel* GetLoadedLevel() const { return LoadedLevel; }
556
558 void ClearLoadedLevel() { SetLoadedLevel(nullptr); }
559
560#if WITH_EDITOR
562 ENGINE_API virtual void PostEditUndo() override;
563#endif
564
567 {
569 : PackageName( InPackageName )
570 {
571 }
572
573 bool operator()(const ULevelStreaming* Candidate) const
574 {
575 return Candidate->GetWorldAssetPackageFName() == PackageName;
576 }
577
579 };
580
581 ENGINE_API virtual UWorld* GetWorld() const override final;
582
584 ENGINE_API virtual UWorld* GetStreamingWorld() const;
585
587 UFUNCTION(BlueprintCallable, Category="Game")
588 ENGINE_API bool IsLevelVisible() const;
589
591 UFUNCTION(BlueprintCallable, Category="Game")
592 bool IsLevelLoaded() const { return (LoadedLevel != nullptr); }
593
595 UFUNCTION(BlueprintCallable, Category="Game")
596 ENGINE_API bool IsStreamingStatePending() const;
597
599 UFUNCTION(BlueprintCallable, Category="Game")
600 ENGINE_API ULevelStreaming* CreateInstance(const FString& UniqueInstanceName);
601
603 UFUNCTION(BlueprintPure, meta = (BlueprintInternalUseOnly = "true"))
604 ENGINE_API ALevelScriptActor* GetLevelScriptActor();
605
607 ENGINE_API bool IsValidStreamingLevel() const;
608
610 ENGINE_API EStreamingStatus GetLevelStreamingStatus() const;
611
613 static ENGINE_API FColor GetLevelStreamingStatusColor(EStreamingStatus Status);
614
616 static ENGINE_API const TCHAR* GetLevelStreamingStatusDisplayName(EStreamingStatus Status);
617
619 static ENGINE_API void DebugDrawLegend(const UWorld* World, class UCanvas* Canvas, const FVector2D& Offset);
620
621#if WITH_EDITOR
623 ENGINE_API const FName& GetFolderPath() const;
624
627
629#endif // WITH_EDITOR
630
631 //~==============================================================================================
632 // Delegates
633
635 UPROPERTY(BlueprintAssignable)
637
639 UPROPERTY(BlueprintAssignable)
641
643 UPROPERTY(BlueprintAssignable)
645
647 UPROPERTY(BlueprintAssignable)
649
651 static ENGINE_API bool DefaultAllowClientUseMakingInvisibleTransactionRequests();
652
654 static ENGINE_API bool DefaultAllowClientUseMakingVisibleTransactionRequests();
655
657 static ENGINE_API bool ShouldServerUseMakingVisibleTransactionRequest();
658
660 static ENGINE_API bool ShouldReuseUnloadedButStillAroundLevels(const ULevel* InLevel);
661
663 static ENGINE_API bool AllowIncrementalRemovalWhilePendingVisibility();
664
672 static ENGINE_API void BroadcastLevelLoadedStatus(UWorld* PersistentWorld, FName LevelPackageName, bool bLoaded);
673
681 static ENGINE_API void BroadcastLevelVisibleStatus(UWorld* PersistentWorld, FName LevelPackageName, bool bVisible);
682
692
693#if WITH_EDITOR
694 // After a sub level is reloaded in the editor the cache state needs to be refreshed
697#endif
698
699protected:
708 ENGINE_API virtual bool RequestLevel(UWorld* PersistentWorld, bool bAllowLevelLoadRequests, EReqLevelBlock BlockPolicy);
709
712
714 ENGINE_API virtual void SetLoadedLevel(ULevel* Level);
715
717 virtual void OnLevelLoadedChanged(ULevel* Level) {}
718
721
723 bool ValidateUniqueWorldAsset(UWorld* PersistentWorld);
724
725 ENGINE_API void OnLoadingStarted();
726 ENGINE_API void OnLoadingFinished();
727
729 ENGINE_API FName GetLoadedLevelPackageName() const;
730
733 TObjectPtr<class ULevel> LoadedLevel;
734
737 TObjectPtr<class ULevel> PendingUnloadLevel;
738
739private:
741 ENGINE_API FName GetLODPackageName() const;
742
744 ENGINE_API FName GetLODPackageNameToLoad() const;
745
747 ENGINE_API void DiscardPendingUnloadLevel(UWorld* PersistentWorld);
748
754 ENGINE_API void AsyncLevelLoadComplete(const FName& PackageName, UPackage* LevelPackage, EAsyncLoadingResult::Type Result);
755
756#if WITH_EDITORONLY_DATA
759 UPROPERTY()
761#endif // WITH_EDITORONLY_DATA
762
764 mutable FName CachedWorldAssetPackageFName;
765
767 mutable FName CachedLoadedLevelPackageName;
768
770 FNetLevelVisibilityState NetVisibilityState;
771
773 ENGINE_API bool IsConcernedByNetVisibilityTransactionAck() const;
774
776 ENGINE_API void ServerUpdateLevelVisibility(bool bIsVisible, bool bTryMakeVisible = false, FNetLevelVisibilityTransactionId TransactionId = FNetLevelVisibilityTransactionId());
777
780};
781
784{
785private:
786 static void Call(ULevelStreaming* StreamingLevel, FNetLevelVisibilityTransactionId TransactionId, bool bClientAckCanMakeVisibleResponse)
787 {
788 StreamingLevel->AckNetVisibilityTransaction(TransactionId, bClientAckCanMakeVisibleResponse);
789 }
790 friend class APlayerController;
791};
792
794{
795private:
796
798 static void SetLoadedLevel(ULevelStreaming* StreamingLevel, ULevel* Level) { StreamingLevel->SetLoadedLevel(Level); }
802 static void OnLevelAdded(ULevelStreaming* StreamingLevel) { StreamingLevel->OnLevelAdded(); }
804 static void OnLevelRemoved(ULevelStreaming* StreamingLevel) { StreamingLevel->OnLevelRemoved(); }
806 static bool UpdateTargetState(ULevelStreaming* StreamingLevel) { return StreamingLevel->UpdateTargetState(); }
808 static void UpdateStreamingState(ULevelStreaming* StreamingLevel, bool& bOutUpdateAgain, bool& bOutRedetermineTarget, const TOptional<const UE::FTimeout>& InExternalTimeout) { StreamingLevel->UpdateStreamingState(bOutUpdateAgain, bOutRedetermineTarget, InExternalTimeout); }
809
811 friend class UEngine;
812 friend class UWorld;
813};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DYNAMIC_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:38
return true
Definition ExternalRpcRegistry.cpp:601
auto Response
Definition ExternalRpcRegistry.cpp:598
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
ENGINE_API const TCHAR * EnumToString(ELevelStreamingState InState)
Definition LevelStreaming.cpp:1246
ELevelStreamingState
Definition LevelStreaming.h:111
ENetLevelVisibilityRequest
Definition LevelStreaming.h:29
ELevelStreamingTargetState
Definition LevelStreaming.h:124
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
EStreamingStatus
Definition ProfilingHelpers.h:16
uint32 Offset
Definition VulkanMemory.cpp:4033
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition LevelStreamingVolume.h:30
Definition PlayerController.h:261
Definition Archive.h:1208
Definition NameTypes.h:617
Definition PackagePath.h:89
Definition LatentActions.h:73
Definition LevelStreaming.h:54
static ENGINE_API FString MakeSafeLevelName(const FName &InLevelName, UWorld *InWorld)
Definition LevelStreaming.cpp:277
ENGINE_API void ActivateLevel(ULevelStreaming *LevelStreamingObject)
Definition LevelStreaming.cpp:303
static ENGINE_API ULevelStreaming * FindAndCacheLevelStreamingObject(const FName LevelName, UWorld *InWorld)
Definition LevelStreaming.cpp:244
FName LevelName
Definition LevelStreaming.h:60
virtual ENGINE_API void UpdateOperation(FLatentResponse &Response) override
Definition LevelStreaming.cpp:215
FLatentActionInfo LatentInfo
Definition LevelStreaming.h:62
bool bMakeVisibleAfterLoad
Definition LevelStreaming.h:57
TWeakObjectPtr< ULevelStreaming > Level
Definition LevelStreaming.h:59
ENGINE_API bool UpdateLevel(ULevelStreaming *LevelStreamingObject)
Definition LevelStreaming.cpp:365
bool bLoading
Definition LevelStreaming.h:56
bool bShouldBlock
Definition LevelStreaming.h:58
Definition UObjectAnnotation.h:33
Definition WorldPartitionRuntimeCellInterface.h:19
Definition Array.h:670
Definition Canvas.h:159
Definition CriticalSection.h:14
Definition Engine.h:711
Definition LevelStreaming.h:139
virtual const IWorldPartitionCell * GetWorldPartitionCell() const
Definition LevelStreaming.h:356
virtual ENGINE_API bool RequestLevel(UWorld *PersistentWorld, bool bAllowLevelLoadRequests, EReqLevelBlock BlockPolicy)
Definition LevelStreaming.cpp:1551
friend bool operator==(ELevelStreamingState A, ECurrentState B)
Definition LevelStreaming.h:156
friend bool operator!=(ELevelStreamingState A, ECurrentState B)
Definition LevelStreaming.h:164
virtual bool ShouldBeAlwaysLoaded() const
Definition LevelStreaming.h:548
const TArray< int32 > & GetAsyncRequestIDs() const
Definition LevelStreaming.h:479
virtual void OnCurrentStateChanged(ELevelStreamingState OldState, ELevelStreamingState NewState)
Definition LevelStreaming.h:720
friend bool operator==(ECurrentState A, ELevelStreamingState B)
Definition LevelStreaming.h:160
friend bool operator!=(ECurrentState A, ELevelStreamingState B)
Definition LevelStreaming.h:168
virtual bool ShouldBlockOnUnload() const
Definition LevelStreaming.h:546
virtual ENGINE_API void SetLoadedLevel(ULevel *Level)
Definition LevelStreaming.cpp:1367
virtual bool ShouldRequireFullVisibilityToRender() const
Definition LevelStreaming.h:437
EReqLevelBlock
Definition LevelStreaming.h:684
@ BlockAlwaysLoadedLevelsOnly
Definition LevelStreaming.h:686
@ AlwaysBlock
Definition LevelStreaming.h:688
@ NeverBlock
Definition LevelStreaming.h:690
int32 GetLevelLODIndex() const
Definition LevelStreaming.h:450
void ClearLoadedLevel()
Definition LevelStreaming.h:558
bool GetShouldBeVisibleFlag() const
Definition LevelStreaming.h:430
virtual void OnLevelLoadedChanged(ULevel *Level)
Definition LevelStreaming.h:717
bool HasLoadRequestPending() const
Definition LevelStreaming.h:470
bool HasLoadedLevel() const
Definition LevelStreaming.h:473
virtual bool CanReplicateStreamingStatus() const
Definition LevelStreaming.h:440
int32 GetPriority() const
Definition LevelStreaming.h:457
const TSoftObjectPtr< UWorld > & GetWorldAsset() const
Definition LevelStreaming.h:508
Definition Level.h:423
Definition Object.h:95
Definition Package.h:216
Definition World.h:918
Definition UObjectGlobals.h:692
Definition AsyncRegisterLevelContext.cpp:16
@ false
Definition radaudio_common.h:23
Definition LevelStreaming.h:784
Definition Color.h:486
Definition LatentActionManager.h:19
Definition LatentActions.h:10
Definition Color.h:48
Definition LevelStreaming.h:35
bool bHasClientPendingRequest
Definition LevelStreaming.h:41
TOptional< bool > ClientAckedRequestCanMakeVisible
Definition LevelStreaming.h:36
void InvalidateClientPendingRequest()
Definition LevelStreaming.h:43
TOptional< ENetLevelVisibilityRequest > PendingRequestType
Definition LevelStreaming.h:37
uint32 ClientPendingRequestIndex
Definition LevelStreaming.h:39
uint32 ServerRequestIndex
Definition LevelStreaming.h:38
uint32 ClientAckedRequestIndex
Definition LevelStreaming.h:40
Definition UpdateLevelVisibilityLevelInfo.h:10
Definition UnrealType.h:6865
Definition LevelStreaming.h:794
Definition ObjectPtr.h:488
Definition Optional.h:131
void Reset()
Definition Optional.h:306
Definition SoftObjectPtr.h:174
Definition WeakObjectPtrTemplates.h:25
Definition LevelStreaming.h:567
FName PackageName
Definition LevelStreaming.h:578
FPackageNameMatcher(const FName &InPackageName)
Definition LevelStreaming.h:568
bool operator()(const ULevelStreaming *Candidate) const
Definition LevelStreaming.h:573