Unityjev UI Toolkit je jedna kolekcija raznih značajki, funkcionalnosti, resursa i alata koje developeri mogu koristiti. Riječ “toolkit” u prijevodu s engleskog jezika označavala bi upravo neku kolekciju alata, a “UI” je skraćenica za “User Interface”, odnosno korisničko sučelje. UI Toolkit se može koristiti kako bi se razvilo neko drugo korisničko sučelje i različite ekstenzije i dodaci za sam Unity Editor, odnosno uređivač.

UI Toolkit inspiriran je i bazira se na standardnim web tehnologijama. Sve osobe koje donekle imaju iskustva u web programiranju, odnosno kreiranju web stranica i razumijevanju što se kod njih može postići, imat će odličnu bazu za početak rada s Unityjevim UI Toolkitom te njegovim osnovnim konceptima.

Pregled UI Toolkita

Pokušajmo objasniti neke od najosnovnijih značajki UI Toolkita. Njih možemo svrstati u tri veće kategorije, a to su UI sustav, UI Assets te alati i resursi.

UI sustav sadržava neke bazne značajke i funkcionalnost koja je potrebna kako bi se kreirala korisnička sučelja.
UI Assets sadrži tipove podataka inspirirane standardnim web formatima, a koriste se za izgradnju i stiliziranje korisničkog sučelja.
Alati i resursi se koriste za kreiranje i debug sučelja, kao i za učenje korištenja samog UI Toolkita.

UI sustav

UI sustav je, možemo slobodno reći, jezgra UI Toolkita koji se bazira na prepoznatim web tehnologijama. UI sustav podržava stilizirane tablice i dinamičko rukovođenje eventima. UI sustav se sastoji od sljedećih značajki:

Visual tree – Definira svako korisničko sučelje koje korisnik gradi putem UI Toolkita. Visual tree je jedan graf objekata koji sadrži sve elemente u jednom prozoru.
Kontrole – Library(u slobodnom prijevodu “knjižnica”) svih standardnih UI kontrola kao što su gumbi, pop-upovi, liste ili palete s bojama. Možete ih koristiti u njihovom pretpostavljenom obliku, modificirati ih ili stvoriti svoje osobne kontrole.
Sustav povezivanja podataka – Povezuje podatke s kontrolama koje uređuju njihove vrijednosti.
Engine za raspoređivanje – Sustav koji se bazira na modelu CSS Flexboxa. Pozicionira elemente obraćajući pažnju na izgled i stilske karakteristike.
Sustav događaja – Služi kao svojevrsni posrednik između korisnika i elemenata. Primjerice, unos podataka, dodirne naredbe, “drag and drop” operacije i razni drugi događaji.
UI prikazivač – Sustav izgrađen direktno na Unityjevom grafičkom sloju.
UI Toolkit Runtime podrška – Sadrži komponente koje su potrebne kako bi se kreiralo korisničko sučelje.

UI Assets

UI Toolkit pruža sljedeća dva Asset tipa koja se mogu koristiti kako bi se izgradilo korisničko sučelje na način koji je sličan razvoju web aplikacija:

UXML – Unity eXtensible Markup Language je jezik koji je uvelike inspiriran HTML-om i XML-om, a koristi se kako bi se definirala struktura korisničkog sučelja.
USS – Unity Style Sheets dopuštaju korisniku da primjeni vizualne stilove i načine ponašanja direktno na korisničko sučelje. USS je jako sličan CSS-u koji se koristi na webu.

Alati i resursi

UI Toolkit također sadrži i sljedeće alate i resurse koji pomažu pri izradi korisničkog sučelja:

UI Debugger – Alat za dijagnostiku koji je vrlo sličan debuggerima koji se koriste u Internet pretraživačima.
UI Builder – Dopušta korisnicima da kreiraju i uređuju UXML i USS podatke.
UI Samples – UI Toolkit sadrži jedan library s uzorcima(samples) koda za kontrolu korisničkog sučelja koji se mogu pregledati koristeći uređivač.