In Unity werden die meisten Spielobjekte mit
C#-Skripten gesteuert. Fast jedes manuell erstellte
Skript erbt von der Basisklasse MonoBehaviour
. Diese Klasse
ermöglicht es Unity, das Verhalten von Objekten zu steuern: Code beim
Start des Spiels, in jedem Frame, bei Kollisionen und in anderen
Situationen auszuführen.
So erstellst du ein solches Skript:
CSharpScript
Du wirst ungefähr diese Vorlage sehen:
using UnityEngine;
public class CSharpScript : MonoBehaviour
{
// Start wird einmal beim Start des Objekts aufgerufen
void Start()
{
}
// Update wird einmal pro Frame aufgerufen
void Update()
{
}
}
using UnityEngine;
— bindet die Kernfunktionen von Unity
ein.
public class CSharpScript : MonoBehaviour
— definiert eine
Klasse mit einem Namen, der
mit dem Dateinamen übereinstimmen muss. Unity verlangt
das für eine korrekte Ausführung.
Beim Spielstart ruft Unity die Methode Start()
einmal auf
und führt danach Update()
automatisch in jedem Frame aus —
das bildet den Hauptzyklus des Spiels.
Zusätzlich gibt es viele weitere Methoden, die Unity zu bestimmten Zeitpunkten aufruft: beim Erstellen des Objekts, bei Kollisionen, beim Aktivieren oder Deaktivieren und so weiter. Unten findest du eine Liste der am häufigsten verwendeten Ereignisse im Skript-Lebenszyklus.
Methode | Wann sie aufgerufen wird |
---|---|
Awake() |
📦 Vor Start() , beim Erstellen des Skripts oder
Objekts
|
Start() |
🚀 Einmal vor dem ersten Update() |
Update() |
🕒 Wird in jedem Frame aufgerufen (z. B. für Animationen oder Eingaben) |
FixedUpdate() |
⚙️ Wird in festen Intervallen aufgerufen (z. B. für Physik) |
OnEnable() |
✅ Wenn das Objekt oder Skript aktiviert wird |
OnDisable() |
❌ Wenn das Objekt oder Skript deaktiviert wird |
OnDestroy() |
💥 Beim Löschen des Objekts oder Schließen der Szene |
Methode | Wann sie aufgerufen wird |
---|---|
OnCollisionEnter() |
⚡ Beim Zusammenstoß mit einem anderen Objekt (mit Collider und Rigidbody) |
OnCollisionStay() |
♻ Solange die Objekte in Kontakt bleiben |
OnCollisionExit() |
🏃 Wenn der Kontakt endet |
OnTriggerEnter() |
🚪 Beim Betreten eines Trigger-Colliders |
OnTriggerStay() |
🔁 Solange sich das Objekt im Trigger befindet |
OnTriggerExit() |
🚶 Beim Verlassen des Triggers |
Methode | Wann sie aufgerufen wird |
---|---|
OnMouseDown() |
🖱️ Wenn das Objekt mit der Maus angeklickt wird |
OnMouseUp() |
☝ Wenn die Maustaste über dem Objekt losgelassen wird |
OnMouseEnter() |
👀 Wenn der Mauszeiger das Objekt betritt |
OnMouseOver() |
🔍 Solange der Mauszeiger über dem Objekt schwebt |
OnMouseExit() |
🙈 Wenn der Mauszeiger das Objekt verlässt |
Methode | Wann sie aufgerufen wird |
---|---|
OnBecameVisible() |
📸 Wenn das Objekt in der Kamera sichtbar wird |
OnBecameInvisible() |
🌑 Wenn das Objekt aus dem Kamerabild verschwindet |