IN THIS ARTICLE
Gem Manifest File (gem.json)
The gem.json manifest provides data about a Gem. Each Gem must have a gem.json file at the root folder of that Gem.
gem.json Manifest Contents
| Field | Required | Description |
|---|---|---|
| gem_name | Required | The name of this gem. This name must be fewer than 64 characters and contain only alphanumeric, ‘_’ or ‘-’ characters, and start with a letter. |
| display_name | Required | The user-friendly display name for this gem. This name will be displayed in user interfaces and can contain characters not allowed in the gem_name field. |
| canonical_tags | Required | A list of pre-defined tags used to differentiate types of manifests which can be Project, Template or Gem. For Gems this field should always be Gem. |
| dependencies | Optional | The names of any other Gems, your Gem directly depends on: i.e. Atom, PhysX, ScriptCanvas etc. |
| documentation_url | Optional | The URL of the documentation for your gem: i.e. https://www.mydomain.com/docs. |
| icon_path | Optional | The relative path to the filename of the icon image file, usually preview.png. |
| last_updated | Optional | The date this file or Gem was last updated in YYYY-MM-DD, YYYY-MM-DD HH:MM:SS, or YYYY-MM-DDTHH:MM:SS format. |
| license | Required | The license this gem uses: i.e. Apache-2.0 or MIT. |
| license_url | Required | The URL for the license website: i.e. https://opensource.org/licenses/Apache-2.0 Or https://opensource.org/licenses/MIT. |
| origin | Required | The name of the originator for this gem: i.e. XYZ Inc. |
| origin_uri | Optional | The URI for the .zip file containing the Gem archive. This is a direct link to download the Gem’s .zip archive. |
| origin_url | Optional | The URL of the originator for this gem: i.e. https://www.mydomain.com. |
| repo_uri | Optional | The URI for the Gem repository containing this Gem. |
| requirements | Optional | Notice of any requirements your Gem has: i.e. This Gem requires you install X from https://www.mydomain.com. |
| sha256 | Optional | The SHA-256 digest of the .zip archive that the origin_uri field points to. You can omit this field for testing, but we highly recommend including it. |
| summary | Required | A short description of your Gem. |
| type | Required | The type of gem which can be Code, Asset or Tool. This field is used as a filter in the Project Manager. |
| user_tags | Optional | A list of user-defined tags used to categorize Gems. This list should always include the name of your Gem, and any other common tags that might help a user discover your gem: i.e. Network, Rendering, Utility, Scripting etc. |
gem.json Manifest Examples
ScriptCanvas Tool Gem gem.json Manifest
ScriptCanvas is a Tool type gem that comes with the engine and provides Editor and game functionality.
{
"gem_name": "ScriptCanvas",
"display_name": "Script Canvas",
"license": "Apache-2.0 Or MIT",
"license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt",
"origin": "Open 3D Engine - o3de.org",
"origin_url": "https://github.com/o3de/o3de",
"type": "Tool",
"summary": "The Script Canvas Gem provides Open 3D Engine's visual scripting environment, Script Canvas.",
"canonical_tags": [
"Gem"
],
"user_tags": [
"Scripting",
"Tools",
"Utility"
],
"icon_path": "preview.png",
"requirements": "",
"documentation_url": "https://o3de.org/docs/user-guide/gems/reference/script/script-canvas/",
"dependencies": [
"ScriptEvents",
"ExpressionEvaluation",
"GraphCanvas"
]
}
AudioEngineWwise Code Gem gem.json Manifest
AudioEngineWwise is a Code type gem that comes with the engine that requires an external application be installed in order to use it.
{
"gem_name": "AudioEngineWwise",
"display_name": "Wwise Audio Engine",
"license": "Apache-2.0 Or MIT",
"license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt",
"origin": "Open 3D Engine - o3de.org",
"origin_url": "https://github.com/o3de/o3de",
"type": "Code",
"summary": "The Wwise Audio Engine Gem provides support for Audiokinetic Wave Works Interactive Sound Engine (Wwise).",
"canonical_tags": [
"Gem"
],
"user_tags": [
"Audio",
"Utility",
"Tools"
],
"icon_path": "preview.png",
"requirements": "Users will need to download Wwise from the <a href='https://www.audiokinetic.com/download/'>Audiokinetic Web Site</a>.",
"documentation_url": "https://o3de.org/docs/user-guide/gems/reference/audio/wwise/audio-engine-wwise/",
"dependencies": [
"AudioSystem"
]
}
DevTextures Asset Gem gem.json Manifest
DevTextures is an Asset type gem that comes with the engine and provides general purpose texture assets useful for prototypes and preproduction.
{
"gem_name": "DevTextures",
"display_name": "Dev Textures",
"license": "Apache-2.0 Or MIT",
"license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt",
"origin": "Open 3D Engine - o3de.org",
"origin_url": "https://github.com/o3de/o3de",
"type": "Asset",
"summary": "The Dev Textures Gem provides a collection of general purpose texture assets useful for prototypes and preproduction.",
"canonical_tags": [
"Gem"
],
"user_tags": [
"Assets",
"Debug",
"Utility"
],
"icon_path": "preview.png",
"requirements": "",
"documentation_url": "https://o3de.org/docs/user-guide/gems/reference/assets/dev-textures/",
"dependencies": []
}