Files
ben marsh 583aa01bf7 LiveCoding: Add support for lazy loading modules. This lets us enable live coding for the entire engine without a large startup penalty. Project modules are still preloaded by default.
#rb none
#jira

#ROBOMERGE-SOURCE: CL 5437980 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5437990 by ben marsh in Main branch]
2019-03-18 18:07:05 -04:00

46 lines
1.7 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/Object.h"
#include "LiveCodingSettings.generated.h"
UENUM()
enum class ELiveCodingStartupMode : uint8
{
Automatic UMETA(DisplayName = "Start automatically and show console"),
AutomaticButHidden UMETA(DisplayName = "Start automatically but hide console until summoned"),
Manual UMETA(DisplayName = "Manual"),
};
UCLASS(config=EditorPerProjectUserSettings, meta=(DisplayName="Live Coding"))
class ULiveCodingSettings : public UObject
{
GENERATED_BODY()
public:
UPROPERTY(config, EditAnywhere, Category=General, Meta=(ConfigRestartRequired=true, DisplayName="Enable Live Coding"))
bool bEnabled;
UPROPERTY(config, EditAnywhere, Category=General, Meta=(ConfigRestartRequired=true, EditCondition="bEnabled"))
ELiveCodingStartupMode Startup;
UPROPERTY(config, EditAnywhere, Category=Modules, Meta=(ConfigRestartRequired=true, EditCondition="bEnabled"))
bool bPreloadEngineModules;
UPROPERTY(config, EditAnywhere, Category=Modules, Meta=(ConfigRestartRequired=true, EditCondition="bEnabled"))
bool bPreloadEnginePluginModules;
UPROPERTY(config, EditAnywhere, Category=Modules, Meta=(ConfigRestartRequired=true, EditCondition="bEnabled"))
bool bPreloadProjectModules;
UPROPERTY(config, EditAnywhere, Category=Modules, Meta=(ConfigRestartRequired=true, EditCondition="bEnabled"))
bool bPreloadProjectPluginModules;
UPROPERTY(config, EditAnywhere, Category=Modules, Meta=(ConfigRestartRequired=true, EditCondition="bEnabled"))
TArray<FName> PreloadNamedModules;
ULiveCodingSettings(const FObjectInitializer& Initializer);
};