Unity developer/-ka je specijalizovan/-a za kreiranje video-igara koristeći game engine Unity. Poseduje podrobno razumevanje principa razvoja igara, programskih jezika i tehnika dizajna. Unity developer/-ka je odgovoran/-a za oživljavanje vizije gejm dizajnera implementacijom mehanika igre, korisničkih interfejsa i interaktivnih elemenata. U svom svakodnevnom radu, Unity developer/-ka koristi C# ili UnityScript (varijantu JavaScript-a) za pisanje koda koji kontroliše ponašanje objekata i likova u igri. Pošto je Unity multiplatformski engine, osoba na ovoj pozicji mora poznavati sve sisteme na kojima bi igra radila (PC, konzole i mobilne telefone).
Blisko sarađuje sa gejm dizajnerima kako bi integrisao/-la art, animacije i zvučne efekte u igru. Takođe, optimizuje performanse i rešava sve tehničke probleme koji se mogu pojaviti tokom razvoja igre. Može da kreira prilagođene skripte i plugin-ove koji poboljšavaju funkcionalnost Unity-a ili da sarađuje sa drugim developerima na integraciji third-party alata i biblioteka. Sve u svemu, Unity developer/-ka poseduje odlične tehničke veštine, kreativnost i sposobnost za rešavanje problema.
Alati
Unity
Visual Studio
MonoDevelop
Blender
Photoshop
Substance Painter
Maya
3ds Max
Adobe Illustrator
Unity developer/-ka blisko sarađuje sa gejm dizajnerima kako bi razumeo/-la njihovu viziju, odredio/-la tehničke zahteve i implementirao/-la mehanike igre i sisteme u skladu sa tim. Pruža feedback o izvodljivosti određenih dizajnerskih ideja i sarađuje na iteracijama i usavršavanju mehanika igre kako bi se postiglo željeno igračko iskustvo. Takođe, sarađuje sa artistima i animatorima. Oni udruženo rade na integraciji arta, animacija i vizuelnih efekata u game engine. Unity developer/-ka obezbeđuje pravilno uvođenje, optimizovanje i prikazivanje asset-a u okruženju igre. Takođe može blisko sarađivati sa dizajnerima zvuka i kompozitorima kako bi integrisao/-la auditivne elemente i stvorio/-la koherentno audio-vizuelno iskustvo za igrače.
Pored toga, Unity developer/-ka često sarađuje sa drugim programerima ili inženjerima u razvojnom timu. Oni mogu da rade zajedno na razvoju i integraciji custom alata, skripti ili plugin-ova, kako bi poboljšali proces razvoja igre ili proširili funkcionalnost Unity-a. Saradnja sa QA testerima takođe je ključna, jer Unity developer/-ka treba da popravi sve bagove ili probleme koji se pojave tokom testiranja. Njihovi zajednički napori doprinose stvaranju imerzivnog i prijatnog igračkog iskustva.
U zavisnosti od senioriteta, od Unity developera se očekuje da može da savlada, uradi i isporuči sledeće stvari:
U zavisnosti od senioriteta, od Unity developera se očekuje da može da savlada, uradi i isporuči sledeće stvari:
Programeri igara obično kombinuju formalno obrazovanje i samoobrazovanje kako bi savladali svoju veštinu. Mnogi započinju sticanjem diplomskog stepena iz računarskih nauka, softverskog inženjeringa ili srodnog polja. Ovi programi pružaju čvrste osnove u programskim jezicima, algoritmima i strukturama podataka.
Međutim, dinamična priroda gejming industrije često zahteva dodatno, specijalizovano znanje. Programeri igara često se kontinuirano usavršavaju, prateći najnovije alate, tehnologije i trendove industrije. Onlajn kursevi, radionice i učešće u zajednicama razvoja igara doprinose njihovom ekspertizom. Praktično iskustvo kroz stažiranje ili lične projekte je ključno, omogućavajući budućim programerima da primene teorijsko znanje na stvarne izazove razvoja igara.
Ako hoćeš da se prijaviš za poziciju Unity developera/-ke, ključno je da poseduješ čvrstu programersku osnovu. Poznavanje jezika kao što su C# ili UnityScript je od suštinskog značaja za pisanje koda, implementaciju mehanika igre i rukovanje različitim aspektima razvoja igara u okviru Unity-a. Zatim, neophodno je da poseduješ podrobno razumevanje samog Unity-a. Ovo uključuje poznavanje njegovih funkcija i alata, kao i iskustvo u radu sa Unity editorom, uvođenju i optimizaciji asset-a, implementaciji fizike, rukovanju animacijama i kreiranju korisničkih interfejsa.
Pored toga, veoma je korisno da imaš portfolio projekata koji pokazuju tvoju sposobnost razvijanja igre koristeći Unity. Ovo pokazuje praktično iskustvo i tvoje veštine na delu. Sposobnost rešavanja problema, kreativnost, prilagodljivost i veštine saradnje se, takođe, veoma cene kada je ova pozicija u pitanju. Razvijene komunikacione veštine i sposobnost efikasnog timkog rada su važni za saradnju sa gejm dizajnerima, artistima i drugim članovima development tima.
Tokom intervjua za poziciju Unity developera/-ke procenjuje se tvoja tehnička stručnost, veštine rešavanja problema i sposobnost da radiš u timskom okruženju. Intervjuu pored regrutera obično prisustvuju Technical Lead i gejm dizajner/-ka. Intervju obično uključuje diskusije o tvom iskustvu sa Unity-em, razumevanju principa razvoja igara i suočavanju sa izazovima. Ispitivači te, takođe, mogu zamoliti da pokažeš svoj prethodni rad ili da pružiš uzorke koda kako bi procenili tvoje veštine kodiranja i poštovanje najboljih praksi. Neka od uobičajenih pitanja na intervjuu za poziciju Unity developera/-ke su:
Tehnički zadatak obično uključuje praktičnu vežbu ili zadatak koji procenjuje tvoju sposobnost primene tehničkog znanja i veština u stvarnom svetu. Zadatak je osmišljen da proceni tvoju stručnost u korišćenju Unity-a, sposobnost rešavanja problema, prakse kodiranja i koliko pažnje posvećuješ detaljima.
Tehnički zadatak može zahtevati da završiš određeni programski izazov, razviješ malu igru ili interaktivni demo u određenom vremenskom okviru. Od tebe se može tražiti da pokažeš razumevanje osnovnih Unity koncepata, implementiraš mehanike igre, optimizuješ performanse ili integrišeš asset-e kao što su animacije, audio ili korisnički interfejsi. Zadatak, takođe, može uključivati rad sa već postojećim asset-ima ili razvoj koda „od nule”.