Files
UnrealEngineUWP/Engine/Source/Editor/LevelInstanceEditor/Public/LevelInstanceEditorSettings.h
jeanfrancois dube 9880e2bf15 Level Instance:
- Exposed the runtime behavior so we can now place level instances referencing partitioned worlds that will be streamed at runtime instead of embedded in the container world.
  - Don't allow edit in place for partitioned level instance worlds that have streaming disabled, as we load the entire level when doing so and could result in out of memory situations.
  - Added a message box when trying to edit a level instance that can't be edited in place with the reason.
  - Can be reenabled by setting LevelInstanceEditorSettings.bEnableEditInPlaceStreamingEnabled to true.

#rb Patrick.Enfedaque, Richard.Malo

[CL 29784110 by jeanfrancois dube in ue5-main branch]
2023-11-16 13:35:30 -05:00

55 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Object.h"
#include "Editor/UnrealEdEngine.h"
#include "Engine/DeveloperSettings.h"
#include "LevelInstance/LevelInstanceTypes.h"
#include "LevelInstanceEditorSettings.generated.h"
UCLASS(config = Editor, defaultconfig, meta = (DisplayName = "Level Instance"))
class ULevelInstanceEditorSettings : public UDeveloperSettings
{
GENERATED_BODY()
public:
ULevelInstanceEditorSettings();
/** List of info for all known LevelInstance template maps */
UPROPERTY(config)
TArray<FTemplateMapInfo> TemplateMapInfos;
UPROPERTY(config)
FString LevelInstanceClassName;
UPROPERTY(config, EditAnywhere, Category="World Partition", meta = (ToolTip="Create World Partition Level Instances with Streaming Enabled/Disabled by default"))
bool bEnableStreaming;
UPROPERTY(config, EditAnywhere, Category="World Partition", meta = (ToolTip="Allow Editing Level Instances with Streaming Enabled"))
bool bIsEditInPlaceStreamingEnabled;
};
UCLASS(config = EditorPerProjectUserSettings, meta = (DisplayName = "Level Instance"))
class ULevelInstanceEditorPerProjectUserSettings : public UDeveloperSettings
{
GENERATED_BODY()
public:
ULevelInstanceEditorPerProjectUserSettings();
static void UpdateFrom(const FNewLevelInstanceParams& Params);
/** Gets the category for the settings, some high level grouping like, Editor, Engine, Game...etc. */
virtual FName GetCategoryName() const override { return TEXT("ContentEditors"); }
/** If false, create dialog will not be shown and last settings will be used. */
UPROPERTY(config, EditAnywhere, Category = Create)
bool bAlwaysShowDialog;
UPROPERTY(config, EditAnywhere, Category = Pivot)
ELevelInstancePivotType PivotType;
};