Gründe für Git-Benutzer für den Umstieg auf Unity Version Control
Open Source, kostenlos und flexibel – Git ist ein beliebtes Versionskontrollsystem (VCS), das jedoch auf technisch weniger versierte Benutzer abschreckend wirkt. Wenn Grafiker auf Probleme stoßen, müssen sie oft Programmierer um deren Behebung bitten: Es lässt sich nicht in ihre Tools integrieren und leidet unter dem Gewicht der in der Spieleentwicklung üblichen großen Binärdateien.

Return to Nangrim von Sycoforge
So profitieren Git-Benutzer von Unity Version Control
Unity Version Control ist auf Spieleentwicklung zugeschnitten. Das sind die Vorteile eines Upgrades von Git aus.

Geschwindigkeit bei großen Repos und Binärdateien
Unity Version Control hält selbst Repos mit über 5 TB stand und verarbeitet das Aktualisieren und Einchecken 5-8-mal schneller als andere Lösungen.

Bessere Zusammenarbeit mit Grafikern
Grafiker können Unity Version Control auf unabhängige Weise über Gluon nutzen. Das ist ein benutzerfreundlicher Workflow mit Dateisperre. Programmierer behalten ihren Standard-Workflow mit vollständigem Branching und Merging bei.

Zentralisiertes oder verteiltes Arbeiten
Bei der Wahl eines VCS wirst du meist vor die Entscheidung gestellt, zentral oder verteilt zu arbeiten. Mit Unity Version Control ist beides möglich. Hol dir die Geschwindigkeit und Leistungsfähigkeit von Git-ähnlichen Workflows mit einer Scalability wie bei Perforce.

Wartung durch größere Flexibilität vereinfachen
Unity Version Control unterstützt von Haus aus mehrere Workflows und große Dateien. Deshalb müssen keine redundanten Systeme oder Plug-ins mehr gepflegt werden. Behalten eine schlanke und hochleistungsfähige Toolchain bei.
Die DevOps-Lösungen von Unity bieten Programmierern eine große Auswahl an Funktionen und vereinfachen gleichzeitig Grafikern die Arbeit. Fehlt auf der Liste etwas? Schaue dir unsere DevOps-Roadmap an.

Zeit sparen und das Springen zwischen Aufgaben auf ein Minimum reduzieren
Die codebewusste Merging-Technologie SemanticMerge von Unity beobachtet den verschobenen Code, damit du dich all deine Aufmerksamkeit den relevanten Änderungen schenken kannst. Durch die Analyse der Syntax werden 16-30 % des normalerweise manuell vorgenommenen Code-Merging automatisiert und so drastisch die den Workflow störenden Merging-Konflikte reduziert.
Unity Version Control nimmt ein Refactoring vor und bewertet, ob Teile des Codes, z. B. eine Methode, gegebenenfalls sogar über mehrere Dateien hinweg verschoben wurden. Auf diese Weise kannst du dich bei der Prüfung auf die wesentlichsten Änderungen konzentrieren. Es unterstützt u. a. C#, Java und VB.NET.

Nutzung von Unity Version Control als Git-Client
GitSync bietet in Unity Version Control eine Zwei-Wege-Synchronisierung zwischen Version Control und Git. Unity Version Control verschiebt über Git-Netzwerkprotokolle Pakete und Merges auf einen entfernten Git-Server (und umgekehrt). Dadurch kannst du die GUI von Unity Version Control als Git-Client verwenden: Da Unity Version Control in gewisser Weise ähnlich wie Git strukturiert ist, können alle Änderungssätze, Branches und Merges untereinander ausgetauscht werden.

Schneller Import und Export
Unity Version Control implementiert Fast-Import- und Fast-Export-Befehle, die alle mit ihren Git-Gegenstücken vollständig kompatibel sind. Mit diesen Befehlen kannst du dein Projekt von Git nach Unity Version Control importieren und Version Control bei Bedarf sicher wieder verlassen. Für den normalen täglichen Betrieb ist GitSync die einfachere Wahl.

Nutzung des Git-Ökosystems
Jedes Tool aus dem Git-Ökosystem kann über seine eigenen Git-Funktionen sofort eine Verbindung zu Unity Version Control herstellen. Mit Version Control können Teams dann alle speziell für Git entwickelte DevOps-, CI- und Projektmanagement-Integrationen nutzen.
GitServer ist das serverseitige Gegenstück von GitSync. Mit ihm wird die Git-Interoperabilitätsschleife geschlossen und Unity Version Control ermöglicht, Repositorys mit Git-Protokollen zu bedienen (Git und HTTP werden unterstützt).
Spiele, die es geschafft haben
Goodbye Volcano High
Wie einigen sich Grafiker und Techniker in einer arbeitnehmergeführten Studio-Kooperative auf einen Produktionsprozess? Hier kannst du nachlesen, wie KO_OP die Zusammenarbeit mit Plastic SCM (jetzt: Unity Version Control) vorantrieb.
Return to Nangrim
Hier kannst du nachlesen, wie Sycoforge mithilfe von Unity-Tools den wachsenden Geltungsbereich des Projekts verwaltet und das Spieler-Feedback für schnelle, iterative Spieleentwicklung integriert.
Subnautica
Hier kannst du herausfinden, warum Unknown Worlds sich für Unity und Plastic SCM (jetzt: Unity Version Control) entschieden hat, um Subnautica auf mehreren Plattformen zum Leben zu erwecken.
Häufig gestellte Fragen
Unity Version Control ist auch ein DVCS. Der Workflow bleibt also derselbe: Zunächst führst du ein Commit (Einchecken) durch und dann pusht du die Änderungen in das Remote-Repository. In Version Control kannst du bei Bedarf auch zentral arbeiten. Möchtest du direkt und ohne einen Zwischenklon wie bei SVN einchecken? Das geht.
Während Programmierer vom DVCS begeistert sein werden, entscheiden sich Benutzer in anderen Rollen wie Grafiker und Designer möglicherweise eher für zentralisiertes Arbeiten.
Ja. In Unity Version Control kann alles visuell über die GUI erledigt werden. Der Branch Explorer wird für alles verwendet, was mit Branching und Merging zu tun hat.
Ja. Außerdem kannst du Teilkopien erstellen. Somit kannst du einfach einen Pull für einen Branch ohne Merging aller Basisdaten und Quellen durchführen, Änderungen einfügen und einen Push zurück vornehmen.
Das Repo muss nicht vollständig „geklont“ werden, um an einem replizierten Repo in Unity Version Control zu arbeiten. Du kannst einfach eine sogenannte Teilkopie ausführen, um am Repo zu arbeiten, neue Änderungen vorzunehmen und erneut zu pullen.
Das entspricht einem oberflächlichen Klon mit begrenzter Tiefe, der auch zurückgepusht werden kann.
Das Merging ist in Unity Version Control sogar noch besser. Die Merging-Engine in Version Control kann mit Verschiebungen und Umbenennungen umgehen, die Git zum Absturz bringen. Unity Version Control enthält auch seine eigenen Bildvergleichs- und Merging-Tools.
Unity Version Control kann große Dateien verarbeiten – das reicht über den Arbeitsspeicher hinaus. Version Control ist auch für große Repositorys geeignet.
Es gibt keine „Remotes“ in Unity Version Control. Verschiebe einfach den gewünschten Branch in die gewünschten Repos – es müssen nicht erst Remotes definiert werden.
Submodule von Unity Version Control werden Xlinks genannt und sind eine stark verbesserte und vereinfachte Version von Submodulen. Das Entwickeln mit voller GUI-Unterstützung ist ganz einfach. Der mühsame Aktualisierungsprozess für ein Submodul entfällt bei Xlinks – Referenzen können manuell verwaltet werden. Branches in Xlinked-Verzeichnissen werden automatisch erstellt, was Feature-Branches in Multi-Repo-Szenarien sehr einfach macht.
Die Git-basierte Versionskontrolle bietet eine breite Palette von Funktionen und Unterstützung durch die Community. Mit Unity Version Control hingegen lassen sich Workflows flexibel gestalten und große Dateien ohne weiteres handhaben. Was für eine Organisation am gut funktioniert, ist für eine andere möglicherweise gänzlich ungeeignet. Weitere hilfreiche Tipps zur Eigenbeurteilung findest du in diesem Blog.
Unity Version Control ist nicht Git, obwohl es eine verteilte Versionskontrolle (DVCS) wie ein Git-basiertes System ermöglicht. Unity Version Control baut alle Stärken von Git mit der Unterstützung für große Dateien, konsistenten GUIs, ACL-basierten Berechtigungen, der Handhabung großer Repos, starkem Merging, Teilkopien, semantisches Diffing usw. aus.