Was sind Scriptable Objects?

Spieleproduktion

Was sind ScriptableObjects?

  • ScriptableObjects sind serialisierbare Unity-Klassen, mit welchen gemeinsam genutzte Daten unabhängig von Skript Instanzen gespeichert werden können. Die Verwendung von ScriptableObjects erleichtert das Verwalten von Änderungen und das Debuggen.
  • Ähnlich wie MonoBehaviours leiten sich ScriptableObjects von einer Unity Basis-Klasse ab. Die Basis-Klasse heißt “ScriptableObject”. Im Gegensatz zu MonoBehaviours kann ein ScriptableObject nicht an ein GameObject angehängt werden. Stattdessen wird es als Asset im Projekt gespeichert.
  • Wenn der Editor verwendet wird, werden Daten während der Bearbeitung und Laufzeit in ScriptableObjects gespeichert - Da ScriptableObjects den Editor-Namespace und das Editor-Scripting verwenden. In einem bereitgestellten Build werden keine ScriptableObjects zum Speichern von Daten verwendet. Stattdessen werden die gespeicherten Daten aus den ScriptableObject-Assets verwendet, welche während der Entwicklung eingerichtet wurden.
  • Daten, welche von Editor-Tools in ScriptableObjects gespeichert werden, werden auf die Festplatte geschrieben und bleiben daher zwischen den Sitzungen bestehen.

Wie werden ScriptableObjects erstellt

  • Um ein ScriptableObject zu verwenden, soll ein Skript in dem Assets Anwendungsordner erstellt werden. Dieses Skript erbt von der ScriptableObject-Klasse. Mit dem Attribut CreateAssetMenu können auf einfache Weise benutzerdefinierte Assets mit der Klasse erstellt werden.
  • Das Erstellen von ScriptableObjects mithilfe von Code zur Laufzeit ist selten erforderlich, da der Hauptzweck die Datenserialisierung ist. Standardklassen hingegen können an dieser Stelle genauso gut verwendet werden. Dies ist häufiger, wenn Editor erweiterungen mit Skripts erstellt werden.

Bist Du bereit, Deine Spielevision zum Leben zu erwecken? Setze Dich noch heute mit uns in Verbindung, um mehr darüber zu erfahren, wie wir Dir mit unseren Spieleentwicklungsdiensten dabei helfen können, deine Vorstellungen und Ideen erfolgreich zu verwirklichen!

Anwendung von ScriptableObjects

Die Hauptanwendung für ScriptableObjects ist das Speichern und die Absicherung von Daten während einer Editor-Sitzung. Außerdem das Speichern von Daten als Asset im Projekt zur Verwendung zur Laufzeit.

Jedes Mal, wenn ein Prefab instanziiert wird, erhält es eine eigene Kopie der Daten. Anstatt Variablen für Daten im Skript zu verwenden und doppelte Daten zu speichern, kann ein ScriptableObject verwendet werden, um die Daten zu speichern und dann von allen Prefabs aus als Referenz darauf zuzugreifen. Dies bedeutet, dass sich eine Kopie der Daten im Speicher befindet.

Fazit

ScriptableObjects sind erstaunliche Datencontainer. Sie müssen in Unity3D nicht an ein GameObject in einer Szene angehängt werden und können als Assets in unserem Projekt gespeichert werden. Meistens werden sie als Assets verwendet, die nur zum Speichern von Daten gedacht sind, aber auch zum Serialisieren von Objekten verwendet werden können und in unseren Szenen instanziiert werden können.

Fragen & Wünsche

Wir hoffen, dass Dir unser Artikel gefällt und möchten Dich dazu einladen, uns Deine Gedanken und Fragen zu dem Thema mitzuteilen. Wenn Du Fragen, Kommentare oder Feedback zum Inhalt dieses Artikels hast, zögere bitte nicht, uns auch diese im Kommentarbereich anzuvertrauen. Wir freuen uns immer, von unseren Lesern zu hören und uns an sinnvollen Diskussionen über die Spieleentwicklung zu beteiligen.

Frage uns einfach alles was Du wissen willst und wir werden unser Bestes tun, um die Antworten zu geben, nach denen Du suchst. Vielen Dank für Deine Unterstützung und wir freuen uns darauf, von Dir zu hören!

Kommentar Formular

Write comment

* These fields are required

Kommentare

Comments

No Comments

Weitere spannende Beiträge