Files
UnrealEngine/Engine/Source/Runtime/Projects/Public/PluginManifest.h
2025-05-18 13:04:45 +08:00

39 lines
956 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/Array.h"
#include "Containers/UnrealString.h"
#include "CoreMinimal.h"
#include "PluginDescriptor.h"
class FJsonObject;
class FText;
/**
* Descriptor for plugins. Contains all the information contained within a .uplugin file.
*/
struct FPluginManifestEntry
{
/** Normalized path to the plugin file */
FString File;
/** The plugin descriptor */
FPluginDescriptor Descriptor;
};
/**
* Manifest of plugins. Descriptor for plugins. Contains all the information contained within a .uplugin file.
*/
struct FPluginManifest
{
/** List of plugins in this manifest */
TArray<FPluginManifestEntry> Contents;
/** Loads the descriptor from the given file. */
PROJECTS_API bool Load(const FString& FileName, FText& OutFailReason);
/** Reads the descriptor from the given JSON object */
PROJECTS_API bool Read(const FJsonObject& Object, FText& OutFailReason);
};