woensdag 2 december 2015

Scriptable Objects

Link


Waarom deze tutorial?

Scriptable objects zijn een data container. Ze hoeven niet in de scene te staan maar zijn opgeslagen als assets. Het lijkt me interessant om te kijken wat hiermee allemaal kan.

Wat heb ik er van geleerd?

Scriptable obects zijn parralel aan monobehaviour. Ze hoeven niet aan een gameobject te zitten. Ze kunnen als assets worden opgeslagen, ze moeten gemaakt worden met code.

Ze worden voornamelijk gebruikt om data op te slaan tijdens een edition sessie en om data op te slaan als asset. Daarnaast hoef je ook geen xml, json of text files te maken buiten unity.

Serialization betekend dat je data encode voor opslag (op een disk of in een file). 

Private fields moeten eerst serialized worden om zichtbaar te worden in de editor.

Je kan public fields ook niet sirializen door [nonSerialized] ervoor te zetten.

In een script om een gameobject maak je een referentie naar een script die niet op een object zit. Om dat te doen moet je een instance maken van dat script.

Met [menuitem("Assets/create/myscriptableobject")] maak je een nieuwe knop aan in de editor. Dan kan je een asset aanmaken met AssetDatabase. De asset geef je dan aan dat het, het script is.

Door een scriptable object te maken kan je ook data opslaan zonder xml te gebruiken of een ander programma van een 3rd party.