ScriptableObject
De Unity-klasse voor data die als eigen bestand in het project leeft in plaats van als component op een game-object.
Een gewone Unity-component moet op een GameObject in een scene zitten. Een ScriptableObject is een zelfstandige asset: je maakt er een subklasse van, voorziet die van [CreateAssetMenu] en maakt in de editor instanties aan als .asset-bestanden. Wapenwaarden, vijandtypen en dialoogbomen worden zo data die ontwerpers kunnen aanpassen zonder een scene te openen, en waar duizend objecten naar kunnen verwijzen zonder te kopiëren.
Ryan Hipple's lezing op Unite 2017 maakte de aanpak ook populair voor event channels en gedeelde variabelen. De valkuil: wijzigingen die in de editor tijdens het spelen worden aangebracht, blijven blijvend in het assetbestand staan, maar in een gebouwde game gedraagt dezelfde code zich anders.