Membuat sampel untuk paket
Versioning

Paket manifest

Unity menggunakan file package manifest (package.json) untuk mengelola informasi tentang versi paket spesifik. Paket manifest selalu di akar paket dan berisi informasi penting tentang paket, seperti nama terdaftar dan nomor versi. Ini juga mendefinisikan informasi yang berguna untuk berkomunikasi dengan pengguna, seperti nama user-friendly yang muncul di UI(User Interface) Memungkinkan pengguna untuk berinteraksi dengan aplikasi Anda. Unity saat ini mendukung tiga sistem UI. More info
Lihat di Glossary
, deskripsi singkat dari paket, dan versi awal Unity paket kompatibel dengan.

Paket manifest menggunakan sintaksis JSON (JavaScript Object Notation) untuk menggambarkan paket yang mengandung. Format file mirip dengan format npm package.json , tetapi menggunakan semantik yang berbeda untuk beberapa sifatnya.

Paket Manager membaca manifestasi ini untuk mengetahui apa paket yang berisi, bagaimana cara membongkar kontennya, dan informasi apa yang ditampilkan pengguna di Paket jendela Manager. Toko manifestasi informasi ini dalam serangkaian sifat required, recommended, dan optional.

Properti yang diperlukan

Jika properti ini tidak hadir, baik registry menolak paket ketika diterbitkan, atau Manajer Paket tidak dapat mengambil atau memuat paket.

Property JSON Type Description
name String Nama paket resmi terdaftar. Nama ini harus sesuai dengan Konvensi Pengatur Paket Unity, yang menggunakan notasi nama domain terbalik. Untuk informasi lebih lanjut tentang konvensi naming, lihat Mengajarkan paket Anda.

Note: Ini adalah pengidentifikasi unik, bukan nama pengguna yang muncul dalam tampilan daftar di jendela Paket Manager.
version string Jumlah versi paket (MAJOR.MINOR.PATCH).

Sebagai contoh, “3.2.1” menunjukkan bahwa ini adalah rilis utama ketiga, rilis kecil ke-2, dan patch pertama.

Nilai ini harus menghormati Versi Semantik. Untuk informasi lebih lanjut, lihat Versioning.

Properti yang disarankan

Manajer Paket dapat menginstal paket dalam proyek bahkan jika sifat yang disarankan tidak memiliki nilai yang valid atau hilang.

Namun, Anda harus menetapkan nilai untuk properti ini untuk memastikan bahwa paket Anda dapat ditemukan dan memberikan pengalaman yang lebih baik bagi pengguna.

Property JSON Type Description
description String Deskripsi singkat dari paket. Ini adalah teks yang muncul di details view dari jendela Paket Manager. Bidang ini mendukung kode karakter UTF–8. Ini berarti bahwa Anda dapat menggunakan kode karakter format khusus, seperti jeda garis (\n) dan peluru (\u25AA).
displayName String Nama yang ramah pengguna muncul di Editor Unity (misalnya, di Browser Proyek, jendela Manajer Paket, dll.).

Contohnya, Unity Timeline, ProBuilder, In App Purchasing.
unity String Menunjukkan versi Unity terendah paket kompatibel dengan. Jika dihilangkan, Manajer Paket mempertimbangkan paket yang kompatibel dengan semua versi Unity.

Format yang diharapkan adalah “<MAJOR>.<MINOR>” (misalnya, 2018.3). Untuk menunjuk ke patch tertentu, gunakan properti Login Login juga.

Note: Paket yang tidak kompatibel dengan Unity tidak muncul di Paket jendela Manager.

Sifat opsional

Sifat-sifat ini adalah opsional, yang berarti Anda dapat mengomit mereka. Namun, jika mereka hadir, mereka harus memiliki nilai yang valid.

Property JSON Type Description
author Object Penulis paket.

Objek ini berisi satu bidang yang diperlukan, name, dan dua bidang opsional, email dan url.

Contoh:
{ "name" : "John Doe",
"email" : "john.doe@example.com",
"url" : "http://john.doe.example.com/"
}%
changelogUrl String Lokasi khusus untuk perubahan paket ini ditentukan sebagai URL. Sebagai contoh:
"changelogUrl": "https://example.com/changelog.html"

Note: Ketika Manajer Paket tidak dapat mencapai lokasi URL (misalnya, jika ada masalah jaringan), itu melakukan berikut:

- Jika paket dipasang, Manajer Paket membuka file browser menampilkan file CHANGELOG.md dalam cache paket. Login Jika paket tidak diinstal, Manajer Paket menampilkan peringatan bahwa perubahan offline tidak tersedia.
- If the package isn’t installed, the Package Manager displays a warning that an offline changelog isn’t available.
dependencies Object Peta ketergantungan paket. Kunci adalah nama paket, dan nilai-nilai tertentu. Mereka menunjukkan paket lain yang paket ini tergantung pada.

Note: Manajer Paket tidak mendukung berbagai sintaks, hanya versi SemVer.
documentationUrl String Lokasi khusus untuk dokumentasi paket ini ditentukan sebagai URL. Sebagai contoh:
"documentationUrl": "https://example.com/"

Note: Ketika Manajer Paket tidak dapat mencapai lokasi URL (misalnya, jika ada masalah jaringan), itu melakukan berikut:

- Jika paket dipasang, Manajer Paket membuka folder peramban file yang menampilkan folder Documentation~ dalam cache paket. Login Jika paket tidak diinstal, Manajer Paket menampilkan peringatan yang dokumentasi offline tidak tersedia.
- If the package isn’t installed, the Package Manager displays a warning that offline documentation isn’t available.
hideInEditor Boolean Paket Manager menyembunyikan sebagian besar paket secara otomatis (nilai implicit adalah “true”), tetapi Anda dapat mengatur properti ini untuk “false” untuk memastikan bahwa paket Anda dan asetnya selalu terlihat.
keywords Array String Berbagai kata kunci yang digunakan oleh API Pencarian Manajer Paket. Ini membantu pengguna menemukan paket yang relevan.
license String Identifier untuk lisensi OSS menggunakan Format pengenal SPDX, atau string seperti "Lihat file LICENSE.md".

NoteLICENSE.md.
licensesUrl String Lokasi khusus untuk informasi lisensi paket ini ditentukan sebagai URL. Sebagai contoh:
"licensesUrl": "https://example.com/licensing.html"

Note: Ketika Manajer Paket tidak dapat mencapai lokasi URL (misalnya, jika ada masalah jaringan), itu melakukan berikut:

- Jika paket dipasang, buka file browser menampilkan file LICENSE.md dalam cache paket. Login Jika paket tidak diinstal, Manajer Paket menampilkan peringatan bahwa informasi lisensi offline tidak tersedia.
- If the package isn’t installed, the Package Manager displays a warning that offline license information isn’t available.
samples Array objek Daftar sampel disertakan dalam paket. Setiap sampel mengandung nama tampilan, deskripsi, dan path ke folder sampel dimulai pada folder Samples~ itu sendiri:

{
"displayName": "<name-to-appear-in-the-UI>",
"description": "<brief-description>",
"path": "Samples~/<sample-subfolder>"
}

Membuat sampel untuk paket Untuk informasi lebih lanjut, lihat .
type String A konstan yang memberikan informasi tambahan kepada Manajer Paket.

Reserved for internal use.
unityRelease String Bagian dari versi Unity menunjukkan rilis khusus Unity bahwa paket kompatibel dengan. Anda dapat menggunakan properti ini ketika paket diperbarui memerlukan perubahan yang dilakukan selama siklus pengembangan Unity alpha/beta. Ini mungkin kasus jika paket membutuhkan API yang baru diperkenalkan, atau menggunakan API yang ada yang telah berubah dengan cara yang tidak kompatibel tanpa aturan API Updater.

Format yang diharapkan adalah “<UPDATE><RELEASE>” (misalnya, 0b4).

Note: Jika Anda mengintip properti unity yang disarankan, properti ini tidak berpengaruh.

Paket yang tidak kompatibel dengan Unity tidak muncul di Paket jendela Manager.

Paket manifest contoh

{
  "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.html",
  "licensesUrl": "https://example.com/licensing.html",
  "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"
  }
}


Membuat sampel untuk paket
Versioning