{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/uproject.json","additionalProperties":false,"definitions":{"BuildConfiguration":{"description":"Available build configurations. Mirrored from UnrealTargetConfiguration.","markdownDescription":"Available build configurations. Mirrored from `UnrealTargetConfiguration`.","type":"string","enum":["Unknown","Debug","DebugGame","Development","Shipping","Test"]},"BuildTargetType":{"description":"Enumerates build target types.","type":"string","enum":["Unknown","Game","Server","Client","Editor","Program"]},"ModuleDescriptor":{"description":"Description of a loadable module.","type":"object","properties":{"AdditionalDependencies":{"description":"List of additional dependencies for building this module.","type":"array","items":{"type":"string"}},"HasExplicitPlatforms":{"description":"When true, an empty PlatformAllowList is interpreted as 'no platforms' with the expectation that explicit platforms will be added in plugin extensions.","markdownDescription":"When true, an empty `PlatformAllowList` is interpreted as **no platforms** with the expectation that explicit platforms will be added in plugin extensions.","type":"boolean","default":false},"LoadingPhase":{"description":"When should the module be loaded during the startup sequence? This is sort of an advanced setting.","type":"string","enum":["EarliestPossible","PostConfigInit","PostSplashScreen","PreEarlyLoadingScreen","PreLoadingScreen","PreDefault","Default","PostDefault","PostEngineInit","None","Max"]},"Name":{"description":"Name of this module.","type":"string"},"PlatformAllowList":{"description":"List of allowed platforms.","type":"array","uniqueItems":true,"items":{"type":"string"}},"PlatformDenyList":{"description":"List of disallowed platforms.","type":"array","uniqueItems":true,"items":{"type":"string"}},"ProgramAllowList":{"description":"List of allowed programs.","type":"array","uniqueItems":true,"items":{"type":"string"}},"ProgramDenyList":{"description":"List of disallowed programs.","type":"array","uniqueItems":true,"items":{"type":"string"}},"TargetAllowList":{"description":"List of allowed targets.","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/BuildTargetType"}},"TargetConfigurationAllowList":{"description":"List of allowed target configurations.","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/BuildConfiguration"}},"TargetConfigurationDenyList":{"description":"List of disallowed target configurations.","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/BuildConfiguration"}},"TargetDenyList":{"description":"List of disallowed targets.","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/BuildTargetType"}},"Type":{"description":"Usage type of module.","type":"string","enum":["Runtime","RuntimeNoCommandlet","RuntimeAndProgram","CookedOnly","UncookedOnly","Developer","DeveloperTool","Editor","EditorNoCommandlet","EditorAndProgram","Program","ServerOnly","ClientOnly","ClientOnlyNoCommandlet","Max"]}}},"PluginReferenceDescriptor":{"description":"Descriptor for a plugin reference.","type":"object","properties":{"Enabled":{"description":"Whether it should be enabled by default.","type":"boolean","default":true},"HasExplicitPlatforms":{"description":"When true, empty SupportedTargetPlatforms and PlatformAllowList are interpreted as 'no platforms' with the expectation that explicit platforms will be added in plugin platform extensions.","markdownDescription":"When true, empty `SupportedTargetPlatforms` and `PlatformAllowList` are interpreted as **no platforms** with the expectation that explicit platforms will be added in plugin platform extensions.","type":"boolean","default":false},"Optional":{"description":"Whether this plugin is optional, and the game should silently ignore it not being present.","type":"boolean","default":false},"Description":{"description":"Description of the plugin for users that do not have it installed.","type":"string"},"MarketplaceURL":{"description":"URL for this plugin on the marketplace, if the user doesn't have it installed.","type":"string"},"Name":{"description":"Name of the plugin.","type":"string"},"PlatformAllowList":{"description":"List of allowed platforms.","type":"array","uniqueItems":true,"items":{"type":"string"}},"PlatformDenyList":{"description":"List of disallowed platforms.","type":"array","uniqueItems":true,"items":{"type":"string"}},"TargetAllowList":{"description":"List of allowed targets.","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/BuildTargetType"}},"TargetConfigurationAllowList":{"description":"List of allowed target configurations.","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/BuildConfiguration"}},"TargetConfigurationDenyList":{"description":"List of disallowed target configurations.","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/BuildConfiguration"}},"TargetDenyList":{"description":"List of disallowed targets.","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/BuildTargetType"}}},"required":["Enabled","Name"]}},"description":"Descriptor for projects. Contains all the information contained within a .uproject file.","markdownDescription":"Descriptor for projects. Contains all the information contained within a `.uproject` file.","properties":{"AdditionalPluginDirectories":{"$comment":"See https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Projects/FProjectDescriptor/AdditionalPluginDirectories","description":"List of additional directoreis to scan for plugins","type":"array","items":{"type":"string"},"default":[]},"DisableEnginePluginsByDefault":{"description":"Indicates that enabled by default engine plugins should not be enabled unless explicitly enabled by the project or target files.","type":"boolean","default":false},"IsEnterpriseProject":{"description":"Indicates if this project is an Enterprise project.","type":"boolean","default":false},"Category":{"description":"Category to show under the project browser.","type":"string"},"Description":{"description":"Description to show in the project browser.","type":"string"},"EngineAssociation":{"$comment":"See https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Projects/FProjectDescriptor/EngineAssociation","description":"The engine to open this project with. Either <major>.<minor> version (4.27, 5.4, etc), unique Engine identifier, blank for directory-based discovery, or relative path.","type":"string","pattern":"(^([0-9]+)\\.([0-9]+)$)|(^\\{[A-F0-9]{8}(-[A-F0-9]{4}){3}-[A-F0-9]{12}\\}$)|^$|[\\\\/]"},"EpicSampleNameHash":{"description":"A hash that is used to determine if the project was forked from a sample.","type":"number"},"FileVersion":{"$comment":"More details can be found in https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Projects/EProjectDescriptorVersion__Type","description":"Descriptor version number.","markdownDescription":"Descriptor version number. See [EProjectDescriptorVersion::Type](https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Projects/EProjectDescriptorVersion__Type).","type":"number","default":3},"Modules":{"description":"List of all modules associated with this project.","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/ModuleDescriptor"}},"Plugins":{"description":"List of plugins for this project (may be enabled/disabled).","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/PluginReferenceDescriptor"}},"PostBuildSteps":{"$comment":"Define platform as key, command as value.","description":"Custom steps to execute after building targets in this project.","type":"object"},"PreBuildSteps":{"$comment":"Define platform as key, command as value.","description":"Custom steps to execute before building targets in this project.","type":"object"},"TargetPlatforms":{"description":"Array of platforms that this project is targeting.","type":"array","uniqueItems":true,"items":{"type":"string"}}},"required":["EngineAssociation","FileVersion"],"title":"JSON schema for Unreal Engine uproject","type":"object"}