🏠 Startseite

🧩 Funktionen in Unity

Funktionen (oder Methoden) in Unity sind eine Möglichkeit, den Code in separate Blöcke zu organisieren, um ihn verständlicher, übersichtlicher und zuverlässiger zu machen. Wenn du möchtest, dass derselbe Satz von Anweisungen an mehreren Stellen ausgeführt wird, kannst du ihn in eine eigene Funktion auslagern und diese bei Bedarf aufrufen.

Anstatt dieselben Zeilen immer wieder zu schreiben, erstellst du die Funktion einmal und rufst sie dann über ihren Namen auf. Das spart Zeit, macht den Code sauberer und erleichtert das Finden von Fehlern.

Funktionen können Aktionen ausführen (z. B. springen, den Spieler heilen, einen Sound abspielen) oder Werte zurückgeben (z. B. Punkte berechnen oder prüfen, ob der Gegner noch lebt). Außerdem können ihnen Parameter übergeben werden – zum Beispiel „füge 5 zur Gesundheit hinzu“ oder „erstelle 3 Gegner“.

In Unity kannst du sowohl eingebaute Funktionen (z. B. Start() und Update()) verwenden als auch deine eigenen schreiben. Genau das lernen wir jetzt – einfach und Schritt für Schritt.

✨ Eigene Funktion erstellen

Eine Funktion in Unity ist ein Codeblock, der eine bestimmte Aktion ausführt. Um eine solche Funktion zu erstellen, musst du sie innerhalb einer Klasse, aber außerhalb anderer Funktionen schreiben. Normalerweise platzieren wir sie in der Nähe von Start() oder Update() im Skript.

Jede Funktion besteht aus vier Teilen: dem Rückgabewert (z. B. void), dem Namen, den runden Klammern für Parameter (auch wenn es keine gibt) und den geschweiften Klammern, in denen der eigentliche Code steht.

Zum Beispiel kannst du eine Funktion Jump() erstellen, die den Charakter springen lässt, oder HealPlayer(int amount), die Gesundheit hinzufügt. Es hängt von der Aufgabe ab – das Wichtigste ist, dass du steuerst, was in der Funktion passiert und wann sie aufgerufen wird.

✅ Void-Funktion (gibt nichts zurück)

Wenn eine Funktion nur eine Aktion ausführt und keinen Wert zurückgibt, wird sie mit dem Schlüsselwort void markiert. Solche Funktionen sind praktisch, wenn einfach etwas getan werden soll – z. B. eine Nachricht anzeigen oder einen Sound abspielen.


using UnityEngine;

public class CSharpScript : MonoBehaviour
{
    // Start wird einmal beim Start des Objekts aufgerufen
    void Start()
    {
        SayHello();
    }

    // Update wird jeden Frame aufgerufen
    void Update()
    {
        
    }

    void SayHello()
    {
        Debug.Log("Hallo, Unity!");
    }
}

Hier haben wir eine Funktion SayHello() erstellt, die Text in die Konsole ausgibt. Wir rufen sie aus Start() auf, damit sie beim Start ausgeführt wird. Solche Funktionen sind die Grundlage einer sauberen Codeorganisation: Sie halten den Code ordentlich und lesbar.

⚖️ Funktion mit Parameter

Funktionen können Parameter annehmen – zusätzliche Daten, die beim Aufruf übergeben werden. Das macht die Funktion flexibler: Sie kann sich je nach Eingabewerten unterschiedlich verhalten.


using UnityEngine;

public class CSharpScript : MonoBehaviour
{
    // Start wird einmal beim Start des Objekts aufgerufen
    void Start()
    {
        HealPlayer(10);
    }

    // Update wird jeden Frame aufgerufen
    void Update()
    {
        
    }

    void HealPlayer(int amount)
    {
        Debug.Log("Heile den Spieler um " + amount + " Lebenspunkte");
    }
}

Wir haben eine Funktion HealPlayer erstellt, die einen Parameter amount annimmt. Beim Aufruf von HealPlayer(10) erscheint in der Konsole eine Nachricht über eine Heilung um 10 Punkte. Dieselbe Funktion kann mit anderen Zahlen aufgerufen werden – und das Verhalten ändert sich entsprechend.

🔄 Eigene Funktion aufrufen

Um eine Funktion aufzurufen, schreibe einfach ihren Namen und runde Klammern. Falls sie Parameter hat, übergib die benötigten Werte darin. Du kannst sie aus Start(), Update() oder einer anderen Funktion aufrufen.

In den vorherigen Beispielen haben wir bereits Funktionen aufgerufen – SayHello() und HealPlayer(10). Das ist ein Funktionsaufruf. Ohne diesen wird die Funktion nicht ausgeführt – sie existiert dann nur im Code.

🔢 Funktion mit Rückgabewert

Manchmal muss eine Funktion etwas berechnen und das Ergebnis zurückgeben. Dazu gibt man anstelle von void den Rückgabetyp an – zum Beispiel int oder bool. Solche Funktionen können Teil eines anderen Ausdrucks sein.


using UnityEngine;

public class CSharpScript : MonoBehaviour
{
    // Start wird einmal beim Start des Objekts aufgerufen
    void Start()
    {
        int score = GetScore();
        Debug.Log("Aktueller Punktestand: " + score);
    }

    // Update wird jeden Frame aufgerufen
    void Update()
    {
        
    }

    int GetScore()
    {
        return 42;
    }
}

Hier gibt die Funktion GetScore() eine Zahl zurück. Wir speichern sie in einer Variablen und geben sie in der Konsole aus. Solche Funktionen sind besonders nützlich, wenn du ein Ergebnis brauchst – zum Beispiel die Position eines Objekts, die Gesundheit des Spielers oder ein true/false-Flag.