Search Unity

  1. Engage, network and learn at Unite Austin 2017, Oct 3 - 5. Get your ticket today!
    Dismiss Notice
  2. Introducing the Unity Essentials Packs! Find out more.
    Dismiss Notice
  3. Check out all the fixes for 5.6 on the patch releases page.
    Dismiss Notice
  4. Unity 2017.1 is now released.
    Dismiss Notice
  5. Help us improve the editor usability and artist workflows. Join our discussion to provide your feedback.
    Dismiss Notice
  6. Unity 2017.2 beta is now available for download.
    Dismiss Notice

Game Data Editor: The Visual Data Editor [Released]

Discussion in 'Assets and Asset Store' started by Celestipoo, Jun 6, 2014.

  1. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Indispensable aid to All games.. If your game has data, this is a must have.
    5 star Asset Store Review


    GDE/LE Bundle is now live!
    Time is money and now you can save both with the GDE/LE Bundle!
    GDE Users can upgrade and get Localization Editor for $5!​



    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, AudioClip, Material

    :: 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


    Or if you’d like to test it before buying, grab the Free Version.
    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.

    screen_shot_asset_store_a_edit_data_crop.png screen_shot_asset_store_b_google_sheet_crop.png screen_shot_asset_store_c_use_data_crop.png screen_shot_asset_store_d_playmaker_crop.png screen_shot_asset_store_e_icode_crop.png

    Import Spreadsheets!


    Playmaker Support!
     
    Last edited: Apr 28, 2016
  2. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    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.
     
  3. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    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.
     
  4. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    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.
     
  5. Celestipoo

    Celestipoo

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

    Code (CSharp):
    1. if (GDEDataManager.Init("my_data_file"))
    2. {
    3.     try
    4.     {
    5.         // If "Test" was the name of your schema,
    6.         // and "my_item" was the name of your item
    7.         GDETestData myItem;
    8.         GDEDataManager.DataDictionary.TryGetGDETestData("my_item", out myItem);
    9.      
    10.         // If the name of your list field was "countries" of type string
    11.         // You can access the list like this:
    12.         List<string> myCountries = myItem.countries;
    13.      
    14.         // Then do something with myCountries...
    15.     }
    16.     catch(Exception ex)
    17.     {
    18.         Debug.LogError(ex);
    19.     }
    20. }
    Check out this video. It shows how to access your data using the code generated data classes.
     
    Last edited: Sep 16, 2014
  6. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    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.
     
  7. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    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.
     
  8. vamky

    vamky

    Joined:
    Aug 9, 2014
    Posts:
    39
    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!
     
  9. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    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!
     

    Attached Files:

  10. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Thanks :)
    If you can rate and write a review that would be awesome!
     
  11. vamky

    vamky

    Joined:
    Aug 9, 2014
    Posts:
    39
    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).
     
  12. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    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.
     
  13. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    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.
     
  14. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    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 ?
     
  15. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    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.
     
  16. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    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<SkillA> 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."
     
  17. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Game Data Editor update is now live in the unity store. Be sure to update as it fixes a few bugs!
     
  18. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    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.
     
  19. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    315
    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!
     
  20. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    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.
     
  21. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    No, it can differentiate which proxy to populate but does not populate more than one array list proxy. You said you made changes to the helper, if you send me your version I can modify it to work with multiple proxies.
     
  22. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    I made only very littlemodifications to your script (see attached file).
    I needed to dynamically initialize script settings with Playmaker variables from one state and use a trigger to fire an event in playmaker when the list is initialized. I added a boolean (List Initialized) for that purpose.

    My data scheme have several arrays and I need to load several of them at once from a playmaker state.
    At the moment I can only load one array at once.

    Ideally the modified script should get as parameters, a shared Item ID and a list of references+data field name of the proxies to populate with GDE array data.
     

    Attached Files:

  23. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Try this. The ItemIDs, Field Names, and References are public lists. I tested it locally and it works for multiple proxies. Let me know if you need anything else.
     

    Attached Files:

  24. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    it looks OK so far. I tried with a couple of arrays and the data is properly loaded in Playmaker.
    thanks.
     
  25. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    GDE Version 1.3.3 is now live in the asset store. It fixes a bad reference in the playmaker actions that was introduced in v1.3.2.
     
  26. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    Next release of Playmaker will contain native array management. Release candidates are already available to registered users. Could you check it and see how you can make your component compatible.

    It's much easier than with ArrayMaker ..
     
  27. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Ah, that's cool. I will check this out. Thanks for letting me know!
     
  28. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Game Data Editor Free is now live in the asset store. Now you can see how awesome it is with zero risk!

    With GDE Free you will still have access to the extremely flexible and intuitive GDE Editor, and access your game data at runtime. But if you want the simpler runtime API, Excel/Google Sheets support, or Playmaker Support you'll have to pick up the Full Version.
     
    Last edited: Nov 10, 2014
  29. jjsonick

    jjsonick

    Joined:
    Sep 11, 2013
    Posts:
    18
    Hi, bought this recently and it's been very helpful! I've been able to setup my data, have PlayMaker read it, and have it displayed in NGUI labels.

    What I'm tripping up on, though, is getting that ArrayListHelper script to work. I know that the GDE is initialized properly, because in the very same Playmaker FSM I'm able to get GDE strings and apply them to labels as described above. But I'm unable to get a PlayMaker ArrayMaker array filled with a List from my Items. I've tried both the original version of ArrayListHelper and the multiple proxy one. The PlayMaker Array never gets filled. Putting some debug.log statements in the ArrayListHelper script, it looks like it fails at the "GDEDataManager.Get(itemID, outitem);" line - item always ends up being null.

    Here's screenshots of the setup, in case there's something I've setup wrong (I double-checked the spelling at least). I'm trying to fill the PlayMaker array with strings from the Occupants List of the Space_Bar item:

    The item:
    https://www.dropbox.com/s/15me1bpx2efx2c7/Screenshot 2014-11-09 21.42.28.png

    The object owning the FSM:
    https://www.dropbox.com/s/cmir2lxty09am0p/Screenshot 2014-11-09 21.46.23.png

    The actions of the State where the attempt to read the array is made:
    https://www.dropbox.com/s/zydr19lkaf166an/Screenshot 2014-11-09 22.31.05.png?dl=0

    As well as the "Item "" is Null!" log message (from the test of item I added to ArrayListHelper when the problem occurred), I get a "Index is less than zero or more than or equal to the list count." that points to ArrayListGet. The string I try to construct with the actions ends up showing a previous value for Temp_Text (that I got earlier with a read of a simple GDE string), since the array read failed.
     
    Last edited: Nov 10, 2014
  30. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Your setup looks correct. At the point when you try to load this array, has GDE been initialized? Initializing multiple times won't hurt anything, so don't worry about that. To be sure, you can change the Awake method in the GDEArrayListHelper script to this:

    Code (csharp):
    1. public void Awake()
    2. {
    3.     LoadProxies();
    4.     GDEDataManager.Init("gde_entities_locations_scenes_data");
    5. }
    Let me know if that changes anything for you.
     
  31. jjsonick

    jjsonick

    Joined:
    Sep 11, 2013
    Posts:
    18
    Thanks, that did it! Interestingly, adding the GDEManager Init Playmaker action to the top of the state's actions still doesn't work as a re-init, but the Awake method does the trick.

    Related question, what's the best way via code to instantiate a List from the static GDE file that could then persist and be operated on by Add, Remove, Clear, etc at any time? I also have NodeCanvas, which has some built in support for operating on Lists, and has 'Blackboards' that can hold local or global variables its node graphs can use. (http://nodecanvas.com/documentation/the-blackboard/using-bbvariables/). If I can setup GDE-initialized NodeCanvas BBLists, I can then operate on them with NodeCanvas, and temporarily kludge them into empty slots of a PlayMaker ArrayMaker proxy (NodeCanvas and Playmaker can share variables, but obviously not Lists or Arrays) when I need to display them. I think I can get all that to work, if I can setup the initial lists properly (slowly learning C# to make custom NodeCanvas and PlayMaker actions).
     
    Last edited: Nov 10, 2014
  32. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    The GDEManager Init action does work as an init. However, by the time that action is run the GDEArrayListHelper already has tried to load the list and failed. That helper script is a stopgap to use GDE Lists with Playmaker through ArrayMaker. It's not an ideal solution and will soon be replaced with real Playmaker list actions as soon as Playmaker array support is released.

    As for NodeCanvas, I'm not familiar with it. To load a GDE List with code, first generate your data classes with the menu action Window->Game Data Editor->Generate Custom Extensions. Then you can do something like this:
    Code (csharp):
    1. using UnityEngine;
    2. using System.Collections.Generic;
    3.  
    4. // Make sure you include these using directives for GDE
    5. using GameDataEditor;
    6. using GameDataEditor.GDEExtensionMethods;
    7. using GameDataEditor.GDECustomExtensionMethods;
    8.  
    9. public class LoadListDemo : MonoBehaviour {
    10.  
    11.   public GDELocationData locationData;
    12.  
    13.   void LoadList () {
    14.     //Make sure GDE isinitialized
    15.     GDEDataManager.Init("gde_entities_locations_scenes_data");
    16.  
    17.     //Load the item that has the list you want
    18.     GDEDataManager.DataDictionary.TryGetGDELocationData("Space_Bar", out locationData);
    19.  
    20.     //Your Occupants list can be accessed like so:
    21.     List<string> demo = locationData.Occupants;
    22.   }
    23. }
     
  33. PKrawczynski88

    PKrawczynski88

    Joined:
    Nov 14, 2013
    Posts:
    15
    Very interesting plugin it mostly looks like it does what I want but I have question about functionality.

    Does it support importing spreadsheets during runtime?
    Can it export to spreadsheet that can be externally edited?

    Explanation what I want to achieve in future is that I want users (players) to be able to modify game data and load it when they start game. So they could manually edit xml or other type of files (whatever is or would be supported) and then play with their custom settings. It would allow users to "mod" game to their liking wchich lately seems like a big deal for a lot of players (ones that are active in communities).

    Can it be done?

    EDIT: okay I see you mentioned that you might allow data to be loaded from url or string - is there any ETA on that upgrade?
     
    Last edited: Nov 19, 2014
  34. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    I do have an update coming that will allow the data file to be loaded from Resources (how it works now), as well as loading from a TextAsset. Loading from a TextAsset will give you the flexibility to host your data file anywhere. For example, you could download the data file from your server, then initialize GDE with it.

    Importing from a spreadsheet is not supported during runtime. Exporting to a spreadsheet may be considered for a future update. You will be able to have your users edit the Json data file, once the next update is released.
     
  35. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Not yet. I originally planned to do an update with new Playmaker actions as well, but that is taking longer than I'd like. I may submit a smaller update with Init from TextAsset first, and update Playmaker later.
     
  36. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    Any chance to see 2D Arrays or nested content in your upcoming release ?
     
  37. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    I do have 2D arrays implemented only for the Editor though. You won't be able to import 2D arrays from spreadsheets. Formatting a 2D array in a single cell was too complex and error prone. I'll have to think of another way to do that or just not support 2D arrays in excel. I'll add that to the next update as well.

    As far as nested content, really large binary data should not be added to GDE. I would save your binary data in a prefab, then in GDE you could have a string field that contains the name of the prefab. That way your binary data can still be linked to your items, just not directly.
     
  38. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    Have you been able to test the Array type in PlayMaker. It should simplify a lot if we can get rid of ArrayMaker and the proxy stuff. It becomes quite complex when you manage multiple arrays as I do.
     
  39. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Yeah but I ran into that bug where all my FSMs got deleted and decided to wait for a more stable RC.
     
  40. PKrawczynski88

    PKrawczynski88

    Joined:
    Nov 14, 2013
    Posts:
    15
    Okay so far I'm happy with this asset after my purchase, one request/question though.

    Schema can have many instances. Specific instance is accessed by name in TryGetValue function call ("name", out object).
    Could it be possible that during code generation from "Generate Custom Extension" you would as well output file containing static class that has string fields representing names of instances. For example: if you create schema called "Creature" and you create instances of this schema named "Orc" "Goblin" it would be possible to write call such as
    TryGetValue(StaticReference.CreatureOrc, out object)

    It would greatly reduce dependency on string without need of programmer to write same string in two different places (your data editor window and in code)
     
    Last edited: Nov 20, 2014
  41. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    That's a great idea! I could output a class of static keys. I will add that to my list of updates.
    If you don't mind taking a moment for a rate and review that would help out a bunch. Thanks!
     
  42. PKrawczynski88

    PKrawczynski88

    Joined:
    Nov 14, 2013
    Posts:
    15
    I think I did rate it 5 but will write review for sure.
    I need to say though that asset could use some example to come with it (I had minor troubles to figure out how to get project to compile because what is written in tutorials on blog or was in youtube video didnt work for me due to compile throwing errors of unexisting methods TryGetValueGDEMyExampleData wchich frankly doesnt surprise me)
     
  43. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Sorry about that. I have some working examples I use for testing that I can host on the site. The TryGet*Data methods are part of the code generation so unless you are using the data file in the example and generate the code, cutting and pasting will result in errors. I should make a note of that in the documentation.

    Based on your first comment, it looks like you got past that initial error. Did you have another question or issue?
     
  44. PKrawczynski88

    PKrawczynski88

    Joined:
    Nov 14, 2013
    Posts:
    15
    I got it working that way:

    GDEDataManager.Init("gde_data");

    Dictionary<string, object> allData;
    GDEDataManager.Get("Development", out allData);

    GDEEngineCoreData engineCoreData = new GDEEngineCoreData();
    engineCoreData.LoadFromDict(allData);

    Debug.Log(engineCoreData.DevMode);

    If I try to call
    "allData.TryGetGDEEngineCoreData()" I cant compile because allData is c# dictionary class that doesnt contain this method. And code generation didnt create anything for me to use that would work unless I did something wrong (and this is where example you can compile would come in handy and I wouldnt really need to search for other way to pull data out)

    But like I said on review page - this is an 5/5 stars asset and all of that was just a small speed bump on the road.
     
  45. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Ok. Here's a couple of tips (and I'll make the docs more clear):
    Make sure you have the GDE namespace at the top of any source files that access GDE:

    Code (CSharp):
    1. using GameDataEditor;

    allData is just a shortcut for the GDE Data Dictionary. You can fix that reference with this:

    Code (CSharp):
    1. Dictionary<string, object> allData = GDEDataManager.DataDictionary;


    Then to load your items:

    Code (CSharp):
    1. GDEEngineCoreData engineCoreData;
    2. allData.TryGetCustom("Development", out engineCoreData);
    3.  
    4. // Or don't use allData and do it this way
    5. GDEDataManager.DataDictionary.TryGetCustom("Development", out engineCoreData);

    After that, the engineCoreData object will be loaded with the values from the "Development" item.
     
    Last edited: Jun 11, 2015
  46. Kiori

    Kiori

    Joined:
    Jun 25, 2014
    Posts:
    140
    Hi there do you plan on adding encryption to the asset? how would i got about encriptying data if needed? can you choose where the files are saved, and also does the asset serialize it for obfuscation? etc.
    Any more info would be good, looks great as far as visual editing is concerned. :)
     
  47. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Not at this time. However, in the current version the data file is bundled in the Resources, which I believe is compressed. I don't think the data file will be sitting in your app as plain text. However, in the next version (that is currently being tested) you will be able to load your GDE data from a string or a TextAsset. Loading from a string gives you the ability to host your data on a server. You could handle the downloading and encryption/decryption and pass the decrypted text to GDE on init. Loading from a TextAsset makes it easy to provide updated GDE data in DLC (Downloading Unity AssetBundles).
     
  48. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    309
    Game Data Editor is an Asset Store favorite!! :)

    Screen Shot 2014-11-22 at 4.37.26 PM.png

    Also, v1.4 has been submitted and is pending review. Here's what's in the update:

    * GDE can now load data from a Unity AssetBundle or from a string
    * Added Code Generated Class that contains GDE Item String IDs (No more hard coded strings in your code!)
    * Added Support for 2 Dimensional Lists
     
  49. IOZO

    IOZO

    Joined:
    Jun 26, 2010
    Posts:
    50
    Awesome. Many thanks for the 2D arrays and congratulation for highlight on the store.
     
    Celestipoo likes this.
  50. galent

    galent

    Joined:
    Jan 7, 2008
    Posts:
    1,063
    Hi,

    Just bought this asset, one question, can I Add or update data at runtime?