🏠 Startseite

Variablen in Unity

Variablen sind eine Möglichkeit, Informationen in Skripten zu speichern. Sie ermöglichen es dir, Werte zu definieren, die im Spiel verwendet werden können — zum Beispiel die Geschwindigkeit des Spielers, die Anzahl der Leben oder den Namen einer Figur. Dank Variablen können Objekte im Spiel sich Dinge merken und ihren Zustand ändern.

Jede Variable hat einen Namen — damit kannst du im Code auf den Wert zugreifen. Variablennamen dürfen Buchstaben, Zahlen und Unterstriche enthalten, aber nicht mit einer Zahl beginnen oder mit Schlüsselwörtern des Sprachstandards übereinstimmen. In der Regel werden verständliche Namen verwendet wie score oder playerHealth. Variablen können innerhalb von Methoden deklariert werden (nur in diesem Block sichtbar) oder auf Klassenebene — dann sind sie in allen Methoden der Klasse verfügbar. Zum Beispiel kann die Variable tmp innerhalb von Start für temporäre Daten genutzt werden, während eine Klassenvariable dauerhafte Informationen wie die Lebenspunkte des Spielers oder einen Objektverweis speichert.

Wichtig ist auch, wer auf die Variable zugreifen darf. Wenn public davor steht, kann der Wert direkt im Unity-Inspector bearbeitet werden — das ist praktisch zum Anpassen, ohne den Code zu ändern. Solche Variablen sind auch von anderen Skripten aus zugänglich. Wenn private verwendet wird (standardmäßig), ist die Variable nur im eigenen Skript verfügbar.

💡 Wenn du keinen Zugriffsmodifikator angibst, gilt die Variable standardmäßig als private. Das bedeutet, sie ist nur innerhalb dieses Skripts sichtbar. Dennoch ist es eine gute Angewohnheit, private explizit zu schreiben — der Code wird dadurch klarer.
PS: Auch wenn wir ehrlich sind: Wer mag schon den Extraaufwand, private noch extra hinzuschreiben? 😊

Als Nächstes schauen wir uns die wichtigsten Variablentypen an, die in Unity am häufigsten verwendet werden.

int

int wird verwendet, um ganze Zahlen zu speichern — also ohne Nachkommastellen. Solche Variablen sind nützlich für Punktestände, Lebensanzahl, Munition und andere numerische Werte.


using UnityEngine;

public class CSharpScript : MonoBehaviour
{
    // Ganzzahlige Variablen
    public int score = 0;
    public int lives = 3;
    private int health = 10;
    private int bullets = 30;
    // ebenfalls private
    int flowersInTheBag = 1;

    // Start wird einmal beim Start des Objekts aufgerufen
    void Start()
    {
        int tmpHealth = health;
    }

    // Update wird einmal pro Frame aufgerufen
    void Update()
    {
        
    }
}
  

float

float wird verwendet, um Zahlen mit Dezimalstellen zu speichern. Solche Variablen sind praktisch für Werte wie Geschwindigkeit, Schaden, Timer oder Koordinaten. In Unity werden float-Variablen häufig für Bewegungsberechnungen sowie bei Physik- und Animationssystemen eingesetzt.


using UnityEngine;

public class CSharpScript : MonoBehaviour
{
    // Gleitkommazahlen (Fließkommawerte)
    public float speed = 5.5f;
    float jumpHeight = 2.2f;
    float damage = 1.75f;
    float timeToExplode = 3.0f;

    // Start wird einmal beim Start des Objekts aufgerufen
    void Start()
    {
        
    }

    // Update wird einmal pro Frame aufgerufen
    void Update()
    {
        float tmpSpeed = speed;
    }
}
  

bool

Eine bool-Variable (Boolean) kann nur zwei Werte speichern: true (wahr) oder false (falsch). Im Speicher eines Computers wird das in der Regel als 1 und 0 dargestellt. Solche Variablen sind hilfreich, um Zustände zu überprüfen – zum Beispiel, ob der Spieler lebt, ob eine Taste gedrückt ist oder ob das Licht eingeschaltet ist.


using UnityEngine;

public class CSharpScript : MonoBehaviour
{
    // Boolesche Variablen
    bool isAlive = true;
    bool hasKey = false;
    bool isGamePaused = false;

    // Start wird einmal beim Start des Objekts aufgerufen
    void Start()
    {
        bool tmpAlive = isAlive;
    }

    // Update wird einmal pro Frame aufgerufen
    void Update()
    {
      
    }
}
  

string

string wird verwendet, um Text zu speichern – Wörter, Sätze oder Zeichen. Solche Variablen sind nützlich für Spielernamen, Nachrichten, Dialoge und alle anderen textbasierten Daten. Text wird in doppelte Anführungszeichen gesetzt: "...".


using UnityEngine;

public class CSharpScript : MonoBehaviour
{
    // Zeichenketten (Strings)
    string playerName = "Kiava";
    string greeting = "Hallo, Spieler!";
    string levelName = "Waldtal";

    // Start wird einmal beim Start des Objekts aufgerufen
    void Start()
    {
        // Konsolenausgabe: Hallo, Spieler! Dein Name ist: Kiava
        Debug.Log(greeting + " Dein Name ist: " + playerName);
    }

    // Update wird einmal pro Frame aufgerufen
    void Update()
    {
      
    }
}
  

Vector3

Vector3 ist ein Variablentyp, der Koordinaten im dreidimensionalen Raum speichert — entlang der Achsen X, Y und Z. Unity arbeitet standardmäßig in 3D, wobei X links-rechts, Y oben-unten und Z vorwärts-rückwärts bedeutet.

Selbst wenn du ein 2D-Spiel entwickelst, nutzt Unity intern eine 3D-Szene — dabei bleibt Z häufig einfach null. Für solche Fälle gibt es den Typ Vector2, der nur X und Y enthält.


using UnityEngine;

public class CSharpScript : MonoBehaviour
{
    // Vektor-Variablen
    Vector3 startPosition = new Vector3(0f, 1f, 0f);
    Vector3 jumpForce = new Vector3(0f, 5f, 0f);

    // Start wird einmal beim Start des Objekts aufgerufen
    void Start()
    {
        transform.position = startPosition;
    }

    // Update wird einmal pro Frame aufgerufen
    void Update()
    {
      
    }
}