• Spiele
  • Branche
  • Ressourcen
  • Community
  • Lernen
  • Support
Entwicklung
Unity Engine
Erstellen Sie 2D- und 3D-Spiele für jede Plattform
HerunterladenAbonnements und Preise
Monetarisierung
In-App-Kauf (IAP)
Entdecken und verwalten Sie IAP über die Stores
Mediation
Maximieren Sie den Umsatz und optimieren Sie die Monetarisierung
Anzeigenqualität
Schützen Sie das Benutzererlebnis Ihrer App
Tapjoy
Langfristige Benutzerloyalität aufbauen
Alle Monetarisierungsprodukte
Nutzerakquisition
Nutzerakquisition
Entdecken Sie und gewinnen Sie mobile Benutzer
Unity Vector AI
Verbinden Sie Spieler mit den richtigen Spielen
Aura On-Device-Werbung
Erreichen Sie Benutzer auf dem Gerät zur Spitzenzeit der Interaktion
Alle Wachstumsprodukte
Anwendungsfälle
3D-Zusammenarbeit
Erstellen und überprüfen Sie 3D-Projekte in Echtzeit
Immersive Schulung
In immersiven Umgebungen trainieren
Kundenerlebnisse
Interaktive 3D-Erlebnisse erstellen
Alle branchenspezifischen Lösungen
Branchen
Fertigung
Betriebliche Exzellenz erreichen
Einzelhandel
In-Store-Erlebnisse in Online-Erlebnisse umwandeln
Automobilindustrie
Innovation und In-Car-Erlebnisse steigern
Alle Branchen
Technische Bibliothek
Dokumentation
Offizielle Benutzerhandbücher und API-Referenzen
Entwicklertools
Versionsfreigaben und Fehlerverfolgung
Roadmap
Bevorstehende Funktionen überprüfen
Glossar
Bibliothek technischer Begriffe
Einblicke
Fallstudien
Erfolgsgeschichten aus der Praxis
Best-Practice-Leitfäden
Experten Tipps und Tricks
Alle Ressourcen
Neues
Blog
Aktualisierungen, Informationen und technische Tipps
Neuigkeiten
Nachrichten, Geschichten und Pressezentrum
Community Hub
Diskussionen
Diskutieren, Probleme lösen und verbinden
Veranstaltungen
Globale und lokale Veranstaltungen
Gemeinschaftsgeschichten
Made with Unity
Präsentation von Unity-Schöpfern
Livestreams
Schließen Sie sich Entwicklern, Kreativen und Insidern an
Unity Awards
Feier der Unity-Schöpfer weltweit
Für jedes Niveau
Unity Learn
Meistern Sie Unity-Fähigkeiten kostenlos
Professionelles Training
Verbessern Sie Ihr Team mit Unity-Trainern
Neu bei Unity
Erste Schritte
Beginnen Sie noch heute mit dem Lernen
Unity Essential Pathways
Sind Sie neu bei Unity? Starten Sie Ihre Reise
Anleitungen
Umsetzbare Tipps und bewährte Verfahren
Bildung
Für Studierende
Starten Sie Ihre Karriere
Für Lehrkräfte
Optimieren Sie Ihr Lehren
Lizenzstipendium für Bildungseinrichtungen
Bringen Sie die Kraft von Unity in Ihre Institution
Zertifizierungen
Beweisen Sie Ihre Unity-Meisterschaft
Kundendienstoptionen
Hilfe erhalten
Wir helfen Ihnen, mit Unity erfolgreich zu sein
Erfolgspläne
Erreichen Sie Ihre Ziele schneller mit Expertenunterstützung
FAQ
Antworten auf häufige Fragen
Kontakt aufnehmen
Verbinden Sie sich mit unserem Team
Abonnements und Preise
Sprache
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Sozial
Währung
Kaufen
  • Produkte
  • Unity Ads
  • Abonnement
  • Unity Asset Store
  • Wiederverkäufer
Bildung
  • Schüler/Studierende
  • Lehrkräfte
  • Einrichtungen
  • Zertifizierung
  • Learn
  • Programm zur Entwicklung von Fähigkeiten
Herunterladen
  • Unity Hub
  • Datei herunterladen
  • Beta-Programm
Unity Labs
  • Labs
  • Veröffentlichungen
Ressourcen
  • Lernplattform
  • Community
  • Dokumentation
  • Unity QA
  • FAQ
  • Status der Dienste
  • Fallstudien
  • Made with Unity
Unity
  • Unser Unternehmen
  • Newsletter
  • Blog
  • Veranstaltungen
  • Stellenangebote
  • Hilfe
  • Presse
  • Partner
  • Investoren
  • Partner
  • Sicherheit
  • Social Impact
  • Inklusion & Vielfalt
  • Kontakt aufnehmen
Copyright © 2025 Unity Technologies
  • Rechtliches
  • Datenschutzrichtlinie
  • Cookies
  • Verkaufen oder teilen Sie nicht meine personenbezogenen Daten

"Unity", Unity-Logos und sonstige Marken von Unity sind Marken oder eingetragene Markenzeichen von Unity Technologies oder den zugehörigen verbundenen Unternehmen in den USA und anderen Ländern (weitere Informationen finden Sie hier). Alle anderen Namen oder Marken sind Marken ihrer jeweiligen Eigentümer.

Hero background image

Beschleunigen und verbessern Sie die QA-Tests mit der Debug-Klasse von Unity

Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.
Klicken Sie hier.

Lesen Sie weiter, um zu erfahren, wie Sie Ihren QA- und Debugging-Prozess mit der Debug-Klasse von Unity verbessern können.

Während Sie möglicherweise bereits mit der Debug.Log Funktion vertraut sind, unterstützt die Unity Debug-Klasse viele andere nützliche Funktionen, die Ihnen helfen können, Ihre Tests und Debugging zu beschleunigen. Diese Seite erklärt, wie Sie die Debug-Klasse für die Gizmo-Visualisierung in den Szenen- und Spielansichten verwenden, um den Spielmodus im Editor per Skript zu pausieren und weitere Tipps.

  • Fehler, Warnungen und Nachrichten
  • Konfigurieren Sie Ihren Stack-Trace
  • Verwenden Sie LogFormat, um Variablen anzuzeigen
  • Zusätzliche Parameter
  • Verwendung von Debug.Assert
  • Verwendung von Debug.Break
  • Debug.DrawLine
  • Debug.DrawRay
  • Verwendung von Gizmos
  • Auslösen von Ausnahmen
  • Weitere Ressourcen

Fehler, Warnungen und Nachrichten

Wenn Sie Erfahrung mit Unity haben, haben Sie wahrscheinlich das Konsole-Fenster verwendet, um Fehler, Warnungen und andere vom Editor generierte Nachrichten anzuzeigen. Sie haben sicherlich auch Ihre eigenen Nachrichten an die Konsole mit der Debug Klasse ausgegeben.

Aber Sie sind nicht nur auf die Debug.Log-Nachricht beschränkt. Wenn Sie Ausgabestrings im Konsolenfenster erstellen, können Sie einen von drei Typen (Fehler, Warnung und Nachricht) angeben, jeder mit seinem eigenen Symboltyp.

Die drei Varianten sind:

  • Debug.Log ("Dies ist eine Protokollnachricht.")
  • Debug.LogWarning ("Dies ist eine Warnmeldung.")
  • Debug.LogError ("Dies ist eine Fehlermeldung.")

Sie können das Konsolenfenster verwenden, um die Nachrichten basierend auf Ihren Vorlieben zu filtern. Sie können auch die Fehlerpause im Konsolenfenster nutzen, da alle Fehler, die Sie über die Debug-Klasse in die Konsole schreiben, den Spielmodus von Unity anhalten.

Alles, was im Konsolenfenster ausgegeben wird, sei es von Unity oder Ihren eigenen Nachrichten, wird in einer Protokolldatei hinzugefügt, auf die Sie verweisen können, um zu sehen, wo Probleme in Ihrer Anwendung aufgetreten sind. Jedes Betriebssystem speichert die Protokolldateien an unterschiedlichen Orten, also überprüfen Sie die Dokumentation, um die Spezifikationen für jedes System zu sehen.

So debuggen Sie Spielcode mit Roslyn-Analyzern
Stack-Trace-Optionen finden Sie unter Projekteinstellungen > Spieler.
STACK-TRACE-OPTIONEN FINDEN SIE UNTER PROJEKTEINSTELLUNGEN > SPIELER.

Konfigurieren Sie Ihren Stack-Trace

Wenn ein Fehler oder eine Ausnahme ausgelöst wird, zeigt das Konsolenfenster den Stack-Trace zusammen mit der Fehlermeldung an, um Ihnen zu helfen, zu verstehen, wie der Fehler aufgetreten ist und wo er seinen Ursprung hat. Während Debug.Log es Ihnen ermöglicht, eine Nachricht an die Konsole zu senden, können Sie auch das Detailniveau konfigurieren, das im Stack-Trace angezeigt wird.

Standardmäßig verlinkt die Ausgabe in der Konsole zur Codezeile, die die Nachricht generiert hat, was es einfach macht, die Zeile, Methode oder Sequenz von Funktionsaufrufen zu identifizieren, die den Eintrag verursacht haben.

Wenn das Skript nicht in Ihrer gewählten IDE geöffnet wird, gehen Sie zu Datei > Einstellungen > Externe Tools und wählen Sie den „Externen Skripteditor“ aus dem Dropdown-Menü aus.

Sie können die Informationen, die im Stack-Trace angezeigt werden, über Datei > Build-Einstellungen… > Spieler-Einstellungen… > Weitere Einstellungen im Editor konfigurieren.

Die folgenden Optionen stehen für jeden Protokolltyp zur Verfügung:

  • Keine: Es wird kein Stack-Trace in das Protokoll ausgegeben.
  • SkriptNur: Es wird nur der verwaltete Stack-Trace ausgegeben. Dies ist die Standardoption, wenn Sie die Einstellungen nicht geändert haben.
  • Voll: Der native und verwaltete Stack-Trace wird protokolliert.

Nutzen Sie die Suchfunktion in der Konsole, wenn Ihr Protokoll überfüllt wird. Während Sie einen Suchbegriff eingeben, filtert die Konsole die Nachrichten, um nur die anzuzeigen, die den übereinstimmenden Text enthalten.

Steuern Sie, wie viele Zeilen jedes Eintrags in der Liste sichtbar sind, indem Sie auf die Schaltfläche des Konsolenmenüs klicken und Log Entry > [X] Zeilen aus dem Menü auswählen, wobei [X] die Anzahl der anzuzeigenden Zeilen für jeden Eintrag ist.

Verwenden Sie LogFormat, um Variablen anzuzeigen

Die String.Format Methode in C# ermöglicht es Ihnen, einen String mit eingebetteten formatierten Variablen-Daten zu erstellen. Die Debug-Klasse hat Debug.LogFormat, die dieselbe Syntax verwendet.

Der erste Parameter ist der formatierte Nachrichtenstring. Durch das Einfügen eines Indexwerts in geschweifte Klammern wird dieser durch den Parameterindex-1 unter Verwendung seiner ToString Methode ersetzt, falls vorhanden, oder durch die System-String-Konvertierung. Im obigen Codebeispiel wird in Zeile 14 {0} durch origin.ToString() ersetzt.

Ein komplexeres Beispiel ist dieses:

Debug.LogFormat("Zu Beginn transform.position={0}, transform.rotation={1}", transform.position, transform.rotation);

{0} wird durch Parameter 1, transform.position, und {1} wird durch Parameter 2, transform.rotation, ersetzt. In jedem Fall wird die ToString-Methode der Vector3- und Quaternion-Eigenschaften verwendet. Das Ergebnis wird so aussehen:

„Der Ursprung ist (0.00, 0.00, 0.00)

UnityEngine.Debug:LogFormat (string,object[])“

Zusätzliche Parameter

Sie können auch einen optionalen zweiten Parameter für diese Protokollmethoden angeben, um anzuzeigen, dass die Nachricht mit einem bestimmten GameObject verbunden ist:

Debug.LogWarning("Ich komme in Frieden!", this.gameObject);

Wenn Sie formatierte Variablen-Daten anzeigen, gibt es Warnungs- und Fehlerversionen von Debug.LogFormat:

  • Debug.LogWarningFormat("Der Wert von Cube.position.x ist {0:0.00}", transform.position.x)
  • Debug.LogErrorFormat("Der Wert von Cube.position.x ist {0:0.00}", transform.position.x)

Wenn Sie einen Float-Wert an die Konsole mit Debug.Logformat senden, wird die Standardanzeige sechs Zahlen nach dem Dezimalpunkt anzeigen. Sie können dieses Verhalten mit einer benutzerdefinierten numerischen Formatzeichenfolge steuern.

Debug.LogFormat("pi = {0:0.00}", Mathf.PI);

Durch die Verwendung eines Doppelpunktes zeigt die Formatzeichenfolge 0.00 den ganzzahligen Teil eines Wertes, das Dezimaltrennzeichen und zwei Zahlen nach dem Trennzeichen an. Die letzte Zahl wird basierend auf dem nächsten Wert mit der bekannten Methode gerundet: 4 zum Boden, 5 zum Himmel.

In diesem Beispiel wäre die Ausgabe: pi = 3.14

So führen Sie automatisierte Tests für Ihre Spiele mit dem Unity Test Framework aus

Verwendung von Debug.Assert

Debug.Assert() ist ähnlich wie die Methode Debug.Log(), aber anstatt eine Nachricht in die Konsole zu protokollieren, testet es eine Bedingung und zeigt eine Fehlermeldung an, wenn die Bedingung falsch ist. Es wird verwendet, um Annahmen zu validieren und Fehler während der Entwicklung zu erkennen.

Assertions sind eine großartige Möglichkeit, um zu überprüfen, dass Ihr Programm keinen unerwarteten Zustand erreicht. Sie sind wie das Einbetten eines Logs in eine if-Anweisung. Wenn Sie an einer Methode arbeiten, die davon abhängt, dass eine Klassenproperty zugewiesen ist, kann eine Assertion Ihnen helfen, Fehler zu finden.

Wenn Debug.Assert() aufgerufen wird, nimmt es zwei Parameter: eine zu testende Bedingung und eine optionale Nachricht, die angezeigt wird, wenn die Bedingung falsch ist. Wenn die Bedingung wahr ist, passiert nichts und das Programm läuft weiter. Wenn die Bedingung falsch ist, stoppt das Programm und eine Fehlermeldung wird im Editor angezeigt.

void SetColor(Color color)

{

Debug.Assert(material != null, "ChangeColor: material nicht zugewiesen");

material.SetColor("_Color", color);

}

Wenn Sie SetColor aufrufen und material nicht zugewiesen ist, wird 'SetColor: material nicht zugewiesen' in der Konsole angezeigt.

Verwendung von Debug.Break

Debug.Break() ist eine Methode der Debug-Klasse von Unity, die verwendet wird, um die Ausführung Ihres Spiels anzuhalten und den Debugger an der aktuellen Stelle in Ihrem Code zu betreten. Es ermöglicht Ihnen, den Zustand Ihres Spiels zu inspizieren und Ihren Code zeilenweise durchzugehen, um Fehler zu finden und zu beheben.

Wenn Debug.Break() aufgerufen wird, stoppt es die Ausführung Ihres Spiels und öffnet das Debugger-Fenster. Dies ermöglicht es Ihnen, den Zustand Ihres Spiels zu überprüfen und Ihren Code nach Bedarf zu debuggen. Sie können den Debugger verwenden, um Ihren Code durchzugehen, Haltepunkte zu setzen und Variablen und Objekte im Speicher zu inspizieren.

Zum Beispiel möchten Sie möglicherweise ein Spiel anhalten, wenn ein NPC innerhalb der Zielreichweite des Spielercharakters ist. Wenn das Spiel stoppt, können Sie seinen Zustand im Inspektor überprüfen:

float dist = Vector3.Distance(transform.position, npc.position);

if ( dist < 5) Debug.Break();

Debug.DrawLine in der Szenenansicht
DEBUG.DRAWLINE IN DER SZENENANSICHT

Debug.DrawLine

Debug.DrawLine und Debug.DrawRay sind zwei Methoden der Debug-Klasse von Unity, die für visuelles Debugging verwendet werden. Sie sind nützlich, um physikbezogenen Code zu testen und zu visualisieren, wie Kollisionen und Strahlen. Beide ermöglichen es Ihnen, eine farbige Linie zu zeichnen, die sowohl in der Spiel- als auch in der Szenenansicht sichtbar ist. Zum Beispiel können Sie Debug.DrawRay verwenden, um die Trajektorie einer Kugel oder den Pfad eines Laserstrahls zu visualisieren, und Debug.DrawLine verwenden, um die Grenzen eines Colliders oder die Bewegung eines Objekts zu visualisieren.

Debug.DrawLine wird verwendet, um eine gerade Linie zwischen zwei Punkten in der Szene zu zeichnen:

Debug.DrawLine(transform.position, target.position, Color.white, 0, false);

Es nimmt zwei bis fünf Parameter: einen Startpunkt, einen Endpunkt und eine optionale Farbe. Zum Beispiel würde der folgende Code eine weiße Linie zwischen den Punkten start und end zeichnen:

public static void DrawLine(Vector3 start, Vector3 end, Color color = Color.white, float duration = 0.0f, bool depthTest = true);

Parameter

  • start: Punkt im Weltbereich, an dem die Linie beginnen soll
  • end: Punkt im Weltbereich, an dem die Linie enden soll
  • farbe: Die Linienfarbe
  • dauer: Zeit in Sekunden, um die Linie anzuzeigen. 0 zeigt die Linie für einen einzelnen Frame an
  • depthTest: Soll die Linie von Vordergrundobjekten verborgen werden?

Im Codebeispiel führt die Update-Methode eines MonoBehaviour-Skripts, das am Skeleton GameObject angehängt ist, zu dem oben gesehenen Bild. Die Linie ist nur im Spielansichtsmodus sichtbar, wenn Gizmos aktiviert sind. Klicken Sie auf die Gizmo-Schaltfläche oben rechts im Spielansichtsfenster, um sie zu aktivieren. Die Linie ist auch im Szenenansichtsmodus sichtbar.

Debug.DrawRay

Die Alternative zu DrawLine ist DrawRay. Debug.DrawRay wird verwendet, um einen Strahl in der Szene zu zeichnen, der von einem bestimmten Ursprung ausgeht und in eine bestimmte Richtung verläuft. Standardmäßig ist es ein unendlicher Strahl. Wenn der von Debug.DrawRay() gezeichnete Strahl auf einen Collider trifft, stoppt er an dem Schnittpunkt und wird nicht weiter fortgesetzt. Dieses Verhalten ist dasselbe wie das eines Raycasts in Unity, der verwendet wird, um Kollisionen zwischen Objekten in einer Szene zu erkennen.

Hier definiert der zweite Parameter eine Richtung und Länge der Linie. Die Linie wird von start bis start + dir gezeichnet:

public static void DrawRay(Vector3 start, Vector3 dir, Color color = Color.white, float duration = 0.0f, bool depthTest = true);

Die Parameter im Codebeispiel sind:

  • start: Punkt im Weltbereich, an dem die Linie beginnen soll
  • dir: Richtung und Länge im Weltmaßstab der Linie
  • farbe: Die Linienfarbe
  • dauer: Zeit in Sekunden, um die Linie anzuzeigen; 0 zeigt die Linie für einen einzelnen Frame an
  • depthTest: Soll die Linie von Vordergrundobjekten verborgen werden?

Hier ist ein weiteres Codebeispiel:

Vector3 dir = transform.TransformDirection(Vector3.forward) * 3;Debug.DrawRay(transform.position, dir, Color.white, 0, false);

In diesem Codebeispiel führt die Update-Methode eines MonoBehaviour-Skripts, das am Skeleton GameObject angehängt ist, zu dem oben gezeigten Bild. Ein Ray mit einer Länge kann nützlich sein, um Nähe-Tests zu debuggen. Hier beträgt die Ray-Länge 3 Welt-Einheiten. Wenn ein Angriff bei 3 Einheiten beginnen soll, haben Sie einen großartigen visuellen Test dafür, wie lang 3 Einheiten in Ihrer Szene sind.

Tipps zum Testen und zur Qualitätssicherung für Unity-Projekte

Ein Gizmo anzeigen
EIN GIZMO ANZEIGEN

Verwendung von Gizmos

Gizmos sind ein leistungsstarkes Werkzeug für visuelles Debugging in Unity. Sie ermöglichen es Ihnen, einfache 2D- und 3D-Formen, Linien und Text in der Szenenansicht zu zeichnen, was es einfach macht zu sehen und zu verstehen, was in Ihrer Spielwelt passiert.

Sie können einfache Formen und Linien in der Szenenansicht mit nur wenigen Codezeilen zeichnen. Dies macht sie zu einem idealen Werkzeug, um schnell Prototypen zu erstellen und Ihre Spielmechaniken zu testen. Sie werden in Echtzeit gezeichnet, sodass Sie die Ergebnisse Ihrer Codeänderungen sofort sehen und notwendige Änderungen vornehmen können.

Gizmos zeigen visuell komplexe Spielmechaniken an, die durch Code allein schwer zu verstehen sein könnten. Zum Beispiel können Sie Gizmos verwenden, um eine Linie zu zeichnen, die den Pfad eines Projektils zeigt, oder um die Grenzen einer Triggerzone zu visualisieren, wie im obigen Bild zu sehen.

Verwenden Sie Gizmos, um visuelle Hilfen zu erstellen, die es anderen Teammitgliedern erleichtern, Ihren Code und die Spielmechaniken zu verstehen.

Gizmos haben wenig Einfluss auf die Leistung, sodass Sie sie frei verwenden können, ohne die Leistung zu beeinträchtigen.

Das Gizmo-Symbol befindet sich in der oberen rechten Ecke der Szenen- und Spielansichten. Um ein benutzerdefiniertes Gizmo hinzuzufügen, müssen Sie ein Skript hinzufügen, das einen OnDrawGizmos-Callback enthält, wie das folgende Codebeispiel zeigt. Dieses Skript zeichnet einen Drahtgitterwürfel, der 3 Welt-Einheiten vor der Position des GameObjects positioniert ist. Die Größe des Würfels wird durch die Klassen-Eigenschaft vsize des Typs Vector3 definiert: public Vector3 vsize = new Vector3(1f, 1f, 1f);

void OnDrawGizmos()

{

// Zeichne eine gelbe Kugel an der Position des Transforms

Gizmos.color = Color.yellow;

Vector3 position = transform.position + transform.TransformDirection(Vector3.forward) * 3;

Gizmos.DrawWireCube(position, vsize);

}

Steuern Sie die Sichtbarkeit, indem Sie auf das Gizmos-Dropdown klicken. Alle Skripte mit einem OnDrawGizmos-Callback werden aufgelistet.

Überprüfen Sie die Dokumentation, um mehr über andere nützliche Methoden der Gizmo-Klasse zu erfahren.

Auslösen von Ausnahmen

Das Auslösen einer Ausnahme ist eine Technik, die in der Programmierung verwendet wird, um anzuzeigen, dass während der Ausführung eines Programms ein Fehler oder eine außergewöhnliche Situation aufgetreten ist. Sie können diese Methode verwenden, um den Thread daran zu hindern, weiter auszuführen, um weiteren Schaden zu verhindern.

In Unity wird das Auslösen einer Ausnahme auf die gleiche Weise verwendet wie in anderen Programmiersprachen.

Wenn eine Ausnahme ausgelöst wird und im Code nicht abgefangen und behandelt wird, wird die Programmausführung normalerweise gestoppt und Sie werden aus der App und zurück zum Betriebssystem geworfen. In Unity wird die Programmausführung sofort gestoppt und die Laufzeitumgebung sucht nach einem "catch"-Block, der die Ausnahme behandeln kann. Wenn kein catch-Block gefunden wird, wird das Programm beendet und die Ausnahme wird in der Konsole protokolliert.

Das Auslösen von Ausnahmen kann hilfreich sein, da dies es Ihnen ermöglicht, die Fehlerbehandlungslogik von der restlichen Programmlogik zu trennen, was zur Erstellung sauberer Codes beitragen kann. Durch das Auslösen von Ausnahmen können Sie dem Aufrufer signalisieren, dass etwas schiefgelaufen ist, ohne sich auf Rückgabewerte oder globalen Zustand zur Kommunikation des Fehlers verlassen zu müssen.

Um eine Ausnahme in Unity auszulösen, können Sie das throw-Schlüsselwort gefolgt von einem Ausnahmeobjekt verwenden. Hier ist ein Beispiel:

if (target == null)

{

throw new System.NullReferenceException("target nicht gesetzt!");

}

Wenn Sie Ihren Code im Editor ausführen, fängt er die ausgelösten Fehler ab und führt anstelle eines Absturzes von Unity oder der App ein Debug.LogError() aus.

Die Verwendung von Ausnahmen in Unity ermöglicht es Ihnen, Fehler frühzeitig zu erkennen. Es kann auch das Debuggen erleichtern, indem es Ihnen mehr Informationen darüber gibt, wo Fehler auftreten und was sie verursacht hat.

letzte Registerkarte

Weitere Ressourcen

Erfahren Sie viel mehr über Testen, Debuggen und die Verbesserung der Leistung Ihres Unity-Projekts in diesen Artikeln:

  • So debuggen Sie Spielcode mit Roslyn-Analyzern
  • So führen Sie automatisierte Tests für Ihre Spiele mit dem Unity Test Framework aus
  • Beschleunigen Sie Ihren Debugging-Workflow mit Microsoft Visual Studio Code
  • So debuggen Sie Ihren Code mit Microsoft Visual Studio 2022
  • Tipps zum Testen und zur Qualitätssicherung für Unity-Projekte

Tauchen Sie mit diesen E-Books in fortgeschrittene Best Practices und Anleitungen für Unity-Entwickler ein:

  • Ultimative Anleitung für die Profilerstellung für Unity-Spiele
  • Optimieren Sie die Leistung Ihres Spiels für mobile Geräte
  • Optimieren Sie die Leistung Ihrer Konsolen- und PC-Spiele

Finden Sie viele weitere fortgeschrittene Ressourcen im Unity Best Practices Hub.