The Game Data editor allows you define almost any kind of data your game might require without writing scripts.
It allows you create Game Data Definitions in a visual manner by choosing names and types for fields of the new definition (game data type). The editor then generate a script for your new define type (game data definition). The scripts are stored in
Assets\projectData\Scripts\GameData. You should not edit these scripts since your changes will be lost if you use the Game Data editor and it needs to update the script.
The same editor can then be used to add data entries to this newly created definition. This data is stored in assets located in
Assets\projectData\Resources\GameData. These assets should not be renamed or moved.
The Game Data definitions can be accessed via other systems, like the FlowGraph or Blox. It also ties in with the persistence system to provide auto saving/ loading of field values where you indicated such data should take part in persistence.
It is a powerful, yet simple to use, system and editor. The difficult part will be deciding on what kind of data you need and how it should be organized and presented in the editor.
You will see a list of all your data definition in the list to the left-hand side of the editor. Use the [+] button to add a new definition. You will first need to add a group for the definition if there are not any groups yet.
When you click the add or edit buttons you will be presented with a window to edit the game data definition. Here you may enter a name and select what kind of game data it is. Note that you can not change the game data type after the game data definition has been created, so first think about what the data is you are creating and choose carefully what type it will be. The name can be changed but it is advised that you do not depend on doing this often since it might require updates in other game data definitions (if they make use of this one) or even other systems, like the FLow Graph node which accesses the data. The point is, there are many things that might depend on the definition after you start using it and, even though great care is taken to update everything internally, it might still lead to bugs if you change the name after (please report on support forum if this happens).
Asset (or definition type) is where you select what kind of game data it is.
Here to define what fields/ properties the definition contains. Fields are what holds data/ values. The type you select will depend on what type of data you are trying to create. A “player name” for example would be of type “String”, while “health points” or “experience” would be “Integer”, and a toggle/ flag would be of type “Boolean”.
The Unity types like Sprite and GameObject (prefab) can be found under the UnitYEngine group. The easiest way to quickly find there is to type the name in the search field since there are a lot of types defined in the unityEngine group.
You can even select other definitions to be used for fields. These can be found in the “GameData” group when looking for a type.
The types you see listed in the Type Selection will depend on what namespaces or types are selected in the Main Settings. By adding the namespaces for other tools there you will be able to select types from them in this window. Please ask on the support forum if you are not sure how to gain access to a type from another Unity asset.
Selecting a definition will present a way to add and edit data related to the definition. If you create a list or group type data definition then you will be presented with another list where you can add new data entries. Selecting any of these entries will present you with the fields where you can enter data for that entry.