Plug-ins
Managed plug-ins

Impor dan mengkonfigurasi plug-ins

Jika Anda memiliki managed plug-inSitemap Perakitan NET yang dibuat dengan alat seperti Visual Studio untuk digunakan di Unity. More info
Lihat di Glossary
atau plug-in asliPerpustakaan kode asli spesifik platform yang diciptakan di luar Unity untuk digunakan di Unity. Memungkinkan Anda dapat mengakses fitur seperti panggilan OS dan perpustakaan kode pihak ketiga yang tidak akan tersedia untuk Unity. More info
Lihat di Glossary
, Anda dapat mengimpornya ke Unity, kemudian mengkonfigurasinya. Dalam Editor, plug-inSatu set kode yang dibuat di luar Unity yang menciptakan fungsi dalam Unity. Ada dua jenis plug-ins yang dapat Anda gunakan di Unity: Managed plug-ins (diproduksi. Rakitan NET dibuat dengan alat-alat seperti Studio Visual) dan plug-ins asli (pustaka kode asli yang spesifik platform). More info
Lihat di Glossary
diperlakukan sebagai aset, mirip dengan skrip, dan Anda dapat mengkonfigurasinya di jendela Inspektur.

Anda dapat menggunakan konfigurasi plug-in untuk menentukan di mana plug-in berjalan; platform dan konfigurasi platform mana, serta di bawah kondisi mana

Impor plug-in

Cara paling sederhana untuk mengimpor plug-in ke proyek Anda adalah untuk mengklik dan menyeret plug-in ke folder Aset atau salah satu subfolder. Unity mengenali jenis file dan folder tertentu sebagai plug-ins. Ini juga dapat menerapkan pengaturan default yang sesuai dengan platform yang dimaksudkan plug-in.

Jenis file plug-in yang didukung dan folder

Unity memperlakukan file dengan ekstensi berikut sebagai plug-in:

  • a
  • .aar
  • .bc
  • .c
  • .cc
  • .cpp
  • .dll
  • .def
  • .dylib
  • .h
  • .jar
  • .jslib
  • .jspre
  • .m
  • .mm
  • .prx
  • .rpl
  • .so
  • .sprx
  • .suprx
  • .swift
  • .winmd
  • .xex
  • .xib

Unity juga memperlakukan folder tertentu sebagai plug-in yang dibundel. Unity tidak mencari file plug-in tambahan dalam folder ini, sehingga semua dalam folder dianggap satu plug-in. Unity memperlakukan folder dengan ekstensi berikut sebagai plug-in yang dibundel:

  • .androidlib
  • .bundle
  • .framework
  • .plugin

Pengaturan default plug-in

Unity secara otomatis menerapkan pengaturan default spesifik platform ke plug-in jika jalur plug-in dalam folder Aset sesuai dengan pola spesifik platform. Jika jalan tidak cocok dengan pola, Unity menerapkan pengaturan default platform Editor ke plug-in.

Tabel berikut menunjukkan pola jalan Kesatuan mengenali. Pelabuhan jalur yang muncul dalam kurung adalah opsional. Ketika jalan termasuk titik ganda, dapat mencakup lebih banyak folder.

Folder path patterns Default settings
Assets/../Editor/(x86 atau x86_64 or x64) Platform: Editor hanya

CPU (opsional): Berdasarkan subfolder, jika ada.
Assets/../Plugins/(x86_64 atau x86 or x64) Platform: Windows, Linux dan macOS

CPU (opsional): Berdasarkan subfolder, jika ada.
Assets/Plugins/iOS Platform: Login
Assets/Plugins/WSA/(SDK80 SDK81 atau PhoneSDK81)/(x86 atau ARM) Platform: Universal Windows Platform

SDK (opsional): Berdasarkan subfolder, jika ada. Untuk alasan kompatibilitas, SDK81 adalah Win81, TeleponSDK81 adalah WindowsPhone81.

CPU (opsional): Berdasarkan subfolder, jika present

Note: Anda dapat menggunakan kata kunci Metro bukan WSA.

Mengubah pengaturan plug-in

Dalam Unity, plug-ins baik managed atau native. Tabel berikut menunjukkan pengaturan mana yang relevan untuk setiap jenis plug-in:

Setting Managed Native
Select platforms for plugin x x
Platform settings x x
Asset Labels x x
Asset Bundles x x
General x
Define Constraints x
Plugin load settings x

Untuk melihat dan mengubah pengaturan plug-in di InspectorJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary
, pilih file plug-in di jendela Project.

Settings for a managed plug-in (left) and a native plug-in (right).
Pengaturan untuk plug-in yang dikelola (kiri) dan plug-in asli (kanan).

Sitemap Pengaturan plug-in umum Common plug-in settings

Select platform for plugin dan Platform settings menentukan di mana membangun Unity termasuk plug-in.

Tabel berikut menjelaskan pengaturan umum.

Setting Options Notes
Select platforms for plugin Editor: Untuk bermain mode dan untuk skrip yang berjalan pada waktu edit.
Standalone: Windows, Linux dan macOS.
• Setiap platform termasuk dalam instalasi Unity Anda, seperti Android, iOS dan WebGL.
Untuk memungkinkan plug-in untuk bekerja dengan platform yang tidak termasuk dalam Unity namun, periksa Any Platform. Anda dapat mengecualikan platform individu jika Anda tidak mendukungnya.

Ketika Anda mengimpor plug-in, Unity memuatnya ke dalam memori. Plug-in asli tidak dapat dibongkar; tetap dimuat dalam sesi Unity bahkan setelah Anda mengubah pengaturannya. Untuk membongkar plug-in, Anda harus restart Unity.
Platform settings Untuk setiap platform yang Anda pilih, Anda dapat menentukan kondisi tambahan, seperti arsitektur CPU dan ketergantungan. Unity hanya menunjukkan pengaturan yang berlaku untuk platform Anda dan, di mana mungkin, untuk jenis plug-in spesifik Anda di platform itu. Misalnya, file plug-in asli dengan ekstensi .dll dapat berjalan hanya pada Windows, sehingga Unity hanya menunjukkan pengaturan Windows.
Editor • CPU arsitektur
• OS
Kebanyakan plug-ins yang dikelola kompatibel dengan CPU dan OS.

Most plug-ins asli hanya kompatibel dengan satu OS dan, tergantung pada bagaimana mereka dikompilasi, mungkin kompatibel dengan hanya arsitektur CPU tunggal.
Windows, Linux dan macOS • CPU arsitektur
• OS
Perpustakaan yang terkelola biasanya kompatibel dengan arsitektur OS dan CPU, kecuali mereka mengakses API sistem tertentu. perpustakaan kapasemen

Native libraries are only compatible with a single OS, but can be compatible with the 32-bit, the 64-bit, or both CPU architectures.
Windows Server See Platform Windows Universal: Plugin pada Scripting IL2CPP.
Android Sinyal CPU Arsitektur CPU harus sesuai dengan arsitektur bahwa perpustakaan disusun untuk. Unity tidak memvalidasi pengaturan Anda.

Lihat juga: AAR plug-ins dan Android Perpustakaan.
iOS dan tvOS • Ketergantungan kerangka
• Tambahkan ke Binaris Tertanam
• Bendera compile
Ketika Anda memilih opsi Add to Embedded Binaries, Unity menetapkan opsi proyek Xcode untuk menyalin file plug-in ke paket aplikasi akhir. Lakukan ini untuk:
• Perpustakaan yang dimuat secara dinamis. Login Bundel dan kerangka yang mengandung perpustakaan yang dimuat secara dinamis. Login Setiap aset dan sumber daya yang perlu dimuat pada waktu berjalan.

Dalam bidang

In the Compile Flags field, set the compile flags for plug-in source code files that Unity must compile as part of the build.

Tip: Untuk informasi pada pengaturan umum lainnya, lihat Asset Bundles dan Mencari di Editor.

Pengaturan plug-in yang terkelola

Plug-ins yang dikelola dapat menjadi perpustakaan pihak ketiga atau rakitan pengguna yang ingin Anda masukkan dalam proyek.

Umum - Referensi Otomatis

Pengaturan Auto Reference mengontrol bagaimana definisi perakitan dalam referensi proyek file plug-in. Ketika Anda mengaktifkan Referensi Otomatis, semua assemblies dan definisi perakitan yang telah ditentukan secara otomatis merujuk file plug-in.

Auto Reference diaktifkan secara default.

Untuk membatasi lingkup di mana plug-in dapat direferensikan, menonaktifkan Auto Reference. Anda kemudian perlu secara eksplisit menyatakan semua referensi ke plug-in. Anda mungkin ingin melakukan ini jika:

  • Anda ingin mencegah scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
    Lihat di Glossary
    dari kesalahan menggunakan plug-in.
  • Anda iterating di plug-in dan ingin mengurangi waktu kompilasi. Jika Anda secara eksplisit mendeklarasikan plug-in, Unity recompiles hanya rakitan tergantung, bukan seluruh proyek Anda.
  • Anda ingin mencegah plug-ins yang digunakan dalam Paket Asset Store dari konflik dengan kode lain dalam proyek ke mana paket diimpor.

Ketika Anda menonaktifkan Unity Auto Reference tidak dapat merujuk plug-in dari rakitan yang telah ditentukan itu menciptakan untuk proyek Anda. Rakitan yang telah ditentukan ini mengandung semua skrip dalam proyek Anda yang belum ditugaskan ke perakitan lain menggunakan file definisi perakitan. Untuk kelas referensi, fungsi, atau sumber daya lainnya dari plug-in yang memiliki properti Auto Reference dinonaktifkan, kode referensi harus dalam perakitan yang dibuat dengan file definisi perakitan. Misalnya, jika set skrip dalam proyek Anda menggunakan plug-in, Anda harus membuat file definisi perakitan untuk skrip tersebut, dan tambahkan referensi eksplisit ke plug-in dalam file definisi.

Lebih dari satu perakitan dapat menggunakan plug-in, tetapi semua rakitan harus secara eksplisit menyatakan ketergantungan. Untuk mempelajari lebih lanjut tentang definisi perakitan di Unity, lihat Definisi perakitan.

Note: Opsi Auto Reference tidak berpengaruh pada apakah file disertakan dalam build. Untuk mengontrol Pengaturan Build untuk penggunaan plug-ins Pengaturan platform.

Umum - Validate Referensi

Unity dapat memeriksa referensi plug-in Anda tersedia dalam proyek. Jika Anda tidak melakukan validasi ini, pengguna dapat menemukan kesalahan runtime ketika aplikasi mencoba menggunakan referensi yang hilang.

Aktifkan opsi Validate References untuk memeriksa:

  • Apakah referensi plug-in ada. Misalnya, jika plug-in Anda referensi plug-in Newtonsoft. Json.dll Json.dll
  • Apakah referensi yang kuat akan dapat memuat. Hal ini penting karena referensi yang kuat harus sesuai dengan versi. Misalnya, jika Anda mengkompilasi plug-in dengan referensi ke versi "b.dll" 2.0.0, versi itu harus dalam proyek.

Jika Anda tidak ingin memeriksa referensi yang kuat, tetapi masih ingin memeriksa referensi itu ada:

  1. Inspektur Plugin, memungkinkan Validate References.
  2. Pada Project Settings > Player > Other Settings > disable Assembly Version Validation.

Define Constraints

Anda dapat menentukan kondisi di mana Unity memuat plug-in untuk memori dan referensi itu. Kondisi ini adalah simbol yang harus dipenuhi, yang berarti didefinisikan atau tidak ditentukan.

Kontras bekerja seperti #if preprocessor directive di C #, tetapi pada tingkat perakitan bukan tingkat skrip. Anda dapat mempelajari lebih lanjut tentang batasan di Komponen Definisi Perakitan.

Anda dapat menggunakan simbol bawaan Unity, atau menambahkan simbol di Project Settings > Player > Other Settings > Script Compilation > Scripting Define Symbols > kompilasi Platform. Simbol yang Anda tambahkan adalah platform spesifik, sehingga Anda perlu mendefinisikannya untuk setiap platform yang relevan. Lihat untuk informasi lebih lanjut, termasuk daftar simbol bawaan.

Tip: Untuk menentukan bahwa simbol harus tidak ditentukan, perbaiki dengan ala ! (tanda pameran) simbol.

Dalam contoh berikut, kita ingin Unity untuk memuat dan merujuk plug-in hanya pada runtime skrip non-IL2CPP untuk Unity 2018.3 atau lebih baru. Kami mendefinisikan dua batasan, dan keduanya harus dipenuhi:

  • ENABLE_IL2CPP tidak didefinisikan
  • UNITY_2018_3_OR_NEWER didefinisikan
Define Constraints for a specific runtime and Unity version
Define Constraints untuk versi runtime dan Unity tertentu

Pengaturan beban plugin - Beban pada startup

Anda dapat mulai mengeksekusi kode asli yang independen dari awalisasi grafis, skrip, pemuatan aset, scenesAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
, dan sebagainya. Ini berbeda dengan cara default pemain memuat plug-in asli, yang harus menunggu sampai panggilan pertama ke salah satu fungsi plug-in, biasanya dilakukan oleh skrip.

Untuk memuat plug-ins sebelum aplikasi mengeksekusi skrip apa pun:

  1. Menerapkan UnityPluginLoad di plug-in. SitemapAntarmuka plug-in asli tingkat rendah.
  2. Di Editor, pilih Plugin load settings > Load on startup.

Tip: Sebagai contoh dari fungsi plug-in skrip C#, lihat Catalog.

Plug-ins
Managed plug-ins