Welke taal wordt gebruikt om Unity te ontwikkelen

Welke taal moet je gebruiken bij het programmeren met Unity? Of is het een API voor veel talen?

Ik heb de documenten doorgelezen en ik denk dat ik het punt over de gebruikte taal heb gemist.

Er staat dat het een iOS-implementatie heeft, zou de programmeur hierdoor nog steeds kunnen coderen in doelstelling C?

Is Unity een sdk die voor veel platforms kan worden gebruikt of hoe werkt het? Er wordt vermeld dat dezelfde code op meerdere platforms moet worden geïmplementeerd.


Antwoord 1, autoriteit 100%

Voor zover ik weet, kun je met c# gaan.

Je kunt ook de obscure taal “Boe” gebruiken. (Gevonden op https://boo-language.github.io/)

In het verleden (vóór ongeveer 2012) was het mogelijk om een vreemde variant van Java te gebruiken, maar die is nu verouderd en werkt niet.

Houd er rekening mee dat Unity bouwt voor Android/iOS en vele andere platforms. Het feit dat iOS-programmering gebruikmaakt van objective-c of Swift, is op het Unity3D-niveau volkomen irrelevant. Unity is geprogrammeerd met c#.


Antwoord 2, autoriteit 95%

Alle ontwikkeling wordt gedaan met behulp van uw keuze voor C#, Boo of een dialect van JavaScript.

  • C# heeft geen uitleg nodig 🙂
  • Boo is een CLI-taal met een syntaxis die erg lijkt op Python; het is echter statisch getypt en heeft een paar andere verschillen. Het is niet “echt” Python; het lijkt gewoon op elkaar.
  • De versie van JavaScript die door Unity wordt gebruikt, is ook een CLI-taal en wordt gecompileerd. Nieuwkomers gaan er vaak van uit dat JS niet zo goed is als de andere drie, maar het is gecompileerd en net zo snel en functioneel.

De meeste voorbeeldcode in de documentatie is in JavaScript; als je rondneust op de officiële forums en wiki, zie je een redelijk gelijkmatige mix van C# en Javascript. Zeer weinig mensen lijken Boo te gebruiken, maar het is net zo goed; kies de taal die je al kent of die je het leukst leert.

Unity neemt uw C#/JS/Boo-code en compileert deze voor gebruik op iOS, Android, pc, Mac, XBox, PS3, Wii of webplug-in. Afhankelijk van het platform kan dat Objective C of iets anders worden, maar dat is volledig transparant voor jou. Het heeft echt geen zin om Objective C te kennen; je kunt er niet in programmeren.


Update 31/01/2019

Vanaf Unity 2017.2 zette “UnityScript” (Unity’s versie van JavaScript, maar niet identiek aan) de eerste stap naar volledige afschaffing door de optie om een “JavaScript”-bestand toe te voegen uit de gebruikersinterface te verwijderen. Hoewel JS-bestanden nog steeds kunnen worden gebruikt, wordt de ondersteuning ervoor in latere versies volledig weggelaten.

Dit betekent ook dat Boo onbruikbaar wordt omdat de compiler in feite als een laag bovenop UnityScript wordt gebouwd en dus ook wordt verwijderd.

Dit betekent dat in de toekomst alleen C# native ondersteuning zal hebben.

unity heeft een volledig artikelover de beëindiging van UnityScript en Boo in augustus 2017.


Antwoord 3, autoriteit 14%

Als je voor iPhone bouwt in Unity, wordt je mono-assembly (geschreven in C# of JavaScript) Ahead of Time (AOT) gecompileerd naar native ARM-code.

De ontwerptool maakt ook een stub xcode-project en verwijzingen waarmee lib. Je kunt objectieve C-code aan dit xcode-project toevoegen als er native dingen zijn die je wilt doen die nog niet zichtbaar zijn in de omgeving van Unity (bijvoorbeeld toegang tot het kompas en/of gyroscoop).


Antwoord 4, autoriteit 11%

Unity3d ondersteunt C#, Boo en JavaScript.
Het framework vertaalt dit naar zijn tussenformaat en later naar het gewenste platform (IOS/Android/Linux/Windows)

Houd er rekening mee dat C#-scripts eerst worden gecompileerd, gevolgd door JS en Boo
Als u dus wilt dat een C#-script met een JS communiceert, moet u de JS in de map Standard Assets bewaren.


Antwoord 5, autoriteit 7%

Unity ondersteunt:
1. UnityScript (staat bekend als Javascript maar bevat meer functionaliteit voor de Unity-game-engine. Ik denk dat dit heel gemakkelijk te leren is)
2. Boo (geen ervaring)
3. C# (ik geef hier de voorkeur aan omdat het handig is om te leren en je dit ook buiten de eenheid kunt gebruiken. Ik denk ook dat het gemakkelijk te wennen is)


Antwoord 6, autoriteit 5%

Enkele van de belangrijkste verschillen tussen C# en Javascript-scriptsyntaxis in Unity.

http://unity3d.com/ leren/tutorials/modules/beginner/scripting/c-sharp-vs-javascript-syntaxis

maar onthoud dat C# de beste is om in eenheid te ontwikkelen


Antwoord 7, autoriteit 2%

U kunt C#, Javascript, Boo gebruiken.

Tenzij de computervereisten voor de functie die u schrijft een zware belasting van de processor veroorzaken, levert Javascript in de meeste gevallen voldoende prestaties.


Antwoord 8, autoriteit 2%

Het gebruikt c# en unityscript(javascript), dat wordt ondersteund door de broncode in c++, en ondersteuning voor c++ plug-ins (broncode en plug-ins vereisen pro).

De unity3d-scriptreferentie is heel gemakkelijk te begrijpen/gebruiken indien nodig, waarschijnlijk de gemakkelijkste engine zoals cryengine, udk, enz.

Hopelijk helpt dit.


Antwoord 9, autoriteit 2%

Men kan een van de volgende drie scripttalen gebruiken:

  1. JavaScript
  2. C#
  3. Boe

Maar mijn persoonlijke keuze is C# omdat ik het sneller vind in vergelijking met andere twee.


Antwoord 10, autoriteit 2%

op dit moment kan alleen C# worden gebruikt voor scriptondersteuning voor Boo en is Javascript verwijderd.


Antwoord 11, autoriteit 2%

Ik herinner me dit van het lezen van enkele artikelen over de prestaties in Unity van internet, die JavaScript-gebruikers waarschuwde om het in Unity te gebruiken over echt enorme problemen met het gebruik van JavaScript in unity in plaats van C#, er staat dat C# bijna 4x sneller is dan JavaScript!.

Ik waardeer dat artikel echt omdat het me heeft gered toen ik op het punt stond te gaan gamen, ik bedoel niet dat JavaScript slecht is voor ontwikkelaars van Unity, het is goed, maar mijn advies zou kunnen zijn dat als je JavaScript wilt gebruiken, je dat moet doen gebruik het voor eenvoudige kleine spelletjes NIET VOOR GROTE PROJECTENomdat het echt een groot probleem kan zijn!

Other episodes