• Spiele
  • Branche
  • Ressourcen
  • Community
  • Lernen
  • Support
Entwicklung
Unity Engine
Erstellen Sie 2D- und 3D-Spiele für jede Plattform
HerunterladenAbonnements und Preise
Monetarisierung
In-App-Kauf (IAP)
Entdecken und verwalten Sie IAP über die Stores
Mediation
Maximieren Sie den Umsatz und optimieren Sie die Monetarisierung
Anzeigenqualität
Schützen Sie das Benutzererlebnis Ihrer App
Tapjoy
Langfristige Benutzerloyalität aufbauen
Alle Monetarisierungsprodukte
Nutzerakquisition
Nutzerakquisition
Entdecken Sie und gewinnen Sie mobile Benutzer
Unity Vector AI
Verbinden Sie Spieler mit den richtigen Spielen
Aura On-Device-Werbung
Erreichen Sie Benutzer auf dem Gerät zur Spitzenzeit der Interaktion
Alle Wachstumsprodukte
Anwendungsfälle
3D-Zusammenarbeit
Erstellen und überprüfen Sie 3D-Projekte in Echtzeit
Immersive Schulung
In immersiven Umgebungen trainieren
Kundenerlebnisse
Interaktive 3D-Erlebnisse erstellen
Alle branchenspezifischen Lösungen
Branchen
Fertigung
Betriebliche Exzellenz erreichen
Einzelhandel
In-Store-Erlebnisse in Online-Erlebnisse umwandeln
Automobilindustrie
Innovation und In-Car-Erlebnisse steigern
Alle Branchen
Technische Bibliothek
Dokumentation
Offizielle Benutzerhandbücher und API-Referenzen
Entwicklertools
Versionsfreigaben und Fehlerverfolgung
Roadmap
Bevorstehende Funktionen überprüfen
Glossar
Bibliothek technischer Begriffe
Einblicke
Fallstudien
Erfolgsgeschichten aus der Praxis
Best-Practice-Leitfäden
Experten Tipps und Tricks
Alle Ressourcen
Neues
Blog
Aktualisierungen, Informationen und technische Tipps
Neuigkeiten
Nachrichten, Geschichten und Pressezentrum
Community Hub
Diskussionen
Diskutieren, Probleme lösen und verbinden
Veranstaltungen
Globale und lokale Veranstaltungen
Gemeinschaftsgeschichten
Made with Unity
Präsentation von Unity-Schöpfern
Livestreams
Schließen Sie sich Entwicklern, Kreativen und Insidern an
Unity Awards
Feier der Unity-Schöpfer weltweit
Für jedes Niveau
Unity Learn
Meistern Sie Unity-Fähigkeiten kostenlos
Professionelles Training
Verbessern Sie Ihr Team mit Unity-Trainern
Neu bei Unity
Erste Schritte
Beginnen Sie noch heute mit dem Lernen
Unity Essential Pathways
Sind Sie neu bei Unity? Starten Sie Ihre Reise
Anleitungen
Umsetzbare Tipps und bewährte Verfahren
Bildung
Für Studierende
Starten Sie Ihre Karriere
Für Lehrkräfte
Optimieren Sie Ihr Lehren
Lizenzstipendium für Bildungseinrichtungen
Bringen Sie die Kraft von Unity in Ihre Institution
Zertifizierungen
Beweisen Sie Ihre Unity-Meisterschaft
Kundendienstoptionen
Hilfe erhalten
Wir helfen Ihnen, mit Unity erfolgreich zu sein
Erfolgspläne
Erreichen Sie Ihre Ziele schneller mit Expertenunterstützung
FAQ
Antworten auf häufige Fragen
Kontakt aufnehmen
Verbinden Sie sich mit unserem Team
Abonnements und Preise
Sprache
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Sozial
Währung
Kaufen
  • Produkte
  • Unity Ads
  • Abonnement
  • Unity Asset Store
  • Wiederverkäufer
Bildung
  • Schüler/Studierende
  • Lehrkräfte
  • Einrichtungen
  • Zertifizierung
  • Learn
  • Programm zur Entwicklung von Fähigkeiten
Herunterladen
  • Unity Hub
  • Datei herunterladen
  • Beta-Programm
Unity Labs
  • Labs
  • Veröffentlichungen
Ressourcen
  • Lernplattform
  • Community
  • Dokumentation
  • Unity QA
  • FAQ
  • Status der Dienste
  • Fallstudien
  • Made with Unity
Unity
  • Unser Unternehmen
  • Newsletter
  • Blog
  • Veranstaltungen
  • Stellenangebote
  • Hilfe
  • Presse
  • Partner
  • Investoren
  • Partner
  • Sicherheit
  • Social Impact
  • Inklusion & Vielfalt
  • Kontakt aufnehmen
Copyright © 2025 Unity Technologies
  • Rechtliches
  • Datenschutzrichtlinie
  • Cookies
  • Verkaufen oder teilen Sie nicht meine personenbezogenen Daten

"Unity", Unity-Logos und sonstige Marken von Unity sind Marken oder eingetragene Markenzeichen von Unity Technologies oder den zugehörigen verbundenen Unternehmen in den USA und anderen Ländern (weitere Informationen finden Sie hier). Alle anderen Namen oder Marken sind Marken ihrer jeweiligen Eigentümer.

Hero background image

Skripting in Unity für erfahrene Programmierer

Für Programmierer ohne Unity-Erfahrung

In Unity können Sie mithilfe von Skripten nahezu alle Teile eines Spieles oder interaktiven Echtzeitinhalts entwickeln. Unity unterstützt Scripting in C#.Es gibt zwei Möglichkeiten, C#-Skripte in Unity aufzubauen: objektorientiertes Design – der traditionelle, gängigste Ansatz – und datenorientierte Entwicklung – jetzt in Unity für bestimmte Anwendungsfälle über leistungsstarke datenorientierte Technologie-Stack (DOTS) für Mehrkernprozessoren möglich.

  • Verfügen Sie bereits über C++-Kenntnisse?
  • GameObjects und Komponenten in Unity
  • Skripting-Komponenten in Unity
  • Vorteile des datenorientierten Designs mit DOTS
  • Moderne Hardware optimal nutzen
  • Fehlerbehebung in Unity
  • Skripting-Backends in Unity
  • Unity durch Erweitern des Editors anpassen

Verfügen Sie bereits über C++-Kenntnisse?

Unity unterstützt C#, eine Standardsprache der Branche mit Ähnlichkeiten zu Java oder C++.

C# ist einfacher zu lernen als C++. Darüber hinaus ist es eine "verwaltete Sprache", die Ihnen die Speicherverwaltung abnimmt: Arbeitsspeicher wird automatisch zugewiesen und freigegeben, Speicherlecks abgefangen usw.

Insgesamt ist C# C++ vorzuziehen, wenn Sie zuerst ein Spiel erschaffen und sich anschließend mit den komplexeren Aspekten der Programmierung befassen möchten.

Mehr erfahren
Siehe Unity API-Dokumentation
GameObjects und Komponenten in Unity

GameObjects und Komponenten in Unity

Das gesamte in Unity entwickelte Gameplay und alle interaktiven Aktivitäten basieren auf drei grundlegenden Bausteinen: Spielobjekte, Komponenten und Variablen.

Jedes Objekt in einem Spiel ist ein GameObject: Charaktere, Beleuchtung, Spezialeffekte, Requisiten – einfach alles.

Komponenten
GameObjects können selbst nichts tun. Um mit ihnen zu interagieren, benötigen GameObjects Eigenschaften, die Sie über Komponenten hinzufügen.

Komponenten definieren und steuern das Verhalten der GameObjects, an die sie angefügt sind. Ein einfaches Beispiel ist die Erschaffung eines Lichts. Hierfür mit einem GameObject eine Licht-Komponente hinzugefügt (siehe unten). Oder Sie fügen einem Objekt eine Starrkörper-Komponente hinzu, um ihm Falleigenschaften zu verleihen.

Komponenten verfügen über zahlreiche bearbeitbare Eigenschaften oder Variablen, die Sie im Inspektorfenster im Unity-Editorund/oder über Skripte anpassen können. Im obigen Beispiel umfassen die Eigenschaften des Lichts unter anderem Reichweite, Farbe und Intensität.

Skripting-Komponenten in Unity

Unity stellt äußerst vielseitige integrierte Komponenten bereit. Doch schon bald werden Sie feststellen, dass Sie mehr brauchen, um Ihre eigene Logik zu implementieren. Hier kommen Skripte ins Spiel, mit denen Sie Ihre eigene Spielelogik und Verhaltensweisen implementieren können. Die Skripte werden dann als Komponenten an GameObjects gebunden. Jedes Skript stellt eine Verbindung zur internen Funktionsweise von Unity her, indem eine Klasse implementiert wird, die von der integrierten klasse MonoBehaviour abgeleitet wird.

Ihre geskripteten Komponenten lassen sich vielseitig einsetzen: als Auslöser für Spielereignisse, für Kollissionsabfragen, zur Anwendung der Spielphysik, zur Reaktion auf Benutzereingaben und vieles mehr. Unter Unity-Skripting-API finden Sie weitere Informationen.

Unity Megacity-Demo in DOTS

Vorteile des datenorientierten Designs mit DOTS

Das traditionelle GameObject-Komponenten-Konzept funktioniert immer noch gut, da es für Programmierer wie Nicht-Programmierer gleichermaßen einfach verständlich ist und sich dafür einfach intuitive Benutzeroberflächen erstellen lassen. Sie fügen einem GameObject eine Starrkörper-Komponente hinzu, um ihm Falleigenschaften zu verleihen, oder eine Licht-Komponente, um es leuchten zu lassen usw.

Das Komponentensysteme wurde jedoch in einem objektorientierten Framework geschrieben und stellt somit bei der Verwaltung des Zwischenspeichers und Arbeitsspeichers bei der sich ständig weiterentwickelnden Hardware eine Herausforderung für Entwickler dar.

Komponenten und GameObjects sind stark C++-basierte Objekte. Alle GameObjects haben einen Namen. Ihre Komponenten sind C#-Wrapper, die auf C++-Komponenten aufgesetzt werden. Dies erleichtert die Arbeit mit ihnen, kann jedoch die Leistung beeinträchtigen, da sie potenziell unstrukturiert im Speicher abgelegt werden. Das C#-Objekt kann sich überall im Speicher befinden. Auch das C++-Objekt wird an einer beliebigen Stelle des Speichers abgelegt. Dinge werden im fortlaufenden Speicher nicht gruppiert. Jedes Mal, wenn etwas zur Verarbeitung in den Prozessor geladen wird, muss es von mehreren Speicherorten zusammengetragen werden. Dies kann ein langsamer und ineffizienter Prozess sein, der aufwändig optimiert werden muss.

Um diese Leistungsprobleme in den Griff zu bekommen, bauen wir Unity von Grund auf mit dem leistungsstarken datenorientierten Technologie-Stack für Mehrkernprozessoren (DOTS) (derzeit als Vorabversion) neu auf.

DOTS ermöglicht es Ihrem Spiel, die neuesten Mehrkernprozessoren effizient auszunutzen. Er besteht aus:

  • dem C#-Jobsystem zum effizienten Ausführen von Multithread-Code.
  • dem Entity-Component-System (ECS) zum standardmäßigen Schreiben von leistungsstarkem Code.
  • dem Burst Compiler zum Erstellen von hochoptimiertem nativem Code.

Das neue Komponentensystem in DOTS ist ECS. Was Sie in einem traditionellen objektorientierten Ansatz mit einem GameObject tun, tun Sie in diesem neuen System mit einer Entity. Komponenten bleiben unverändert. Der entscheidende Unterschied liegt im Datenlayout. Mehr dazu lesen Sie im Blogbeitrag „Zu DOTS: Entity-Component-System

Unity Megacity-Demo in DOTS

Moderne Hardware optimal nutzen

ECS ist nicht nur aus Designgründen der bessere Ansatz zur Spieleprogrammierung. Mit ECS können Sie das C#-Jobsystem und den Burst Compiler von Unity auf moderner Hardware optimal nutzen.

Mit den Mehrkernsystemen von DOTS können Sie Spiele entwickeln, die auf unterschiedlicher Hardware laufen, und lebendigere Spielwelten mit mehr Elementen und komplexeren Simulationen erschaffen. Leistungsstarker Code trägt wiederum dazu bei, dass der Prozessor auf Mobilgeräten nicht zu heiß wird und nicht zu viel Strom verbraucht. Wenn Sie vom objektorientierten zum datenorientierten Design wechseln, kann es für Sie und andere, die mit Ihrem Code arbeiten, einfacher sein, Ihren Code weiter zu verwenden.

Da die Technologie von DOTS noch teilweise als Vorabversion verfügbar ist, sollten Entwickler ihn derzeit nur zur Lösung spezifischer Leistungsprobleme in ihren Projekten und nicht zum Entwickeln ganzer Projekte verwenden. Im Abschnitt "Weitere Ressourcen" unten auf dieser Seite finden Sie Links zu den wichtigsten DOTS-Ressourcen.

Der Unity Profiler für optimierte Performance

Fehlerbehebung in Unity

Optimierung und Fehlerbehebung sind in Unity so effizient, da Entwickler beim Spielen alle Gameplay-Variablen sehen und direkt ändern können, ohne auch nur eine einzelne Codezeile schreiben zu müssen. Das Spiel kann jederzeit angehalten oder der Code von Anweisung zu Anweisung schrittweise ausgeführt werden.

Mit diesen hervorragenden Ressourcen machen Sie sich mit der Optimierung in Unity vertraut:

Der Profiler

Die Profilanalyse

Der Memory-Profiler

Optimierung in Unity verstehen

Die Grafikleistung optimieren

Allgemeine bewährte Verfahren (einschließlich umfassender Tipps zur Optimierung des Benutzeroberflächensystems von Unity)

Skripting-Backends in Unity

.NET: .NET: Unity hat eine Implementierung der Standard-Mono-Laufzeitumgebung mit nativer C#-Unterstützung für Skripting verwendet. Derzeit wird Unity für Mac mit Visual Studio ausgeliefert statt mit MonoDevelop-Unity auf macOS. Unter Windows wird Unity mit Visual Studio ausgeliefert.

Die -NET 4.6-Skripting-Laufzeitumgebung in Unity unterstützt viele der neuen spannenden Funktionen von C# sowie die Fehlerbehebung ab C# 6.0. Außerdem wird eine hervorragende integrierte C#-Entwicklungsumgebung für die neuen C#-Funktionen bereitgestellt.

IL2CPP: IL2CPP: Dieses von Unity entwickelte Skripting-Backend stellt für Projekte auf einigen Plattformen eine Alternative zu Mono dar. Wenn Sie ein Projekt mit IL2CPP erstellen, konvertiert Unity den IL-Code aus Skripten und Assemblys in C++-Code und erstellt dann eine native Binärdatei (z. B. .exe, .apk, .xap) für die gewählte Plattform.

Beachten Sie, dass IL2CPP für Spiele auf iOS und WebGL das einzig verfügbare Skripting-Backend ist.

Unity durch Erweitern des Editors anpassen

Unity bietet Programmierern hervorragende Flexibilität. Passen Sie den Editor mit eigenen Fenstern an, die sich genauso wie der Inspector, das Szenenfenster oder jedes andere integrierte Fenster des Standard-Editors verhalten. Binden Sie Ihre eigenen Tools in Unity ein, um die Workflows und Bedürfnisse Ihres Teams zu unterstützen und effizienter zu arbeiten.

Weitere Ressourcen

Ihr Spiel zu DOTS konvertieren

Ihr Spiel zu DOTS konvertieren

Video ansehen
Megacity-Demo in DOTS

DOTS-Dokumentation

Mehr erfahren
Tools und Services enthalten in der Unity-Entwicklungsplattform

Überblick über die Echtzeit-3D-Plattform von Unity

Mehr erfahren