Version:

Gem Manifest 文件 (gem.json)

gem.json 清单提供有关Gem的数据。每个 Gem 的根文件夹中都必须有一个 gem.json 文件。

gem.json Manifest 内容

字段是否必须说明
gem_name必须该 gem 的名称。 该名称必须少于 64 个字符,只包含字母数字、’_’ 或 ‘-’ 字符,并以字母开头。
display_name必须该 gem 的用户友好显示名称。 该名称将显示在用户界面中,可以包含 gem_name 字段中不允许使用的字符。
canonical_tags必须用于区分清单类型的预定义标签列表,可以是 Project, TemplateGem。 对于Gem,该字段应始终为 Gem
compatible_engines可选已知与该 gem 兼容的引擎名称和可选版本说明的列表:即 o3de>=2.0.0o3de-sdk==1.2.0o3de-custom 等。如果为空,则假定 gem 与所有满足 engine_api_dependenciesdependencies 字段中所有要求的引擎兼容。详见 Gem 版本
dependencies可选您的 Gem 直接依赖的任何其他 Gem 的名称,带有可选的版本说明符:例如,Atom>=1.0.0PhysX==2.0.0ScriptCanvas 等。详情请参见 Gem 版本
documentation_url可选您的 gem 文档的 URL:即 https://www.mydomain.com/docs .
download_source_uri可选包含 Gem 压缩包的.zip文件的 URI。 这是直接下载 Gem 的.zip压缩包:即 https://github.com/o3de/o3de-extras/releases/download/1.0/Example-2.0.zip
engine_api_dependencies可选引擎 API 依赖关系列表。 如果为空,则假定该 gem 与任何引擎 API 的所有版本兼容。详见 Gem 版本
icon_path可选图标图像文件(通常为 preview.png)文件名的相对路径。
last_updated可选该文件或 Gem 最后更新的日期,格式为 YYYY-MM-DDYYYY-MM-DD HH:MM:SSYYYY-MM-DDTHH:MM:SS
license必须本 Gem 使用的许可证:即 Apache-2.0 或 MIT。
license_url必须许可证网站的 URL:即 https://opensource.org/licenses/Apache-2.0 https://opensource.org/licenses/MIT
origin必须该 Gem 的发起人名称:即 XYZ 公司。
origin_uri可选已被弃用,由 download_source_uri 代替。
origin_url可选该 gem 的发起者 URL:即 https://www.mydomain.com
platforms可选该 Gem 已知的兼容平台列表:即 “Windows”,“Linux”,“Android”,“iOS”,“MacOS” 等。
repo_uri可选包含该 Gem 的 Gem 资源库的 URI。
requirements可选请注意您的Gem所需的任何条件:例如,该Gem要求您从 https://www.mydomain.com 安装X。
sha256可选origin_uri 字段指向的 .zip 压缩包的 SHA-256 摘要。 测试时可以省略此字段,但我们强烈建议包含它。
source_control_ref可选此 Gem 版本的源代码控制参考。 可以是标签、提交哈希值或分支:如 release-1.0.00462139development 等。
source_control_uri可选该Gem源代码库的 URI:即 https://github.com/o3de/o3de-extras .
summary必须对Gem的简短描述。
type必须gem 的类型,可以是 Code, AssetTool。该字段在项目管理器中用作过滤器。
user_tags可选用于对Gem进行分类的用户自定义标记列表。该列表应始终包括您的 gem 名称,以及任何其他可帮助用户发现您的 gem 的常用标记:如 Network, Rendering, Utility, Scripting等。
version可选MAJOR.MINOR.PATCH 语义版本 。随着 gem 的更改而更新。开发人员可使用 gem.json 中的 dependencies 字段来指明其他 gem 依赖项及其兼容的版本范围。详情请参阅 Gem 版本
versions_data可选JSON 字典列表,其中包含每个 Gem 版本的更改字段。通常这些数据只存储在 repo.json 文件中,以跟踪每个 Gem 版本的更改和唯一下载 URI。

gem.json Manifest 示例

ScriptCanvas Tool Gem gem.json Manifest

ScriptCanvas 是引擎自带的 Tool 类型 gem,可提供编辑器和游戏功能。

{
    "gem_name": "ScriptCanvas",
    "display_name": "Script Canvas",
    "version": "1.0.0",
    "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"
    ],
    "compatible_engines":[],
    "engine_api_dependencies":[]
}

AudioEngineWwise Code Gem gem.json Manifest

AudioEngineWwise 是引擎自带的Code类型 gem,需要安装外部应用程序才能使用。

{
    "gem_name": "AudioEngineWwise",
    "display_name": "Wwise Audio Engine",
    "version": "1.0.0",
    "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"
    ],
    "compatible_engines":[],
    "engine_api_dependencies":[]
}

DevTextures Asset Gem gem.json Manifest

DevTextures 是引擎自带的 Asset 类型 gem,可提供对原型和试生产有用的通用纹理资产。

{
    "gem_name": "DevTextures",
    "display_name": "Dev Textures",
    "version": "1.0.0",
    "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": [],
    "compatible_engines":[],
    "engine_api_dependencies":[]
}