10 Möglichkeiten zur Beschleunigung Ihrer Programmierabläufe in Unity mit Visual Studio 2019

Visual Studio 2019 bietet erstklassiges Debugging und viele neue Tools und Anpassungsoptionen, damit Sie Ihre Programmierumgebung genau so einrichten können, wie Sie es wünschen. Außerdem bietet es eine Reihe leistungsstarker Funktionen für die Arbeit mit C# in Unity, mit denen Sie Code schneller als bisher schreiben und umgestalten können. In diesem Blogbeitrag stellen wir Ihnen 10 Tipps zu einigen dieser Funktionen vor, die auch Ihren Arbeitsablauf beschleunigen können.
Unser Unity-Evangelist Arturo Nereu und Abdullah Hamed, Programm-Manager für Visual Studio Tools for Unity bei Microsoft, haben kürzlich eine Unite Now-Sitzung veranstaltet, in der sie Tipps und Tricks zum optimalen Einsatz von Visual Studio 2019 bei der Entwicklung in Unity gaben.
Dieser Beitrag gibt einen kurzen Überblick über einige dieser Tipps. Wir haben auch Links direkt zu diesen Abschnitten des Vortrags sowie zu anderen verwandten Inhalten hinzugefügt, falls Sie tiefer einsteigen möchten.
Die Verwendung von Console.Log ist eine einfache und schnelle Möglichkeit, Ihr Projekt in der Konsolenansicht von Unity zu debuggen. Visual Studio bietet jedoch einen effizienteren Weg, der mit zunehmender Komplexität Ihres Projekts immer wertvoller wird. In Visual Studio klicken Sie einfach auf die Schaltfläche Attach to Unity im Visual Studio-Menü. Dadurch wird eine Verbindung zwischen den beiden Anwendungen hergestellt, so dass Sie Haltepunkte einfügen und Ihren Code Schritt für Schritt durchgehen können, während Sie sich im Spielmodus von Unity befinden. Sie können auch auf Attach to Unity and play klicken, um die Ausführung zu starten, ohne Ihre IDE zu verlassen. Das Schöne daran ist, dass Sie damit den Zustand Ihres Codeflusses und die Werte der Eigenschaften usw. zur Laufzeit überprüfen können. Dies mag zwar trivial erscheinen, aber die Möglichkeit, die Ausführung jederzeit während des Spiels anzuhalten und den spezifischen Zustand des Spiels und die Werte Ihrer Eigenschaften in genau diesem Frame zu überprüfen, ist ein sehr leistungsfähiges Werkzeug für die Fehlersuche.
Eine weitere praktische Option bei der Arbeit mit Haltepunkten ist, dass Sie Ihre eigenen Bedingungen mit zugehörigen Aktionen einfügen können, z. B. einen bedingten Ausdruck, der als wahr ausgewertet werden muss, bevor er in Ihrem Debug-Flow angewendet wird.
Visual Studio 2019 führt Unity Analyzers ein. Ein Analysator erkennt ein Codemuster und kann anbieten, es durch ein empfehlenswerteres Muster zu ersetzen. Unity Analyzers sind eine Sammlung von Unity-spezifischen Code-Diagnosen und Code-Fixes, die als Open Source auf GitHub verfügbar sind. Analyzer können Ihnen ein besseres Verständnis für Unity-spezifische Diagnosen vermitteln oder einfach Ihr Projekt unterstützen, indem sie allgemeine C#-Diagnosen entfernen, die nicht auf Unity-Projekte zutreffen. Ein Beispiel könnte eine einfache bedingte Anweisung sein, bei der geprüft werden muss, ob das GameObject ein bestimmtes Tag hat, um ein bestimmtes Verhalten darauf anzuwenden.
if(collision.gameObject.tag == "enemy")
{
// Logik wird auf Feind GO angewendet
}
Der Analyzer wäre in der Lage, Ihren Code zu analysieren, würde das Muster erkennen und Ihnen vorschlagen, stattdessen die optimierte Methode zu verwenden. In diesem Fall würde der Analysator die effizientere CompareTag-Methode vorschlagen.
if(collision.gameObject.CompareTag("enemy"))
{
// Logik wird auf Feind GO angewendet
}
Während das obige Beispiel für ein einzelnes Skript, das an ein einzelnes Spielobjekt angehängt ist, eine kleine Optimierungsmaßnahme ohne nennenswerte Auswirkungen darstellt, kann dies bei einem großen Projekt mit Tausenden von Spielobjekten, an die das Skript angehängt ist, anders sein. Es ist die Summe aller Teile, wenn es um Leistungsoptimierung geht, und Analyzer können Ihnen dabei helfen, Ihre Leistung zu identifizieren und zu verbessern, indem sie den unnötigen Overhead durch Optimierung der Codesyntax reduzieren.
Eine Liste der Analysatoren finden Sie hier, und wenn Sie mehr erfahren möchten, besuchen Sie diesen Blogbeitrag oder springen Sie direkt zu diesem Teil des Unite Now-Vortrags.
Eine häufige Herausforderung bei der Erstellung von Skripten ist die Notwendigkeit, zu einem späteren Zeitpunkt auf den Code zurückzukommen und ihn zu überarbeiten. Das könnte ein Ergebnis der Implementierung von Codeschnipseln sein, die später für eine bessere Leistung überarbeitet werden müssen, aber den aktuellen Bedürfnissen entsprechen, da Sie z.B. Spielmechaniken testen. Visual Studio verfügt über eine praktische Funktion namens Task List, die es Ihnen ermöglicht, Codekommentare zu verfolgen, die Token wie TODO und HACK oder sogar benutzerdefinierte Token verwenden. Sie können auch Verknüpfungen verwalten, die Sie direkt zu einer vordefinierten Stelle im Code führen. Um eine Aufgabe für später zu erstellen, fügen Sie einfach das Token in Ihren Code ein:
// TODO: Ändern Sie die Kollisionserkennung, sobald die neuen Kollider fertig sind
Das Fenster Aufgabenliste, das Sie im Menü unter Ansicht aufrufen können, gibt Ihnen einen Überblick über alle von Ihnen markierten Aufgaben und verweist Sie mit nur einem Klick auf die entsprechenden Teile des Codes.

Wenn die Liste der Aktionspunkte in Ihrem Projekt wächst, können Sie sogar Ihre eigenen benutzerdefinierten Token in der Aufgabenliste konfigurieren und Prioritäten und Organisation für Ihren Refactoring-Prozess effektiv zuweisen. So passen Sie Ihre Aufgabenlisten-Token an: Gehen Sie zu Extras > Optionen.
Sehen Sie sich das vollständige Beispiel in der Unite Now-Sitzung hier an.
Code-Snippets sind kleine Blöcke wiederverwendbaren Codes, die über ein Rechtsklickmenü (Kontextmenü) oder eine Kombination von Hotkeys in eine Codedatei eingefügt werden können. Sie enthalten in der Regel häufig verwendete Codeblöcke wie try-finally- oder if-else-Blöcke, können aber auch zum Einfügen ganzer Klassen oder Methoden verwendet werden. Kurz gesagt, sie bieten Ihnen eine praktische Möglichkeit, eine Menge Zeit zu sparen, indem sie den Boilerplate-Code für Sie erstellen.
Um Ihren Code mit einem Snippet wie einem Namespace oder einer Region zu umgeben, drücken Sie STRG + K + S. Damit können Sie das Snippet anwenden, wie im folgenden Video gezeigt wird:
In der Dokumentation von Microsoft(Visual Studio, Visual Studio für Mac) finden Sie eine schrittweise Anleitung zum Erstellen eigener Codefragmente.
Ein üblicher Arbeitsablauf beim Refactoring Ihres Codes ist die Umbenennung Ihrer Variablen in beschreibendere und genauere Namen. Wenn Sie sie an einer Stelle ändern, müssen Sie natürlich auch alle Verweise auf diese Variable ändern. Visual Studio bietet jedoch eine einfache Abkürzung, um dies in einem Arbeitsgang zu erledigen. Markieren Sie einfach den Namen der Variable, die Sie umbenennen möchten, und klicken Sie mit der rechten Maustaste (oder verwenden Sie die Tastenkombination STRG + R) und benennen Sie die Variable um. Wählen Sie Änderungsvorschau, um die Auswirkungen der Änderung vor der Anwendung zu überprüfen.
Sie können den gleichen Tipp für die Änderung der Klassen Ihres Skripts verwenden, aber denken Sie daran, dass Sie die C#-Datei entsprechend umbenennen müssen, um Kompilierungsfehler zu vermeiden. Erfahren Sie in diesem Teil der Unite Now-Sitzung mehr über die Umbenennung von Klassen.
Das Kommentieren oder Dekommentieren von Codeblöcken ist ein weiterer gängiger Arbeitsablauf beim Refactoring oder Debuggen Ihres Codes. Es kann sehr zeitaufwändig sein, wenn man eine Zeile nach der anderen abarbeitet. In Visual Studio können Sie jedoch ganze Codeblöcke mit einem einfachen Kurzbefehl auskommentieren: Strg+K+C und Strg+K+U zum erneuten Auskommentieren. Wenn Sie mit einem Mac arbeiten, verwenden Sie einfach CMD+K+C zum Auskommentieren und CMD+K+U, um die Kommentare wieder zu entfernen.
Die Möglichkeit, ganze Blöcke schnell auszukommentieren, kann ein effizienter Weg sein, um bestimmte Spiellogik während Ihrer Testabläufe zu unterdrücken.
Während Unity Collaborate das Speichern, Freigeben und Synchronisieren Ihres Projekts mit anderen direkt aus Unity heraus mit einer benutzerfreundlichen visuellen Oberfläche erleichtert, bevorzugen einige Teams und Entwickler die Verwendung von Versionskontrolllösungen wie GitHub. Die Arbeit mit GitHub für die Versionskontrolle ist jetzt viel einfacher mit dem Github für Unity Plugin. Die Erweiterung ist vollständig quelloffen und ermöglicht es Ihnen, Ihren Projektverlauf einzusehen, in Zweigen zu experimentieren, einen Commit aus Ihren Änderungen zu erstellen und Ihren Code auf GitHub zu veröffentlichen, ohne Unity zu verlassen. Die GitHub-Authentifizierung ist in Unity eingebettet, einschließlich 2FA, und mit einem Klick auf eine Schaltfläche können Sie das Repository Ihres Spiels schnell initialisieren, ohne Befehlszeilenanweisungen verwenden zu müssen. Es ermöglicht Ihnen, eine Unity-spezifische .gitignore-Datei zu erstellen, damit Sie sie nicht manuell einrichten müssen. Mit Visual Studio 2019 kommt auch eine neue Schnittstelle, die es noch einfacher macht, mit GitHub direkt in der IDE zu arbeiten.
So aktivieren Sie die neue Schnittstelle in Visual Studio: Gehen Sie zu Extras > Optionen > Umgebung > Funktionsvorschau > Neue Git-Benutzeroberfläche.
Sie können auch den Videoanleitungen der Unite Now-Sitzung folgen, die einen ausführlicheren Überblick über die ersten Schritte bieten.
Mit Live Share können Sie Ihre Instanz von Visual Studio über einen Link direkt für Ihre Teammitglieder freigeben, damit diese Ihren Code bearbeiten und in Echtzeit an Ihrem Projekt mitarbeiten können. Sie müssen nicht erst ein Repository klonen oder die Umgebung einrichten, um die gemeinsame Nutzung zu ermöglichen. Sie müssen beide nur Visual Studio installiert haben, und dann ist es so einfach wie ein Klick auf eine Schaltfläche, um die Live Share-Sitzung zu erstellen.

Wählen Sie einfach " Live Share", um einen Link zu den Teilen Ihres Codes zu generieren, die Sie für jeden freigeben möchten, der Visual Studio oder Visual Studio Code installiert hat. Zwischen Ihnen und Ihren Mitstreitern wird eine gemeinsame Sitzung eingerichtet, in der sie Ihren Code sehen können, ohne etwas anderes als den Editor installieren zu müssen. Es funktioniert fast sofort.
Sie können mehr über Live Share in unserer Unite Session hier erfahren, die Visual Studio Produktseite besuchen oder direkt zum Quickstart Guide hier springen.
Sich an die Signaturen aller MonoBehaviour-Methoden zu erinnern, ist nicht ganz einfach, und während die Unity-Dokumentation Sie dabei unterstützt, bietet Visual Studio eine nette Funktion, mit der Sie sie direkt in der IDE nachschlagen können. Klicken Sie einfach auf STRG + Umschalt + M, suchen Sie nach der Funktion, die Sie implementieren möchten, und filtern Sie das Suchergebnis, um die Methode zu finden. Aktivieren Sie das Kontrollkästchen und klicken Sie auf "Ok", um den Boilerplate-Code für die Methode direkt in Ihren Code einzufügen, den Sie dann verwenden können.
Mehrere der oben genannten Tipps sind mit praktischen Abkürzungen verfügbar, und letztendlich kann die Kenntnis dieser Abkürzungen die größte Zeitersparnis von allen sein. Lassen Sie uns die Liste mit einer Zusammenfassung der Tastenkombinationen für diese Tipps und ein paar weiteren als Bonus abschließen.
Was Windows Mac Durchsuchen Sie Ihr gesamtes Projekt nach allem. Verwenden Sie CTRL+T CMD + . Implementieren von Unity-Nachrichten STRG + Umschalt + M CMD + Umschalt + M Auskommentieren von Codeblöcken STRG + K / STRG + C CMD + / Aufheben der Kommentierung von Codeblöcken STRG + K / STRG + U CMD + / Kopieren aus der Zwischenablage CTRL + Umschalt + V Anzeigen der Aufgabenliste STRG + T Keine Standardtastenbindung, aber Sie können sie binden. Fügen Sie ein umgebendes Snippet ein, z. B. den Namensraum CTRL + K + S: Keine Standard-Tastenbelegung, aber Sie können sie belegen. Umbenennen einer Variablen bei gleichzeitiger Aktualisierung aller Referenzen STRG + R CMD + R Kompilieren des Codes STRG+SHIFT+B CMD + Shift + B
Visual Studio 2019 ist vollgepackt mit Funktionen und es gibt so viele Anpassungsoptionen, die Ihre Produktivität bei der Arbeit mit Unity in Abhängigkeit von Ihren spezifischen Arbeitsabläufen verbessern können. Es gibt zu viele, um sie hier alle aufzuzählen. Wir hoffen, dass die Tipps, die wir hier gegeben haben, Sie inspirieren werden und dass Sie das Format nützlich finden. Lassen Sie uns wissen, wenn Sie Tipps haben, die wir nicht erwähnt haben, und teilen Sie diese in den Kommentaren mit der Community. Wir würden uns auch freuen zu hören, ob Sie weitere Tipps und Tricks zur Verbesserung Ihrer Arbeitsabläufe in Unity wünschen und ob es bestimmte Themen gibt, die Sie gerne in einem zukünftigen Blogbeitrag behandelt sehen würden.
Wir arbeiten ständig an der Verbesserung der Arbeitsabläufe und unsere Teams arbeiten eng mit Microsoft zusammen, um Ihnen die beste IDE-Erfahrung zu bieten. Daher würden wir uns freuen, von Ihnen zu hören, wenn Sie irgendwelche Ideen oder Rückmeldungen haben. Kontaktieren Sie John Miller unter @jmillerdev, Senior Program Manager, Visual Studio Tools for Unity bei Microsoft, oder teilen Sie uns Ihr Feedback in unserem Scripting-Forum mit.