Buat antarmuka pengguna (UI)
UI Toolkit

Perbandingan sistem UI dalam Unity

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
.

Pertimbangan umum

Jenis UI: Editor atau runtime

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.

Peran dan set keterampilan

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.

Inovasi dan pengembangan

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.

Perbandingan fitur: UI Toolkit vs. Unity UI (uGUI)

Bagian ini membandingkan UI Toolkit ke Unity UI (sepanjang dengan Paket TextMesh Pro) untuk mengembangkan UI runtime untuk permainan dan aplikasi.

Pengembangan UI Editor Unity

Tidak mungkin untuk mengembangkan antarmuka pengguna untuk Editor Unity menggunakan UI Unity.

Workflow

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.

Styling

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.

Layout

Sementara Unity UI dan UI Toolkit menawarkan kemungkinan tata letak yang sama, sistem tata letak mereka cukup berbeda.

  • Dengan UI Unity, Anda mengontrol tata letak di tingkat GameObjectObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
    Lihat di Glossary
    , menggunakan komponen RectTransForm.
  • Dengan UI Toolkit, Anda mendefinisikan tata letak di lembar gaya ASS, menggunakan sistem tata letak berbasis Flexbox yang lebih.
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.

Events

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

Rendering

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.

Animation

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

Customizability

Feature UI Toolkit UGUI+TMP Notes
Sumber Terbuka / Dapat disesuaikan Planned UI Toolkit dapat disesuaikan.

Perbandingan fitur: UI Toolkit vs. IMGUI

Bagian ini membandingkan UI Toolkit ke IMGUI untuk mengembangkan antarmuka pengguna untuk Editor Unity.

Inspektur

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

Kontrol dan mengikat data

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

Workflow

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

Styling

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

Layout

Meskipun Unity UI dan IMGUI menawarkan kemungkinan tata letak yang sama, sistem tata letak mereka cukup berbeda.

  • JPG PNG BMP GIF 3 MB
  • UI Toolkit menggunakan sistem tata letak berbasis Flexbox yang lebih banyak. Anda mengontrol tata letak melalui gaya ASS.
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.

Events

Feature UI Toolkit IMGUI Notes
Integrasi dengan ruang Sistem Input% baru Unity Planned
Photogallery Planned
Scripting Visual untuk acara Research

Rendering

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

Animation

Feature UI Toolkit IMGUI Notes
Tweening alur kerja Experimental
Integrasi dengan Klip Animasi dan Timeline Planned

Customizability

Feature UI Toolkit IMGUI Notes
Sumber Terbuka / Dapat disesuaikan Planned UI Toolkit dapat disesuaikan.

Buat antarmuka pengguna (UI)
UI Toolkit