UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PluginDescriptor.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 "CustomBuildSteps.h"
10#include "HAL/Platform.h"
12#include "Misc/CoreDelegates.h"
13#include "Misc/Optional.h"
14#include "ModuleDescriptor.h"
19#include "VerseScope.h"
20
21class FJsonObject;
22class FJsonValue;
23class FText;
24
29{
31 Enabled,
33};
34
39{
44
47 FString VersionName;
48
50 FString FriendlyName;
51
53 FString Description;
54
56 FString Category;
57
59 FString CreatedBy;
60
62 FString CreatedByURL;
63
65 FString DocsURL;
66
69
71 FString SupportURL;
72
75
78
82
85
88
91
94
96 FString VersePath;
97
100
103
107
109 bool bEnableSceneGraph = false;
110
113
115 bool bEnableIAD = false;
116
119
122
125
128
131
134
137
140
143
146
149
152
155
158
161
164
167
168
169#if WITH_EDITOR
172
175
178#endif
179
181 static PROJECTS_API const FString& GetFileExtension();
182
185
187 PROJECTS_API bool Load(const TCHAR* FileName, FText* OutFailReason = nullptr);
188
190 PROJECTS_API bool Load(const FString& FileName, FText* OutFailReason = nullptr);
191
193 PROJECTS_API bool Load(const FString& FileName, FText& OutFailReason);
194
195 /* Reads the descriptor using the global CustomPluginDescriptorReaderDelegate */
197
199 PROJECTS_API bool Read(const FString& Text, FText* OutFailReason = nullptr);
200
202 PROJECTS_API bool Read(const FString& Text, FText& OutFailReason);
203
205 PROJECTS_API bool Read(const FJsonObject& Object, FText* OutFailReason = nullptr);
206
209
211 PROJECTS_API bool Save(const TCHAR* FileName, FText* OutFailReason = nullptr) const;
212
214 PROJECTS_API bool Save(const FString& FileName, FText* OutFailReason = nullptr) const;
215
217 PROJECTS_API bool Save(const FString& FileName, FText& OutFailReason) const;
218
220 PROJECTS_API void Write(FString& Text) const;
221
223 PROJECTS_API void Write(TJsonWriter<>& Writer) const;
224
226 PROJECTS_API void UpdateJson(FJsonObject& JsonObject) const;
227
232 PROJECTS_API bool UpdatePluginFile(const FString& FileName, FText* OutFailReason = nullptr) const;
233
238 PROJECTS_API bool UpdatePluginFile(const FString& FileName, FText& OutFailReason) const;
239
241 PROJECTS_API bool SupportsTargetPlatform(const FString& Platform) const;
242
243 // Custom hook for providing a plugin descriptor (as an FJsonObject) based on a filename
244 DECLARE_DELEGATE_RetVal_FourParams(bool, FPluginDescriptorReaderDelegate, const TCHAR*/*Filename*/, FText*/*OutFailReason*/, TSharedPtr<FJsonObject>&/*OutJson*/, bool&/*OutRetryWithNative*/);
246};
247
249{
250 PROJECTS_API bool ReadFile(const TCHAR* FileName, FString& Text, FText* OutFailReason = nullptr);
252}
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
EPluginEnabledByDefault
Definition PluginDescriptor.h:29
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition JsonObject.h:23
Definition JsonValue.h:22
Definition Text.h:385
Definition Array.h:670
Definition JsonWriter.h:85
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Type
Definition VerseScope.h:15
@ PublicUser
Definition VerseScope.h:18
Definition PluginDescriptor.cpp:15
TSharedPtr< FJsonObject > DeserializeJson(const FString &Text, FText *OutFailReason)
Definition PluginDescriptor.cpp:42
bool ReadFile(const TCHAR *FileName, FString &Text, FText *OutFailReason)
Definition PluginDescriptor.cpp:16
Definition CustomBuildSteps.h:17
Definition PluginDescriptor.h:39
bool bInstalled
Definition PluginDescriptor.h:133
bool bExplicitlyLoaded
Definition PluginDescriptor.h:148
FString FriendlyName
Definition PluginDescriptor.h:50
static PROJECTS_API FPluginDescriptorReaderDelegate CustomPluginDescriptorReaderDelegate
Definition PluginDescriptor.h:245
bool bEnableIAD
Definition PluginDescriptor.h:115
EPluginEnabledByDefault EnabledByDefault
Definition PluginDescriptor.h:118
bool bIsHidden
Definition PluginDescriptor.h:139
bool bEnableVerseAssetReflection
Definition PluginDescriptor.h:112
PROJECTS_API bool UpdatePluginFile(const FString &FileName, FText *OutFailReason=nullptr) const
Definition PluginDescriptor.cpp:685
bool bCanContainVerse
Definition PluginDescriptor.h:124
FString ParentPluginName
Definition PluginDescriptor.h:87
PROJECTS_API bool ReadWithCustomPluginDescriptorReader(const TCHAR *FileName, FText *OutFailReason=nullptr)
Definition PluginDescriptor.cpp:134
FCustomBuildSteps PreBuildSteps
Definition PluginDescriptor.h:157
FString CreatedByURL
Definition PluginDescriptor.h:62
FString SupportURL
Definition PluginDescriptor.h:71
FString CreatedBy
Definition PluginDescriptor.h:59
bool bRequiresBuildPlatform
Definition PluginDescriptor.h:136
TOptional< uint32 > VerseVersion
Definition PluginDescriptor.h:106
TArray< FModuleDescriptor > Modules
Definition PluginDescriptor.h:90
TArray< FLocalizationTargetDescriptor > LocalizationTargets
Definition PluginDescriptor.h:93
DECLARE_DELEGATE_RetVal_FourParams(bool, FPluginDescriptorReaderDelegate, const TCHAR *, FText *, TSharedPtr< FJsonObject > &, bool &)
FString EngineVersion
Definition PluginDescriptor.h:74
FString Category
Definition PluginDescriptor.h:56
bool bIsBetaVersion
Definition PluginDescriptor.h:127
FString VersionName
Definition PluginDescriptor.h:47
FString DocsURL
Definition PluginDescriptor.h:65
bool bIsPluginExtension
Definition PluginDescriptor.h:154
FString Description
Definition PluginDescriptor.h:53
int32 Version
Definition PluginDescriptor.h:43
FString EditorCustomVirtualPath
Definition PluginDescriptor.h:77
bool bNoCode
Definition PluginDescriptor.h:145
static PROJECTS_API const FString & GetFileExtension()
Definition PluginDescriptor.cpp:74
bool bIsSealed
Definition PluginDescriptor.h:142
FString VersePath
Definition PluginDescriptor.h:96
FCustomBuildSteps PostBuildSteps
Definition PluginDescriptor.h:160
PROJECTS_API FPluginDescriptor()
Definition PluginDescriptor.cpp:80
PROJECTS_API bool SupportsTargetPlatform(const FString &Platform) const
Definition PluginDescriptor.cpp:734
TArray< FString > SupportedTargetPlatforms
Definition PluginDescriptor.h:81
TArray< FString > SupportedPrograms
Definition PluginDescriptor.h:84
bool bCanContainContent
Definition PluginDescriptor.h:121
bool bIsExperimentalVersion
Definition PluginDescriptor.h:130
TArray< FPluginReferenceDescriptor > Plugins
Definition PluginDescriptor.h:163
FString DeprecatedEngineVersion
Definition PluginDescriptor.h:99
bool bEnableSceneGraph
Definition PluginDescriptor.h:109
FString MarketplaceURL
Definition PluginDescriptor.h:68
TArray< FPluginDisallowedDescriptor > DisallowedPlugins
Definition PluginDescriptor.h:166
bool bHasExplicitPlatforms
Definition PluginDescriptor.h:151
PROJECTS_API void UpdateJson(FJsonObject &JsonObject) const
Definition PluginDescriptor.cpp:466
EVerseScope::Type VerseScope
Definition PluginDescriptor.h:102
Definition Optional.h:131