Willkommen zu dieser schrittweisen Einführung in C#-Skripte für Unity — speziell für alle, die gerade erst mit dem Programmieren beginnen.
In dieser Lektion lernen wir die grundlegenden Elemente der C#-Sprache kennen und zeigen, wie sie in Unity verwendet werden. Du erfährst, wie Skripte aufgebaut sind, wofür sie gut sind und wie du damit Objekte im Spiel steuerst.
Skripte in Unity steuern das Verhalten von Objekten: Sie reagieren auf Spielereingaben, starten Animationen, verarbeiten Kollisionen und vieles mehr. Ohne Skripte ist ein Spiel nur eine Sammlung unbeweglicher Bilder.
Keine Sorge, wenn du noch nie Code geschrieben hast — hier wird alles so einfach wie möglich und Schritt für Schritt erklärt. Los geht’s!
Falls du Unity noch nicht installiert hast, lade es über den Unity Hub herunter und installiere es. Das ist das offizielle Installationsprogramm, mit dem du die richtige Version auswählen und den Editor installieren kannst.
Zwar kannst du verschiedene Editoren zum Schreiben von C#-Skripten verwenden, empfohlen wird jedoch Visual Studio. Unity ist gut damit integriert: Autovervollständigung, Fehleranzeige und Projekterkennung sind sofort verfügbar.
Beim Installieren von Unity über den Unity Hub kannst du Visual Studio in der Komponentenliste auswählen — einfach das Häkchen nicht entfernen. Falls Unity schon installiert ist und Visual Studio nicht automatisch verbunden wurde, kannst du es manuell einstellen:
Öffne Edit → Preferences → External Tools und stelle sicher, dass im Feld External Script Editor Visual Studio ausgewählt ist.
💡 Du kannst auch Visual Studio Code verwenden, aber dafür ist zusätzliche Einrichtung und das Installieren von Plugins nötig. Für Einsteiger ist das klassische Visual Studio die bessere Wahl.
Wir schauen uns an, wie Unity automatisch die richtigen Methoden in Skripten aufruft und wo die Ausführung beginnt.
void Update()
{
Debug.Log("Frame!");
}
Wir sprechen über Möglichkeiten zur Datenspeicherung: Zahlen, Zeichenketten, Vektoren und mehr.
int score = 0;
Vector2 move = new Vector2(1f, 0f);
Wie man mehrere Werte speichert und sie der Reihe nach abruft.
string[] fruits = { "Apfel", "Birne" };
List<int> scores = new List<int>();
Wie man Variablen mit Grundrechenarten verändert, vergleicht und berechnet.
score += 10;
speed = distance / time;
Lernen wir, wie man mit if, else und switch Entscheidungen im Code trifft.
if (score > 0)
Debug.Log("Punkte!");
switch (mode)
{
case 0: break;
}
Wiederholende Aktionen: Wie man Code schreibt, der mehrfach ausgeführt wird.
for (int i = 0; i < 3; i++)
Debug.Log(i);
Wir teilen den Code in separate Blöcke auf, um ihn klarer und besser wartbar zu machen.
void SayHello()
{
Debug.Log("Hallo!");
}
Wir speichern Spielobjekte in Variablen, um sie per Code zu steuern.
public GameObject player;
player.SetActive(false);
Wir holen uns benötigte Komponenten (z. B. Physik oder Sprite) und arbeiten damit.
Rigidbody2D rb = GetComponent<Rigidbody2D>();
rb.velocity = Vector2.up * 5f;
Wir lernen integrierte Unity-Funktionen kennen: Bewegung, Aktivierung, Zerstörung von Objekten und mehr.
transform.Translate(Vector2.right);
Destroy(gameObject);