UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PluginReferenceDescriptor.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "Containers/Map.h"
8#include "CoreMinimal.h"
9#include "CoreTypes.h"
10#include "CustomBuildSteps.h"
11#include "HAL/PlatformCrt.h"
12#include "HAL/PlatformMisc.h"
14#include "Misc/Optional.h"
15#include "ModuleDescriptor.h"
18
19class FJsonObject;
20class FJsonValue;
21class FText;
22
27{
29 FString Name;
30
33
36
39
41 FString Description;
42
45
48
51
54
57
60
63
66
69
72
73#if WITH_EDITOR
76
79#endif //if WITH_EDITOR
80
82 PROJECTS_API FPluginReferenceDescriptor(FString InName = TEXT(""), bool bInEnabled = false);
83
85 PROJECTS_API bool IsEnabledForPlatform(const FString& Platform) const;
86
89
92
94 PROJECTS_API bool IsSupportedTargetPlatform(const FString& Platform) const;
95
98
99 UE_DEPRECATED(5.1, "Use Read(const TSharedRef<FJsonObject>&) instead.")
100 PROJECTS_API bool Read(const FJsonObject& Object, FText* OutFailReason = nullptr, TSharedPtr<FJsonObject> ObjectPtr = nullptr);
101
102 UE_DEPRECATED(5.1, "Use Read(const TSharedRef<FJsonObject>&) instead.")
103 PROJECTS_API bool Read(const FJsonObject& Object, FText& OutFailReason, TSharedPtr<FJsonObject> ObjectPtr = nullptr);
104
107
110
112 PROJECTS_API void Write(TJsonWriter<>& Writer) const;
113
115 PROJECTS_API void UpdateJson(FJsonObject& JsonObject) const;
116
119
122
123#if WITH_EDITOR
125 PROJECTS_API bool GetAdditionalStringField(const FString& Key, FString& OutValue) const;
126#endif //if WITH_EDITOR
127};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EBuildConfiguration
Definition GenericPlatformMisc.h:59
EBuildTargetType
Definition GenericPlatformMisc.h:158
Definition JsonObject.h:23
Definition JsonValue.h:22
Definition UnrealType.h:3087
Definition Text.h:385
Definition Array.h:670
Definition JsonWriter.h:85
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition PluginReferenceDescriptor.h:27
TArray< EBuildConfiguration > TargetConfigurationDenyList
Definition PluginReferenceDescriptor.h:56
static PROJECTS_API void WriteArray(TJsonWriter<> &Writer, const TCHAR *ArrayName, const TArray< FPluginReferenceDescriptor > &Plugins)
Definition PluginReferenceDescriptor.cpp:395
TArray< FString > PlatformDenyList
Definition PluginReferenceDescriptor.h:50
TOptional< int32 > RequestedVersion
Definition PluginReferenceDescriptor.h:71
PROJECTS_API void UpdateJson(FJsonObject &JsonObject) const
Definition PluginReferenceDescriptor.cpp:222
static PROJECTS_API void UpdateArray(FJsonObject &JsonObject, const TCHAR *ArrayName, const TArray< FPluginReferenceDescriptor > &Plugins)
Definition PluginReferenceDescriptor.cpp:410
bool bEnabled
Definition PluginReferenceDescriptor.h:32
TArray< FString > PlatformAllowList
Definition PluginReferenceDescriptor.h:47
FString Name
Definition PluginReferenceDescriptor.h:29
PROJECTS_API bool IsEnabledForTargetConfiguration(EBuildConfiguration Configuration) const
Definition PluginReferenceDescriptor.cpp:87
FString MarketplaceURL
Definition PluginReferenceDescriptor.h:44
TArray< EBuildTargetType > TargetDenyList
Definition PluginReferenceDescriptor.h:62
bool bHasExplicitPlatforms
Definition PluginReferenceDescriptor.h:68
PROJECTS_API bool IsEnabledForTarget(EBuildTargetType TargetType) const
Definition PluginReferenceDescriptor.cpp:64
bool bActivate
Definition PluginReferenceDescriptor.h:38
TArray< EBuildConfiguration > TargetConfigurationAllowList
Definition PluginReferenceDescriptor.h:53
TArray< EBuildTargetType > TargetAllowList
Definition PluginReferenceDescriptor.h:59
static PROJECTS_API bool ReadArray(const FJsonObject &Object, const TCHAR *Name, TArray< FPluginReferenceDescriptor > &OutModules, FText *OutFailReason=nullptr)
Definition PluginReferenceDescriptor.cpp:196
TArray< FString > SupportedTargetPlatforms
Definition PluginReferenceDescriptor.h:65
bool bOptional
Definition PluginReferenceDescriptor.h:35
PROJECTS_API bool IsEnabledForPlatform(const FString &Platform) const
Definition PluginReferenceDescriptor.cpp:41
PROJECTS_API bool IsSupportedTargetPlatform(const FString &Platform) const
Definition PluginReferenceDescriptor.cpp:110
FString Description
Definition PluginReferenceDescriptor.h:41
Definition Optional.h:131