Unity использует файл манифеста пакета (package.json
) для управления информацией о конкретной версии определенного пакета. Манифест пакета всегда находится в корне пакета и содержит важную информацию о пакете, такую как его зарегистрированное имя и номер версии. Он также определяет полезную информацию для сообщения пользователю, например понятное имя, которое отображается в UI(пользовательский интерфейс) Позволяет пользователю взаимодействовать с вашим приложением. Подробнее
См. в Словарь краткое описание пакета и самую раннюю версию Пакет совместим с Unity.
В манифесте пакета используется синтаксис JSON (нотация объектов JavaScript) для описания содержимого пакета. Формат файла аналогичен npm package.json
. формат, но использует другую семантику для некоторых свойств.
Диспетчер пакетов читает этот манифест, чтобы узнать, что содержит пакет, как распаковать его содержимое и какую информацию отображать пользователю в окне диспетчера пакетов. В манифесте эта информация хранится в виде последовательности обязательных, рекомендуемых и необязательных. свойства.
Обязательные свойства
Если эти свойства отсутствуют, либо реестр отклоняет пакет при его публикации, либо диспетчер пакетов не может получить или загрузить пакет.
Свойство | JSON тип | Описание |
---|---|---|
name | String | Официально зарегистрированное имя пакета. Это имя должно соответствовать соглашению об именовании диспетчера пакетов Unity, в котором используется обратная нотация имени домена. Дополнительную информацию о соглашении об именах см. в разделе Именование пакета.
Примечание. Это уникальный идентификатор, а не удобное для пользователя имя, которое отображается в представлении списка в окне диспетчера пакетов. |
version | string | Номер версии пакета (MAJOR.MINOR.PATCH).
Например, «3.2.1» означает, что это третий основной выпуск, второй дополнительный выпуск и первое исправление. Это значение должно учитывать семантическое управление версиями. Дополнительную информацию см. в разделе Управление версиями. |
Рекомендуемые свойства
Диспетчер пакетов может устанавливать пакеты в проект, даже если рекомендуемые свойства не имеют допустимых значений или отсутствуют.
Однако следует присвоить значения этим свойствам, чтобы убедиться, что ваш пакет можно обнаружить, и чтобы пользователям было удобнее работать с ним.
Свойство | JSON тип | Описание |
---|---|---|
description | String | Краткое описание пакета. Это текст, который отображается в представлении сведений окна диспетчера пакетов. Это поле поддерживает коды символов UTF–8. Это означает, что вы можете использовать специальные коды символов форматирования, такие как разрывы строк (\n) и маркеры (\u25AA). |
displayName | String | Удобное имя для отображения в редакторе Unity (например, в браузере проектов, окне диспетчера пакетов и т. д.).
Например, Временная шкала Unity, ProBuilder, Покупка в приложении. |
unity | String | Указывает самую раннюю версию Unity, с которой совместим пакет. Если этот параметр опущен, менеджер пакетов считает пакет совместимым со всеми версиями Unity.
Ожидаемый формат: " Примечание. Пакет, несовместимый с Unity, не отображается в окне диспетчера пакетов. |
Необязательные свойства
Эти свойства являются необязательными, то есть их можно не указывать. Однако если они присутствуют, они должны иметь допустимое значение.
Свойство | JSON тип | Описание |
---|---|---|
author | Object | Автор пакета.
Этот объект содержит одно обязательное поле, name, и два необязательных поля, email и url. Например: |
changelogUrl | String | Пользовательское расположение журнала изменений этого пакета, указанное в виде URL-адреса. Например:"changelogUrl": "https://example.com/changelog"
Примечание. Когда диспетчер пакетов не может получить доступ к URL-адресу (например, из-за проблем с сетью), он делает следующее: - Если пакет установлен, диспетчер пакетов открывает файловый браузер, отображающий файл |
dependencies | Object | Карта зависимостей пакетов. Ключи — это имена пакетов, а значения — это конкретные версии. Они указывают на другие пакеты, от которых зависит этот пакет.
Примечание. Диспетчер пакетов не поддерживает синтаксис диапазона, только версии SemVer. |
documentationUrl | String | Пользовательское расположение для документации этого пакета, указанное в виде URL-адреса. Например:"documentationUrl": "https://example.com/"
Примечание. Когда диспетчер пакетов не может получить доступ к URL-адресу (например, из-за проблем с сетью), он делает следующее: - Если пакет установлен, диспетчер пакетов открывает файловый браузер, отображающий папку |
hideInEditor | Boolean | Диспетчер пакетов автоматически скрывает большинство пакетов (неявное значение — «true»), но вы можете установить для этого свойства значение «false», чтобы убедиться, что ваш пакет и его активы всегда видны. |
keywords | Array of Strings | Массив ключевых слов, используемых поисковыми API диспетчера пакетов. Это помогает пользователям находить соответствующие пакеты. |
license | String | Идентификатор лицензии OSS с использованием формата идентификатора SPDX или строки, такой как "See Файл LICENSE.md ".
Примечание. Если вы не укажете это свойство в манифесте пакета, ваш пакет должен содержать файл |
licensesUrl | String | Пользовательское расположение для информации о лицензии этого пакета, указанное в виде URL-адреса. Например:"licensesUrl": "https://example.com/licensing"
Примечание. Когда диспетчер пакетов не может получить доступ к URL-адресу (например, из-за проблем с сетью), он делает следующее: - Если пакет установлен, он открывает файловый браузер, отображающий файл |
samples | Array of Objects | Список образцов, входящих в комплект. Каждый образец содержит отображаемое имя, описание и путь к папке образца, начиная с самой папки Samples~ :
Дополнительную информацию см. в разделе Создание образцов для пакетов. |
type | String | Константа, предоставляющая дополнительную информацию диспетчеру пакетов.
Зарезервировано для внутреннего использования. |
unityRelease | String | Часть версии Unity, указывающая конкретный выпуск Unity, с которым совместим пакет. Вы можете использовать это свойство, когда обновленный пакет требует внесения изменений во время цикла разработки альфа/бета Unity. Это может быть в том случае, если пакету требуются недавно введенные API или используются существующие API, которые были изменены без обратной совместимости без правил API Updater.
Ожидаемый формат: «<UPDATE><RELEASE>» (например, 0b4). Примечание. Если вы не укажете рекомендуемое свойство unity, это свойство не будет действовать. Пакет, несовместимый с Unity, не отображается в окне диспетчера пакетов. |
Пример манифеста пакета
{
"name": "com.[company-name].[package-name]",
"version": "1.2.3",
"displayName": "Package Example",
"description": "This is an example package",
"unity": "2019.1",
"unityRelease": "0b5",
"documentationUrl": "https://example.com/",
"changelogUrl": "https://example.com/changelog",
"licensesUrl": "https://example.com/licensing",
"dependencies": {
"com.[company-name].some-package": "1.0.0",
"com.[company-name].other-package": "2.0.0"
},
"keywords": [
"keyword1",
"keyword2",
"keyword3"
],
"author": {
"name": "Unity",
"email": "unity@example.com",
"url": "https://www.unity3d.com"
}
}