🏠 Startseite

MonoBehaviour in Unity

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:

  1. Klicke im Assets-Fenster mit der rechten Maustaste
  2. Wähle Create → MonoBehaviour Script
  3. Gib dem Skript z. B. den Namen CSharpScript
  4. Doppelklicke es, um es im Editor zu öffnen

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.

🧱 Lebenszyklus-Ereignisse

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

🧲 Physik (Kollisionen und Trigger)

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

🖱️ Mausinteraktion

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

📷 Kamera und Inspector

Methode Wann sie aufgerufen wird
OnBecameVisible() 📸 Wenn das Objekt in der Kamera sichtbar wird
OnBecameInvisible() 🌑 Wenn das Objekt aus dem Kamerabild verschwindet