Unity berniat untuk UI Toolkit untuk menjadi sistem UI yang direkomendasikan untuk proyek pengembangan UI baru, tetapi masih hilang beberapa fitur yang ditemukan di Unity UI (uGUI) dan IMGUI. Sistem lama ini lebih tepat untuk kasus penggunaan tertentu, dan diperlukan untuk mendukung proyek warisan.
Halaman ini memberikan perbandingan fitur tingkat tinggi UI Toolkit, Unity UI, dan IMGUI, dan mencatat tentang pendekatan masing-masing untuk desain UI. Gunakan untuk membantu menentukan sistem UI mana yang sesuai untuk proyek Anda.
IMPORTANT |
---|
UI Toolkit adalah dalam perkembangan aktif. Halaman ini akan sering diperbarui sebagai berevolusi feature setSebuah fitur set adalah koleksi paket terkait yang dapat Anda gunakan untuk mencapai hasil tertentu dalam Editor Unity. Anda dapat mengelola set fitur langsung di Manajer Paket Unity. More info Lihat di Glossary. |
Pilihan sistem UI Anda tergantung pada apakah Anda mengembangkan UI untuk Editor Unity atau UI runtime untuk permainan atau aplikasi.
Type of UI | UI Toolkit | Unity UI(uGUI) | IMGUI | Notes |
---|---|---|---|---|
Runtime (in-game) | ✔ | ✔ | Not Recommended | Untuk alasan kinerja, Unity tidak merekomendasikan IMGUI untuk UI runtime dalam game. |
Unity Editor | ✔ | ❌ | ✔ | Anda tidak dapat menggunakan UI Unity untuk membuat UI untuk Editor Unity. |
Untuk membuat UI runtime, pilihan Anda adalah antara UI Toolkit dan Unity UI (uGUI). SitemapPerbandingan fitur: UI Toolkit vs. Unity UI (uGUI).
Untuk membuat UI untuk Editor Unity, pilihan Anda adalah antara UI Toolkit dan IMGUI. SitemapPerbandingan fitur: UI Toolkit vs. IMGUI.
Set keterampilan tim Anda dan tingkat kenyamanan dengan teknologi yang berbeda juga merupakan pertimbangan penting.
Type of user | UI Toolkit | Unity UI (uGUI) |
IMGUI | Notes |
---|---|---|---|---|
Programmer | ✔ | ✔ | ✔ | Programmer dapat menggunakan alat pengembangan game atau API. |
Technical Artist | Partial | ✔ | ❌ | Para seniman teknis yang akrab dengan alat berbasis GameObject Unity dan alur kerja cenderung nyaman bekerja dengan GameObjects, Komponen, dan pandangan Adegan. Mereka mungkin tidak nyaman dengan pendekatan seperti web UI Toolkit atau pendekatan C# murni IMGUI. |
UI Designer | ✔ | Partial | ❌ | Desainer UI yang akrab dengan alat pembuatan UI cenderung nyaman dengan pendekatan berbasis dokumen UI Toolkit. Jika mereka tidak akrab dengan alur kerja berbasis GameObject, mereka mungkin memerlukan bantuan dari programmer dan/atau desainer tingkat. |
UI Toolkit adalah dalam perkembangan aktif. Unity menambahkan fitur baru dengan setiap rilis. Unity UI dan IMGUI adalah sistem UI mapan yang meningkatkan produksi, tetapi diperbarui secara tidak sering.
Unity UI dan IMGUI mungkin pilihan yang lebih baik jika Anda perlu fitur yang belum tersedia di UI Toolkit, atau Anda berencana untuk mendukung atau menggunakan kembali konten UI yang lebih tua.
Bagian ini membandingkan UI Toolkit ke Unity UI (sepanjang dengan Paket TextMesh Pro) untuk mengembangkan UI runtime untuk permainan dan aplikasi.
Tidak mungkin untuk mengembangkan antarmuka pengguna untuk Editor Unity menggunakan UI Unity.
Feature | UI Toolkit | UGUI+TMP | Notes |
---|---|---|---|
Nested Prefabs | Partial | ✔ | UI Toolkit UXML template dukungan atribut overrides, yang mirip dengan sifat dimodifikasi dalam sistem Prefab Unity. UGUI is GameObject based, and supports standard Unity Prefabs. |
WYSIWYG authoring | ✔ | ✔ | Unity UI dan UI Toolkit menawarkan pengalaman penulis WYSIWYG yang berbeda. Karena UI Unity adalah berbasis GameObject, Anda dapat mengatur tampilan adegan untuk penulis WYSIWYG. UI Toolkit menyediakan Pembuat UI untuk penulis UI WYSIWYG berbasis dokumen dengan alur kerja seperti web. |
Theming | Planned | ❌ | UI Toolkit roadmap termasuk dukungan untuk fungsi mereka melalui UI Builder dan impor AS. |
Tata letak & Styling Debugger | ✔ | ✔ | Anda dapat antarmuka UI Unity di jendela Inspektur. UI Toolkit menyediakan debugger khusus (menu: Window > UI Toolkit > Debugger) yang mirip dengan alat debug yang ditemukan di browser web utama. |
Integrasi adegan | ✔ | ✔ | GameObjects UI Unity terlihat dalam pandangan Adegan dan pandangan Game. Anda dapat mengintegrasikan UI runtime yang dibuat dengan UI Toolkit melalui komponen runtime, dan menampilkannya dalam tampilan Game. |
Feature | UI Toolkit | UGUI+TMP | Notes |
---|---|---|---|
Gaya inline | ✔ | ✔ | |
Gaya Cascading | ✔ | ❌ | |
Pseudo-states (misalnya, hover atau aktif) | ✔ | ✔ | Unity UI menyediakan negara pseudo sederhana, dan Anda dapat membuat state pseudo yang kompleks untuk menggunakan grafik Animasi Unity. Login Toolkit mendukung pseudo-states melalui USS. |
Tag teks yang kaya | Planned | ✔ | Dukungan tag teks yang kaya di UI Toolkit direncanakan sebagai bagian dari pembaruan ke akhir back rendering teks Unity. Unity UI mendukung set dasar tag teks kaya secara default, dan set yang lebih besar melalui paket TextMesh Pro. |
SDF | Planned | ✔ | Dukungan teks SDF dalam UI Toolkit direncanakan sebagai bagian dari overhaul teks Unity rendering kembali berakhir. Unity UI mendukung teks SDF melalui paket TextMesh Pro. |
Font fallbacks | Planned | ✔ | Dukungan untuk font Asset dan font fallback di UI Toolkit direncanakan sebagai bagian dari overhaul teks Unity rendering kembali berakhir. Unity UI mendukung font fallback melalui paket TextMesh Pro. |
Sementara Unity UI dan UI Toolkit menawarkan kemungkinan tata letak yang sama, sistem tata letak mereka cukup berbeda.
Feature | UI Toolkit | UGUI+TMP | Notes |
---|---|---|---|
Tata letak manual (absolute atau relatif terhadap orang tua) | ✔ | ✔ | |
Satu dimensi (horizontal dan vertikal) | ✔ | ✔ | |
Dua dimensi (grid) | Research | ✔ | Unity UI menyediakan komponen. Untuk UI Toolkit, Unity menyelidiki kemungkinan mengimplementasikan grid bergaya CSS di ASS. |
Feature | UI Toolkit | UGUI+TMP | Notes |
---|---|---|---|
Integrasi dengan ruang Sistem Input% baru Unity | Planned | ✔ | |
Photogallery | Planned | ✔ | UI Toolkit hanya dapat mengikat acara ke elemen di C #. Unity UI dapat serialisasi acara mengikat. |
Scripting Visual untuk acara | Research | ❌ |
Memilih antara UI Toolkit dan Unity UI adalah perdagangan antara kinerja tinggi dan fleksibilitas / fitur yang didukung.
UI Toolkit saat ini mendukung satu set kemampuan yang lebih kecil, tetapi lebih mudah untuk mengoptimalkan kinerja rendering. Ini berbasis dokumen, didorong data, dan menggunakan satu shaderProgram yang berjalan di GPU. More info
Lihat di Glossary, bahan, dan tekstur atlas untuk menggambar hierarki elemen. Ini adalah pilihan yang baik untuk UI ruang layar sederhana (misalnya, menu atau tampilan kepala) yang mencakup hierarki elemen yang kompleks, dan tampil dengan baik di platform apa pun.
Unity UI lebih serbaguna, dan mendukung fitur rendering dan teks canggih. Anda dapat mengatur elemen visual dengan bahan kustom, dan mengambil keuntungan dari fitur kliping dan masking canggih. Namun, fitur-fitur ini mungkin membuatnya sulit untuk menjaga UI yang lebih kompleks dalam anggaran kinerja Anda.
Feature | UI Toolkit | UGUI+TMP | Notes |
---|---|---|---|
Pipa Render Built-in | ✔ | ✔ | |
Pipa Render Universal (URP) | ✔ | ✔ | |
Definisi Tinggi Render Pipeline (HDRP) | ✔ | ✔ | |
Layar (2D) rendering | ✔ | ✔ | |
Ruang Dunia (3D) rendering | Planned | ✔ | |
Bahan dan warna khusus | Planned | ✔ | |
API Integration | Planned | ❌ | |
Integrasi SVG | Planned | Planned | Paket com.unity.vectorgraphics menyediakan dukungan SVG untuk UI Unity. Namun paket saat ini di pratinjau, dan tidak dianjurkan untuk produksi. |
AntialiasingTeknik untuk mengurangi artefak, seperti garis bergerigi (jaggies), dalam gambar untuk membuatnya tampak lebih halus. More info Lihat di Glossary |
Planned | Partial | Unity UI Screen Space-Camera, dan mode rendering World Space menggunakan CamerasKomponen yang menciptakan gambar sudut pandang tertentu di tempat kejadian Anda. Output ditarik ke layar atau ditangkap sebagai tekstur. More info Lihat di Glossary, yang menerapkan antialiasing. |
2D rotasi (object tetap di bidang UI) | ✔ | ✔ | |
3D rotasi | Planned | ✔ | |
Klip persegi panjang | Partial | ✔ | UI toolkit mendukung clipping persegi panjang tanpa rotasi. Sudut persegi panjang harus selaras sumbu. |
Masker klip | Partial | ✔ | UI toolkit mendukung mask clipping dengan rotasi 2D. Unity UI mendukung rotasi masker 3D. |
Masker bersarang | Partial/Planned | ✔ | Alat UI masking bersarang terbatas pada satu tingkat, tetapi tidak mempengaruhi batching penarikan. Masking bertingkat multi direncanakan. Unity UI mendukung hingga delapan tingkat masking bersarang, tetapi memecah batching panggilan setiap tingkat kedua. |
Feature | UI Toolkit | UGUI+TMP | Notes |
---|---|---|---|
Tweening alur kerja | Experimental | Partial | |
Integrasi dengan Animation ClipsAnimasi data yang dapat digunakan untuk karakter animasi atau animasi sederhana. Ini adalah bagian "unit" sederhana dari gerakan, seperti (salah satu contoh spesifik) "Idle", "Walk" atau "Run". More info Lihat di Glossary dan Timeline |
Planned | ✔ |
Feature | UI Toolkit | UGUI+TMP | Notes |
---|---|---|---|
Sumber Terbuka / Dapat disesuaikan | Planned | ✔ | UI Toolkit dapat disesuaikan. |
Bagian ini membandingkan UI Toolkit ke IMGUI untuk mengembangkan antarmuka pengguna untuk Editor Unity.
Feature | UI Toolkit | IMGUI | Notes |
---|---|---|---|
Inspektur default | Planned | ✔ | UI Toolkit akan menjadi default UI back end untuk jendela 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 (untuk ketika jenis tidak memiliki editor kustom). |
Inspektur: Edit jenis objek kustom | ✔ | ✔ | |
Inspektur: Edit jenis properti kustom | ✔ | ✔ | |
Inspektur: Nilai campuran (multi-editing) dukungan | Planned | ✔ | |
Array / kontrol tampilan daftar | Planned | ✔ |
Feature | UI Toolkit | IMGUI | Notes |
---|---|---|---|
Tampilan Pohon | Planned | ✔ | |
Grid View | Planned | ❌ | |
Grafik | Planned | ❌ | |
Data mengikat: Properti serial | ✔ | ✔ | |
Data yang mengikat dari tipe C# | Planned | ❌ | |
Data mengikat atribut atau nilai gaya | Planned | ❌ |
Feature | UI Toolkit | IMGUI | Notes |
---|---|---|---|
Nested PrefabsJenis aset yang memungkinkan Anda untuk menyimpan GameObject lengkap dengan komponen dan properti. Prefab bertindak sebagai template dari mana Anda dapat membuat instance objek baru di tempat kejadian. More info Lihat di Glossary |
Partial | ❌ | UI Toolkit UXML template dukungan atribut overrides, yang mirip dengan sifat dimodifikasi dalam sistem Prefab Unity. |
WYSIWYG authoring | ✔ | ❌ | UI Toolkit menyediakan Pembuat UI untuk penulis UI WYSIWYG berbasis dokumen dengan alur kerja seperti web. |
Theming | Planned | ✔ | |
Tata letak & Styling Debugger | ✔ | ✔ | JPG PNG BMP GIF 3 MB UI Toolkit menyediakan debugger khusus (menu: UI Toolkit provides a dedicated debugger (menu: Window > UI Toolkit > Debugger) that is similar to debug tools found in major web browsers. |
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 View integration |
✔ | ✔ |
Feature | UI Toolkit | IMGUI | Notes |
---|---|---|---|
Gaya inline | ✔ | ✔ | |
Gaya Cascading | ✔ | ❌ | |
Pseudo-states (misalnya, hover atau aktif) | ✔ | Partial | |
Tag teks yang kaya | Planned | ✔ | Dukungan tag teks yang kaya di UI Toolkit direncanakan sebagai bagian dari pembaruan ke akhir back rendering teks Unity. |
SDF | Planned | ❌ | Dukungan teks SDF dalam UI Toolkit direncanakan sebagai bagian dari pembaruan ke akhir back rendering teks Unity. |
Font fallbacks | Planned | ✔ |
Meskipun Unity UI dan IMGUI menawarkan kemungkinan tata letak yang sama, sistem tata letak mereka cukup berbeda.
Feature | UI Toolkit | IMGUI | Notes |
---|---|---|---|
Tata letak manual (absolute atau relatif terhadap orang tua) | ✔ | ✔ | |
Satu dimensi (horizontal dan vertikal) | ✔ | ✔ | |
Dua dimensi (grid) | In research | ❌ | Untuk UI Toolkit, Unity menyelidiki kemungkinan mengimplementasikan grid bergaya CSS di ASS. |
Feature | UI Toolkit | IMGUI | Notes |
---|---|---|---|
Integrasi dengan ruang Sistem Input% baru Unity | Planned | ❌ | |
Photogallery | Planned | ❌ | |
Scripting Visual untuk acara | Research | ❌ |
Feature | UI Toolkit | IMGUI | Notes |
---|---|---|---|
Pipa Render Built-in | ✔ | ✔ | |
Pipa Render Universal (URP) | ✔ | ✔ | |
Definisi Tinggi Render Pipeline (HDRP) | ✔ | ✔ | |
Layar (2D) rendering | ✔ | ✔ | |
Ruang Dunia (3D) rendering | Planned | ❌ | Meskipun secara teknis memungkinkan untuk membuat UI 3D di IMGUI menggunakan GUI.matrix , itu tidak dianjurkan. |
Bahan dan warna khusus | Planned | ❌ | |
API Integration | Planned | ❌ | |
Integrasi SVG | Planned | ❌ | |
Anti-aliasing | Planned | ❌ |
Feature | UI Toolkit | IMGUI | Notes |
---|---|---|---|
Tweening alur kerja | Experimental | ❌ | |
Integrasi dengan Klip Animasi dan Timeline | Planned | ❌ |
Feature | UI Toolkit | IMGUI | Notes |
---|---|---|---|
Sumber Terbuka / Dapat disesuaikan | Planned | UI Toolkit dapat disesuaikan. |