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 untuk Android ditulis dalam C / C++ dan dikemas dalam perpustakaan bersama (.so) atau perpustakaan statis (.a). Saat menggunakan backend IL2CPP scripting, Anda dapat menggunakan file sumber C / C++ sebagai plug-ins dan Unity mengkompilasi mereka bersama dengan file yang dihasilkan IL2CPP. Ini termasuk semua file sumber C / C++ dengan ekstensi .c, .cc, .cpp dan .h.
Tabel berikut menunjukkan bahwa scripting backendsKerangka kerja yang skrip di Unity. Unity mendukung tiga backend scripting yang berbeda tergantung pada platform target: Mono, .NET dan IL2CPP. Platform Windows Universal, namun hanya mendukung dua: .NET dan IL2CPP. More info
Lihat di Glossary mendukung berbagai jenis native plug-insPerpustakaan 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.
Scripting backend | Shared library | Static library | C/C++ source files |
---|---|---|---|
IL2CPPBack-end scripting bersatu yang dapat Anda gunakan sebagai alternatif untuk Mono ketika proyek bangunan untuk beberapa platform. More info Lihat di Glossary |
Yes | Yes | Yes |
Mono | Yes | No | No |
Untuk membangun plug-in C++ untuk Android, gunakan Android SDK dan mendapatkan diri Anda akrab dengan langkah-langkah yang diperlukan untuk membangun perpustakaan bersama. Hal yang sama berlaku untuk perpustakaan statis.
Jika Anda menggunakan C++ untuk menerapkan plug-in, Anda harus memastikan metode tersebut diumumkan dengan tautan C untuk menghindari nama mangling masalah. Secara default, hanya file sumber C yang memiliki ekstensi file .c di plug-ins memiliki tautan C (tidak C++).
extern "C" {
float Foopluginmethod ();
}
Setelah membangun perpustakaan, menyalin output file .so ke proyek Unity Anda. Pada 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, tanda file .so Anda sesuai dengan Android, dan atur arsitektur CPU yang diperlukan di kotak dropdown:
Untuk memanggil metode di plug-in asli Anda dari dalam C# 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, gunakan kode berikut:
[DllImport ("pluginName")]
private static extern float Foopluginmethod();
Perhatikan bahwa pluginName tidak boleh menyertakan prefix (‘lib’) atau ekstensi (‘.so’) dari nama file. Disarankan untuk membungkus semua metode plug-in asli panggilan dengan lapisan kode C # tambahan. Kode ini memeriksa Aplikasi.platform dan memanggil metode asli hanya ketika aplikasi berjalan pada perangkat yang sebenarnya; nilai perut dikembalikan dari kode C# ketika berjalan di Editor. Gunakan untuk mengontrol kompilasi kode dependent platform.
Saat Anda menggunakan C/C++ file sumber sebagai plug-ins, Anda menyebutnya dari C# dengan cara yang sama kecuali bahwa Anda menggunakan __Internal
untuk nama plug-in, misalnya:
[DllImport ("__Internal")]
private static extern float Foopluginmethod();
File zip WordPress.org berisi contoh sederhana dari plug-in kode asli yang didistribusikan sebagai paket Unity.
Contohnya menunjukkan bagaimana cara memanggil kode C++ dari aplikasi Unity. Paket termasuk sceneAdegan 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 yang menampilkan jumlah dua nilai yang dihitung oleh plug-in asli. Untuk mengkompilasi plug-in harus menginstal Android SDK.
Untuk menginstal sampel: