Unity mendukung plug-insSatu 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 asli, yang merupakan perpustakaan kode asli yang dapat Anda tulis dalam bahasa seperti C, C++, dan Objective-C. Plug-ins memungkinkan kode yang Anda tulis di C# untuk memanggil fungsi dari perpustakaan ini. Fitur ini memungkinkan Unity untuk mengintegrasikan dengan perpustakaan perantara atau kode C / C++ yang ada.
native plug-inPerpustakaan 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 menyediakan antarmuka C sederhana, yang skrip C# kemudian mengekspos ke 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 lainnya. Unity juga dapat memanggil fungsi bahwa ekspor plug-in asli ketika peristiwa rendering tingkat rendah tertentu terjadi (misalnya, ketika Anda membuat perangkat grafis). Lihat Antarmuka plug-in asli tingkat rendah untuk informasi lebih lanjut.
Sebagai contoh dari plugin asli, lihat Plugin Renderer Asli.
Untuk menggunakan plug-in asli:
Anda membangun plug-ins asli dengan kompiler kode asli di platform target. Karena fungsi plug-in menggunakan antarmuka panggilan berbasis C, Anda harus mendeklarasikan fungsi dengan tautan C untuk menghindari masalah angling nama.
Perpustakaan asli sederhana dengan fungsi tunggal mungkin memiliki kode yang terlihat seperti ini:
float ExamplePluginFunction () { return 5.0F; }
Untuk mengakses kode ini dari dalam Unity, gunakan skrip C# berikut:
using UnityEngine;
using System.Runtime.InteropServices;
class ExampleScript : MonoBehaviour {
#if UNITY_IPHONE
// On iOS plugins are statically linked into
// the executable, so we have to use __Internal as the
// library name.
[DllImport ("__Internal")]
#else
// Other platforms load plugins dynamically, so pass the
// name of the plugin's dynamic library.
[DllImport ("PluginName")]
#endif
private static extern float ExamplePluginFunction ();
void Awake () {
// Calls the ExamplePluginFunction inside the plugin
// And prints 5 to the console
print (ExamplePluginFunction ());
}
}
Anda dapat mempelajari lebih lanjut tentang menggunakan plugin asli untuk berinteraksi dengan perpustakaan kode pihak ketiga, termasuk bagaimana Anda dapat menerapkan rendering di plug-in Anda, dengan halaman berikut: