Game Data Editor: The Visual Data Editor [Released]

Indispensable aid to All games… If your game has data, this is a must have.
5 star Asset Store Review

Bring your game to life with the Intuitive and Flexible GDE Visual Data Editors. Using GDE’s generated data classes, accessing your data is simple, fast, and as flexible as your imagination. Do you use Playmaker? Encryption? Google Sheets? Game Data Editor has that covered and more. Want to see it in Action? Get Shane Masters’ “Armored Theater” in the App Store or on Google Play.

Game Data Editor is the complete data management package for Unity. It handles all data serialization and provides generated custom data classes for fast access and modification on the fly. Stay focused on GameDev with the Game Data Editor!

New Unity Types Supported!
GameObject, Texture2D, Material, AudioClip, VideoClip

:: Powerful and Intuitive Visual Data Editor
:: Access and Modify your Data at Runtime
:: Encrypt your Data with One Click
:: Import from Excel or Google Drive
:: Export GDE Data to Excel or Google Drive
:: Playmaker and iCode Support!

Get It: Game Data Editor
GDE Quickstart Guide

Questions, comments, bugs, respond here or send me an email. Enjoy!

Subscribe to the Game Data Editor Mailing List to get notifications for new updates, features, fixes, and sales! Browse our Blog to see GDE in action!

Existing GDE users: Come join the GDE Early Access channel on slack to get early access to GDE betas/releases. If you’d like to join, DM me your GDE invoice # and email address and I’ll send you an invite.

1655040--157536--screen_shot_asset_store_b_google_sheet_crop.png 1655040--157538--screen_shot_asset_store_c_use_data_crop.png 1655040--157539--screen_shot_asset_store_d_playmaker_crop.png 1655040--157541--screen_shot_asset_store_e_icode_crop.png

Import Spreadsheets!

Playmaker Support!

Hi,

I purchased your plugin and start working with it. Overall I like it. It allows fast game and level data definition and storage. The PlayMaker add-on is very welcome as well.I would had a few remarks and suggestions to enhance it.

Forgive me if there is already a solution for my requests but the documentation site is down at the moment.
So my first request would be a full offline doc.

The biggest issue I had was with editing new schema. When adding new fields or data I’d like to be able to edit the fields (name and type), drag and drop to change the order and copy paste field to create new ones. At moment the only option is to delete, recreate the field.

A better autosave of the schema would be welcome. I lost some configuration at first because I missed the save button.

It would be nice to be able to define nested fields when editing the schema.
I have to store grid configuration and I’d like to store a 2 dim lists for that.

storing prefabs would be great also.

IOZO, Sorry for the issue accessing documentation on our site. Hostgator had an outage, but the site is up now. There is offline documentation in the package. You can find it in GameDataEditor/Docs.

You can edit field names by double clicking the field name when editing your schema. Currently, you can edit field names and schema names. Field types can’t be changed at the moment. The best way is to make that change is to add a new field with the new type.

I will put multidimensional lists and prefabs on the list of suggestions for later updates. The latest update just went live a couple of minutes ago. If you haven’t updated to v1.3, I suggest you do! There’s some bug fixes, a few changes to the API, and the ability to seed your data from a spreadsheet.

thanks

Thanks I just updated to new version. Offline doc is there now.
Spreadsheet import looks good. I’ll give it a try.
Please let me know when 2D list is available.

I’m no trying to retrieve values from a list with Playmaker. could give me some quick input about that work. From the youtube example I understand how to retrieve bool, int … but I’m not sure what to do for list data.

Unfortunately, Playmaker does not support lists as a variable type. You can use a custom script to access the list data like this:

if (GDEDataManager.Init("my_data_file"))
{
    try
    {
        // If "Test" was the name of your schema,
        // and "my_item" was the name of your item
        GDETestData myItem;
        GDEDataManager.DataDictionary.TryGetGDETestData("my_item", out myItem);
     
        // If the name of your list field was "countries" of type string
        // You can access the list like this:
        List<string> myCountries = myItem.countries;
     
        // Then do something with myCountries...
    }
    catch(Exception ex)
    {
        Debug.LogError(ex);
    }
}

Check out this video. It shows how to access your data using the code generated data classes.

ok thanks,

Playmaker does not support list nor array natively but you could add your own implementation and populate navigation actions for your supported data types (ie, getFirst, GetNext, GetLength, GetAt, Set… …).

As a generic sample, I’m using ArrayMaker together with PlayMaker to manager lists and array.
Maybe you could add specific actions similar to the ones in ArrayMaker to manage navigation into GDM lists ?

I’ll use you code sample in the mean time.

I looked at ArrayMaker initially but tabled the feature. I’ll take a look at it again and fill out the Playmaker actions. It does need some more functionality to round it out.

Just bought this and I immediately login to say thanks! This is a big time saver for designers who need to define and create data with complex states and numbers!

IOZO, use this helper script to load GDE list data into ArrayMaker. Attach this script to the same gameobject where your PlayMakerArrayListProxy is, specify the item ID, and the field name you want to load. It will then populate the proxy with the list data and you can use ArrayMaker. If your PlayMakerArrayListProxy has a Reference, make sure to enter that value into the GDEArrayListHelper settings in the editor.

It only works with basic types (not GDE Custom types). bool, int, float, string, etc. Let me know if you have any issues with it or need any more help!

1776837–112715–GDEArrayListHelper.cs (3.38 KB)

Thanks :slight_smile:
If you can rate and write a review that would be awesome!

I will! I have been playing with the editor in last two hours, everything is good so far, but I do have some requests on the improvements side:

  1. Both the display and input text field need to adjust the length according to the inputted value, currently if I use longer strings, numbers, the text fields will overlay to each other.

  2. It will be very nice if we can make data properties in schema A “exposes” to another schema B that reference items created with schema A. For example. I have schema A:[Skill], and it has an int property called Skill_Cost, and I can make this property as “exposed”. So in Schema B: [SkillList], when we created a list property that reference to item created with [Skill], we can adjust Skill Cost inside on [SkillList] as kind of override to the original data(So the original item is not effected).

many thanks for this quick add on, great job.

it works well, however I had to do a few changes to you script to adapt to my case.
the main issue is that the script is designed to be set in edit mode and I need to adjust the settings at runtime by my FSMs.

thx again.

If you don’t mind sending me a screenshot of the overlay so I can see exactly what’s happening, that would be very helpful. Send it to celeste@stayathomedevs.com. I will try to get a fix in for this in the next update.

Hi,

When I change some parameters in data instances it’s not immediately reflected in the data I get in the game. After a few time the changes is effective in the game w/o any other action than waiting. Like a cache effect. Is that possible ?

I’ve seen this in my own testing. I think Unity is not recognizing that the data file has changed and doesn’t recompile it into the resource bundle. Eventually it does work itself out, as you have seen. Sorry about that. It’s on my list of issues to investigate but I’m not sure that I’ll be able to fix it. It might be a Unity bug.

Would schema default values help? Suppose your Skill schema had the value you want to override (Skill_Cost) but also some values that you didn’t (Name, Description, for example). You could set up your data like so:

Your schemas:
Schema: Skill
int Skill_Cost default value:0
string Name default value: “MySkill”
string Description default value: “This value is the same for all Skill types.”

Schema: SkillList
List defaultValue: null

Your items:
SkillList: my_skill_list
List<Skill> Count: 3 value: (SkillA, SkillB, SkillC)

Skill: SkillA
int Skill_Cost value: 5
string Name value: “MySkill”
string Description value: “This value is the same for all Skill types.”

Skill: SkillB
int Skill_Cost value: 10
string Name value: “MySkill”
string Description value: “This value is the same for all Skill types.”

Skill: SkillC
int Skill_Cost value: 50
string Name value: “MySkill”
string Description value: “This value is the same for all Skill types.”

Game Data Editor update is now live in the unity store. Be sure to update as it fixes a few bugs!

Hi,

I need to use GDEArrayListHelper to manage several arrays in the same Playmaker state.
I don’t think it can work with the current version. There is a reference identifier in the script but I suspect I can’t use it to differentiate several arrays as GDEListHelper does not manage multiple proxies at the moment.

Am I wrong and if not could you provide me with an update for this script.

This looks really handy. Would it be possible to not have the data loaded from the “Resources” folder though?

The reason I’m asking is to give players the ability to modify the data and create their own mods. For example, if there was the option to load data from Application.streamingAssetsPath, and if each schema were given its own json file (for example), it would make it easy for players to browse the files and make the changes they want, while giving the developer a nice editor interface to edit the data. I guess one problem of doing it this way is compatibility with all the platforms when using the streamingAssets folder.

This is assuming I’m not misunderstanding how this asset works!

I do have an update planned that will allow for data loading from a TextAsset or from a Url. That would give you more flexibility in storing the data on a serve, loading new data sets from DLC, or some other place depending on your game’s needs.