Unity — is een cross-platform game-engine voor het maken van 2D- en 3D-applicaties met ondersteuning voor compilatie op mobiele platforms, desktops en consoles. Het wordt zowel gebruikt voor game-ontwikkeling als voor non-gaming-applicaties in architectuur, automobielindustrie en retail. Volgens Unity Technologies, 2025 is meer dan 70% van de mobiele games in de top 1000 van de App Store gemaakt met Unity. C# — is de primaire programmeertaal van de engine, waarin gamelogica, componenten en editorscripts worden geschreven.
Belangrijkste punten
Unity — is een ontwikkelomgeving voor games en realtime applicaties, gemaakt door Unity Technologies in 2005. De engine ondersteunt 27 platforms, waaronder iOS, Android, Windows, macOS, PlayStation, Xbox, Nintendo Switch en WebGL. Volgens het Unity Gaming Report (2024) werden in 2023 maandelijks meer dan 3 miljard mobiele games gestart op Unity.
Het belangrijkste kenmerk van Unity is de componentgeoriënteerde architectuur. Elk object in de scène is een lege container (GameObject) waaraan componenten worden toegevoegd die het gedrag bepalen: rendering, fysica, geluid, animatie en gebruikerslogica. Dit onderscheidt Unity van hiërarchische engines zoals Unreal Engine, waar gedrag wordt bepaald door klasse-overerving.
Volgens Statista (2025) heeft Unity 48% van de markt voor game-engines voor mobiele games, waarmee het Unreal Engine (15%) en eigen oplossingen (37%) voorblijft. De engine wordt gekozen door indie-studio's vanwege de lage instapdrempel en door grote uitgevers vanwege de flexibiliteit van de compilatie-pipeline voor verschillende platforms.
De Unity-architectuur is gebaseerd op vier fundamentele concepten: scènes, GameObjects, componenten en prefabs. Begrip van deze hiërarchie is noodzakelijk voor efficiënt werken met de engine.
Scène (Scene) — is een container die alle objecten van het spellevel of de applicatiestatus bevat. Elke scène heeft zijn eigen set GameObjects, lichtbronnen, camera's en audiobronnen. Overgang tussen scènes gebeurt via SceneManager.LoadScene().
GameObject — de basisbouwsteen van Unity. Het heeft geen visuele weergave of standaardgedrag — het is een lege knoop in de scènehiërarchie. Al het gedrag en uiterlijk worden toegevoegd via componenten. Bijvoorbeeld, om een GameObject zichtbaar te maken, wordt MeshRenderer toegevoegd; om aan fysica te voldoen — Rigidbody.
MonoBehaviour — is de basisklasse voor alle aangepaste scripts in Unity. Het biedt de levenscyclus: Awake (aangeroepen bij het laden van het object), Start (vóór het eerste frame), Update (elk frame), FixedUpdate (elke fysica-stap) en OnDestroy (bij vernietiging).
Elk component kan communiceren met andere componenten op hetzelfde GameObject via GetComponent<T>(). Dit maakt het mogelijk om modulaire systemen te creëren: bijvoorbeeld, het Health-component kan onafhankelijk zijn van het Movement-component, maar beide kunnen reageren op gebeurtenissen via UnityEvent.
Prefab — is een GameObject-sjabloon opgeslagen in het project als een asset. Wijziging van de prefab wordt automatisch toegepast op al zijn exemplaren in scènes. Dit is het centrale hergebruikmechanisme in Unity dat iteraties versnelt en het aantal fouten vermindert.
Prefabs ondersteunen nesting (Nested Prefabs): een prefab kan andere prefabs bevatten, waardoor een hiërarchie ontstaat. Bijvoorbeeld, een autoprefab kan de prefabs van wiel, motor en carrosserie bevatten, elk met eigen componenten en instellingen.
Laten we een basiscomponent voor personagebeweging in C# bekijken. Dit script verplaatst het object voorwaarts ten opzichte van zijn huidige rotatie en verwerkt gebruikersinvoer.
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 5f;
void Update()
{
float move = Input.GetAxis("Vertical");
Vector3 direction = transform.forward * move;
CharacterController controller = GetComponent<CharacterController>();
controller.SimpleMove(direction * speed);
}
}
De methode Update() wordt elk frame aangeroepen. Input.GetAxis leest de verticale besturing, SimpleMove past beweging toe met inachtneming van fysica. CharacterController — een ingebouwde Unity-component die botsingen afhandelt zonder dat je de fysica van botsingen hoeft te schrijven.
Voorbeeldscript voor het afhandelen van botsingen en toebrengen van schade:
using UnityEngine;
public class DamageHandler : MonoBehaviour
{
public int health = 100;
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Enemy"))
{
health -= 10;
if (health <= 0)
{
Destroy(gameObject);
}
}
}
}
De methode OnCollisionEnter wordt aangeroepen door de fysica-engine bij botsing van een GameObject met een ander object. Vergelijking via tag (CompareTag) bepaalt waarmee precies de botsing plaatsvond. Deze benadering maakt hergebruik van het DamageHandler-component voor speler, vijanden en vernietigbare objecten mogelijk zonder codewijziging.
Unity biedt gespecialiseerde tools voor optimalisatie van games op mobiele apparaten met beperkte resources. De belangrijkste optimalisatierichtingen omvatten geheugenbeheer, vermindering van het aantal draw calls en aanpassing aan verschillende schermresoluties.
Voor mobiele platforms biedt Unity Asset Bundles — een contentverpakkingssysteem dat resources op aanvraag laadt, waardoor de initiële grootte van de applicatie afneemt. Dit is vooral belangrijk voor games met veel levels of personages, waar het laden van alle assets tegelijk niet mogelijk is vanwege de beperkingen van app-winkels.
De Unity Profiler maakt analyse van CPU-, GPU- en geheugengebruik op een echt apparaat mogelijk via ADB (Android) of USB (iOS). Volgens Unity Documentation (2025) biedt optimalisatie van het aantal draw calls tot 100–300 op mobiele apparaten stabiele 60 FPS op middenklasse apparaten.
Voor mobiele games gebruikt Unity het Input System dat aanraakbediening, versnellingsmeter en gyroscoop abstraheert onder een uniforme API. Virtuele joysticks, swipes en tikken worden geconfigureerd via Input Action Assets zonder code voor aanraakverwerking te schrijven.
Het Unity UI-systeem (uGUI) ondersteunt Canvas Scaler voor automatische aanpassing van de interface aan verschillende beeldverhoudingen. De component Canvas Scaler met de modus Scale With Screen Size garandeert dat knoppen niet buiten het scherm vallen op tablets en smartphones.
Compilatie van mobiele games in Unity gebeurt via het Build Settings-venster. Voor Android zijn Android SDK en NDK vereist, Unity genereert een Gradle-project dat wordt gecompileerd naar APK of AAB. Voor iOS is Xcode vereist — Unity maakt een Xcode-project met Objective-C/Swift-wrapper, dat vervolgens via Apple wordt gecompileerd.
IL2CPP — een compilatie-optie die C#-code transpileert naar C++ en vervolgens naar native ARM-code. Volgens Unity Benchmark (2024) verhoogt IL2CPP de prestaties met 15–25% op iOS en Android in vergelijking met Mono, maar verlengt het de compilatietijd en vergroot het de binaire bestandsgrootte.
Unity wordt vergeleken met Unreal Engine en Godot als de belangrijkste alternatieven op de markt voor game-engines. De keuze hangt af van het projecttype, de kwalificatie van het team en de doelplatforms.
| Criterium | Unity | Unreal Engine 5 | Godot 4 |
|---|---|---|---|
| Taal | C# | C++ / Blueprints | GDScript / C# |
| Grafisch | Built-in / URP / HDRP | Nanite + Lumen | Eigen renderer |
| Mobiele optimalisatie | Uitstekend (70% mobiele games) | Goed (AAA-port) | Goed (lichte engine) |
| Instapdrempel | Laag | Hoog | Laag |
| Licentie | Personal / Pro / Enterprise | 5% royalty (tot $1M) | MIT (gratis) |
Voor mobiele games blijft Unity de industrienorm dankzij het flexibele rendering-systeem (URP — Universal Render Pipeline) dat graphics optimaliseert voor mobiele GPU's met beperkte rekenkracht. URP vermindert automatisch het aantal rendering-passes en combineert shaders om de GPU-belasting te verlagen.
Unreal Engine 5 biedt betere grafische kwaliteit (Nanite voor geometrie, Lumen voor verlichting), maar vereist krachtigere hardware en meer teamervaring. Godot trekt aan met opensource-code en kleine engine-grootte, maar heeft minder kant-en-klare assets en een kleinere specialistenmarkt.
Unity wordt actief gebruikt buiten game-ontwikkeling — in architectuur, automobielindustrie, retail en onderwijs. Realtime visualisatie (RT3D) maakt het mogelijk om interactieve 3D-presentaties, simulatoren en productconfiguratoren te creëren.
In de automobielindustrie wordt Unity gebruikt voor het maken van digitale tweelingen van auto's en HMI-systemen (Human-Machine Interface). Mercedes-Benz en BMW gebruiken Unity voor het prototypen van dashboardpanelen en multimediasystemen nog voordat het fysieke prototype is uitgebracht.
In retail wordt Unity toegepast voor productconfiguratoren: IKEA (virtuele meubelplaatsing), Nike (schoeiselpersonalisatie) en Audi (autoconfigurator) — al deze projecten zijn gebouwd op Unity. De gebruiker kan in realtime de kleur, materialen en uitrusting van het product wijzigen en het resultaat in 3D zien.
Voor non-gaming-projecten biedt Unity speciale tools: AR Foundation (voor ARKit en ARCore), Pixyz Plugin (voor import van CAD-modellen) en Unity Reflect (voor synchronisatie met Revit BIM-modellen). Het bedrijf ontwikkelt actief de richting Unity Industry, die clouddiensten voor zakelijke klanten omvat.
Veelgestelde vragen
Unity wordt beschouwd als een van de meest toegankelijke game-engines voor beginners dankzij uitgebreide documentatie, gratis Unity Learn-cursussen en een grote community. Om te beginnen volstaat het om de basis van C# te kennen en de principes van componentgebaseerde architectuur te begrijpen. De meeste beginners maken hun eerste game binnen 2–3 maanden.
Ja, Unity heeft een volledige 2D-pipeline: Sprite Renderer, 2D Physics (Box2D), Tilemap voor het maken van levels uit tegels en 2D Animation voor skeletanimatie van sprites. Veel populaire 2D-games, waaronder Hollow Knight en Cuphead, zijn gemaakt in Unity. 2D-tools zijn ingebouwd in de engine zonder dat plugins nodig zijn.
Unity Personal is gratis bij een jaarinkomen tot $200.000. Unity Pro kost $2.040 per jaar per ontwikkelaar en omvat geavanceerde profileringstools, cloud-compilatie en prioritaire ondersteuning. Voor mobiele ontwikkeling is de functionaliteit van Personal voldoende voor de meeste indie-projecten.
Cocos2d — is een 2D-framework met ondersteuning voor C++, Lua en JavaScript, gericht op eenvoudige 2D-games. Unity is een volledige 3D/2D-engine met editor, visuele tools en ondersteuning voor 27 platforms. Cocos2d is populair in Azië voor hypercasual games, Unity is een universele keuze voor elk genre.
Ja, Unity heeft ingebouwde ondersteuning voor AR en VR via AR Foundation (ARKit + ARCore), XR Interaction Toolkit en OpenXR. VR-projecten zoals Half-Life: Alyx (technische demonstratie) en VRChat zijn gemaakt in Unity. De engine ondersteunt alle belangrijke VR-headsets: Meta Quest, HTC Vive, Valve Index en PlayStation VR.
Conclusie
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook