Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    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:
    379
    Are you in our Slack channel? You can download GDE v2.6.1 beta 2 from there. It has the fix for new items not showing up in the runtime window. If you need access to the channel, email me your invoice # and I'll send you an invite. celeste@stayathomedevs.com
     
  2. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    GDE v2.6.1 Beta 2 is available on Slack!

    Here's what's in it:
    * New Playmaker 1.8 Array Actions for GDE Lists
    * Performance improvements for GDE Item/Schema Editors
    * Fix new items created with Playmaker not showing up in Runtime Window

    If you are not in the gde-early-access channel, and would like to be, send me an email (celeste@stayathomedevs.com) with your GDE invoice # for an invite.
     
  3. MitchelQ

    MitchelQ

    Joined:
    Nov 18, 2013
    Posts:
    18
    Thanks, just send you an email.
     
  4. Himanshuchahar

    Himanshuchahar

    Joined:
    Apr 15, 2016
    Posts:
    42
    Hi,
    Hi Recently bought your package and I must say it is pretty awesome :)
    I am facing minor issue. I try to add a field of type GameObject. I drag and drop prefab on GameObject field. (till here it is successful)
    But as soon as I hit "GDE Generate Date Classes", the GameObject field becomes null....
    Please Help!!!
     
  5. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Glad you are loving GDE, that's always nice to hear :)

    Make sure any GameObjects you link are in a Resources folder or subfolser.
     
  6. Himanshuchahar

    Himanshuchahar

    Joined:
    Apr 15, 2016
    Posts:
    42
    TRUELY AWESOME :)
    I am able to assign .fbx file if I put it directly under Resources (GameDataEditor -> Resources) folder, but it is not working if I put it under Subfolder (GameDataEditor -> Resources -> Prefabs) :(
    Please Help!!!
     
  7. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Are you on windows? What's the name of the fbx file, I'll test it out on my end.
     
  8. Himanshuchahar

    Himanshuchahar

    Joined:
    Apr 15, 2016
    Posts:
    42
    Yes I am on windows. fbx file name is "Alexis"
     
  9. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Do you have the latest version of GDE?
     
  10. Himanshuchahar

    Himanshuchahar

    Joined:
    Apr 15, 2016
    Posts:
    42
    Yes I have the updated version
     
  11. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Did you link it *after* you moved it to the subfolder? And did you click the Save button before you went into play mode? Can you link it, save it, and email me your data file so I can take a look? Celeste@stayathomedevs.com
     
  12. Himanshuchahar

    Himanshuchahar

    Joined:
    Apr 15, 2016
    Posts:
    42
    Sent a mail. Can you please check?
     
  13. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Hi there, sorry for the delay. It is the weekend, and it's also my birthday. I'll take a look at it tomorrow.

    I did look at the data file and the correct value is there, so the GDE Item Editor is showing null, when in fact the value is valid in the data. Does it load during runtime? Anyway, I'll dig more tomorrow.
     
  14. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    Happy birthday! :D
     
    Celestipoo likes this.
  15. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Thanks! :)
     
  16. Himanshuchahar

    Himanshuchahar

    Joined:
    Apr 15, 2016
    Posts:
    42
    Happy Birthday :)
     
    Celestipoo likes this.
  17. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    GDE/LE Bundle is featured on the front page :)

    Screen Shot 2016-05-04 at 1.03.34 PM.png
     
    Tinjaw likes this.
  18. Caffeen

    Caffeen

    Joined:
    Dec 25, 2013
    Posts:
    34
    Hi, I love your product! Unfortunately I'm currently having an issue.

    I'm using GDE 2.6 with Playmaker, and when I try to compile to WebGL, I get pages of error messages related to GDE Playmaker Actions.

    For example:
    Spawn Detector: FSM: Get Position/Spawn Value: MissingAction: Could Not Create Action: GDEGetFloat (Maybe the script was removed?)

    UnityEngine.Debug:LogError(Object)

    HutongGames.PlayMaker.ActionReport:LogError(PlayMakerFSM, FsmState, FsmStateAction, Int32, String, String) (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/ActionReport.cs:82)

    HutongGames.PlayMaker.ActionData:LogError(String) (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/ActionData.cs:1465)

    HutongGames.PlayMaker.ActionData:CreateAction(FsmState, Int32) (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/ActionData.cs:808)

    HutongGames.PlayMaker.ActionData:LoadActions(FsmState) (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/ActionData.cs:741)

    HutongGames.PlayMaker.FsmState:LoadActions() (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/FsmState.cs:116)

    HutongGames.PlayMaker.Fsm:InitData() (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/Fsm.cs:1242)

    HutongGames.PlayMakerEditor.FsmErrorChecker:DoCheckFsmForErrors(Fsm) (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/FsmErrorChecker.cs:275)

    HutongGames.PlayMakerEditor.FsmErrorChecker:DoCheckForErrors() (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/FsmErrorChecker.cs:232)

    HutongGames.PlayMakerEditor.FsmErrorChecker:Update() (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/FsmErrorChecker.cs:197)

    HutongGames.PlayMakerEditor.FsmEditor:Update() (at c:/Users/Alex/Documents/Unity/Playmaker/Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/FsmEditor.cs:788)

    HutongGames.PlayMakerEditor.FsmEditorWindow:Update() (at Assets/PlayMaker/Editor/FsmEditorWindow.cs:350)

    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

    Seems to be one error message for each instance of a GDE Action. (Everything runs as expected in-editor, so nothing's ACTUALLY missing.)

    Any ideas? Thanks in advance!
     
  19. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Edit #2:
    Did you enable GDE Playmaker Support after you switched your build target to WebGL? I was able to get the GDE Playmaker Sample scene to build and run in WebGL.

    Screen Shot 2016-05-12 at 7.27.45 PM.png
     
    Last edited: May 13, 2016
  20. auld5150

    auld5150

    Joined:
    Mar 5, 2016
    Posts:
    8
    Hi,

    New customer with a couple of closely-related related questions.

    I'm trying to populate rows in a UI screen with items loaded from a schema. Each row would contain a loaded item's name, stats, and picture (and the pictures I'm working with are sprites). The item editor allows me to select "texture2d" as a data type, and actually does allow me to select my sprites with the picker, and save them for each item... but then when I load the item editor again, the texture2d fields are all blank.

    1. Should I be able to save the sprites in texture2d, or am I doing something wrong?

    2. If texture2d is indeed the answer, is there a known bug where the item editor loses texture2d data? Or is it just me failing to understand what I'm doing? (see below)

    I am new to this, so it is entirely possible that I am missing something, or that I am not going about it the best way. FWIW, all my other fields (bools, strings, floats, even a material) are properly saved and appear in the item listings when I reopen the item editor. Only the texture2d fields are lost.

    Thanks!
     
  21. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Well, it could be two things. First, make sure any sprites you are trying to link are in a Resources folder or subfolder. Second, if your sprites are packed in a spritesheet, they won't get loaded correctly.

    You can change your sprites to Texture2d if that works for you, and link them as Texture2d, or you can make a prefab for each sprite and link the prefab as a GameObject. I will probably include support for Sprites in the next update, although I'm not sure when that update will be released.
     
  22. auld5150

    auld5150

    Joined:
    Mar 5, 2016
    Posts:
    8
    OK thanks for the quick reply. Will test.
     
  23. auld5150

    auld5150

    Joined:
    Mar 5, 2016
    Posts:
    8
    I ended up using string names for the sprites and then passing them to resource.load. It worked well enough, though obviously the more stuff you can save natively, the more convenient. If i was dealing with hundreds of items i would prob. use strings anyway, as i imagine passing the actual sprites around could have performance ramifications, but in this case it was only about 30 sprites.

    Some feedback on the editor:

    I would give an option to remove the asset-store-rating nag boxes... maybe they go away eventually... i don't know because i commented them out... but i felt i shouldn't have to dig in the code to do that. I have a mild ocd reaction to having such a strong visual element in my field of view, espcially when it is not functional to the product. I realize your price is very low, and ratings help a lot, but the boxes would still feel more appropriate in a free product.

    Also, someone else mentioned this... i think the editor looks fine except that the usable space really gets crowded, and even going fullscreen doesnt show a lot of data rows, as the top elements and white space really crowd the main data window. i think it could be easily fixed with a couple small adjustments to either element anchoring or the padding around the top elements. If I find myself with some free time I will look at it myself, but It might be trivial on your end to adjust that. Or maybe not. But seeing more rows would make the editor more useful. (I realize of course, that for massive data files, the best option is probably linking to excel and using that for editing, which works well. But again, I'm talking about cases like mine with a few dozen elements.)

    Regarding documentation: I initially had some problems figuring things out, mainly because it's been so long since I worked with data. Though most of it is specific to me, I think I was also a little mixed up because the functionality I needed was split between the generated, convenience data classes and the lower-level classes. Going forward, you probably want to make the separation between the two as crystal clear as possible, and ideally add a couple of extra functions to the generated classes, to minimize the need of most users to dig into the lower-level classes.

    Also regarding docs: I don't think you have any documentation on pulling a set of data from the classes to populate, say, inventory or UI elements. You do show how to get a single item by name, and how to retrieve every item in a given schema, but unless I missed it, nothing in between. I realize a lot of this is technically beyond the scope of your program, but I imagine a lot of semi-beginners are using this tool to save and retrieve data to populate UI elements. Having just one brief in-between case showing, for example, how to grab all schema elements with a certain shared field (as opposed to the whole schema), and then use that list to populate a set of buttons or toggles, would probably cut down on some of your tech support down the road.

    Last thing: I don't know what use use for your website, but your docs website would randomly not allow me to expand/open the left-hand navigation links. This happened a little on my pc, and almost always on my tablet browsers (safari and a couple of third party browsers). Whatever plugin you're using for those expandable lists is not very bulletproof. Might want to use a different solution.

    I realize all the above might make it seem like I don't like the product, but I do. It has been useful on my current project and the price is very fair. Thanks for making it.
     
    Last edited: Jun 17, 2016
  24. auld5150

    auld5150

    Joined:
    Mar 5, 2016
    Posts:
    8
    I notice you guys have been quiet for awhile, and your main website is down. Hope everything is OK over there!
     
  25. sanuvin

    sanuvin

    Joined:
    Feb 11, 2014
    Posts:
    61
    +1 for support of sprites
     
    Celestipoo likes this.
  26. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    We've had personal things going on that have taken lots of time. We are still here though. Also, thanks for the heads up. Seems some of our Amazon services were compromised. We are on it though, thanks for the heads up!
     
  27. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Localization Editor v1.2 will have support for sprites, so GDE will (most likely) get sprite support at some point as well.
     
  28. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    All sites are back up and running. Thanks for the alert.
     
  29. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    FYI, Localization Editor is a Staff Pick this week :)
     
    Tinjaw likes this.
  30. auld5150

    auld5150

    Joined:
    Mar 5, 2016
    Posts:
    8
    Thanks for the update!
     
  31. NicoVar

    NicoVar

    Joined:
    Sep 21, 2012
    Posts:
    40
    Didn't check if this has been added yet, but the option to have the key as an Int instead of a String may go a long way.

    I'm working on an MMORTS, and each byte sent from the server is paramount, and it would be great if I could send an Int instead of a String for a key. Will definitely save bandwidth.
     
  32. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    The goal of GDE is to provide flexibility. GDE users like the free form string keys. Since you are focused on performance, I'd recommend going with another data management solution better suited for your situation. Or, if you really like GDE, all the source is present and can be modified to work with whatever constraints you have.
     
    Tinjaw likes this.
  33. NicoVar

    NicoVar

    Joined:
    Sep 21, 2012
    Posts:
    40
    Ok, thanks for the answer.
     
  34. NicoVar

    NicoVar

    Joined:
    Sep 21, 2012
    Posts:
    40
    I just want to say I think this is the worst possible customer service and engagement I've seen...

    I clicked the big blue button in Unity saying "Suggest Features in the Forum", and the response I get is:
    1) Suggested to buy another solution
    2) Tell me to grab the source code and add the feature myself

    Really? This is not the way to handle paying customers...

    If I have to choose from the two options you gave me, I may take your advice with the first one...
     
  35. Tinjaw

    Tinjaw

    Joined:
    Jan 9, 2014
    Posts:
    518
    @NicoVar

    @Celestipoo gave you a very professional answer. If I was asking the same question you did, I would be thanking her for providing a such an honest and forthright answer. That's all I will say about this matter.
     
    Celestipoo likes this.
  36. frogzero

    frogzero

    Joined:
    Aug 7, 2016
    Posts:
    3
    Is there an easy way to access the field names more generically, like by numbers or variables instead of its specific name?

    For example, On my spreadsheet, I have GDE_field_names such as atk01, atk02 etc.. after a few, I have atk01_num, atk02_num etc. I store a lookup number in atk01_num, this number I need to access to which helps me do another lookup.

    So when I access say instanceName[0].atk01 -- I"m really binded to just hard coding atk01. So if I needed to look through say 50 attacks, Id have to manually code a check for atk01, atk02 , when all i want to do is intanceName[0]."string" and do a for loop and some string concatenations to access the information. Is there a sample you can perhaps show me? Also, is there a way to access the field names with numbers?
     
  37. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Sorry for the late reply, I didn't get a notification from the forum. I'm not sure I'm following you. Can you send me an email and explain what you are trying to do? celeste@stayathomedevs.com
     
  38. br0br0br0

    br0br0br0

    Joined:
    Feb 26, 2014
    Posts:
    10
    I have the exact same question as frogzero. Do you have an example you could perhaps share?
     
  39. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    I'm not sure what it is you are trying to do. Why not make the attack a list? That way you can loop through the attack list instead of setting them as a single field? Then you could do:

    instanceName[0].atk[0]

    or if you have attack types, make multiple attack lists like this:

    instanceName[0].atk01[0] and
    instanceName[0].atk02[0] etc.
     
  40. br0br0br0

    br0br0br0

    Joined:
    Feb 26, 2014
    Posts:
    10
    hey, thanks for your reply. I think you might be right. I'll outline my problem below to see if it is the same.

    I'm trying to create a context sensitive interaction menu that can be made up of multiple buttons. For example, if you click the terrain whilst you're in the air you should get a land button. If you click the tree whilst on the ground you should get a chop button etc.

    I'm currently using bools to determine whether to give you a button. Each entry is made up of a list<bool>, [0] is for interaction when the player is on the ground, and [1] will be for when they're in the air. Below is the spreadsheet I'm currently using:
    gdeexample.png

    So looking at row 5, you should only be given the mine button when you click the rock whilst on the ground.
    When an interaction is made, I know what object has been clicked (e.g. OBJ_ROCK) and what state the player is in (on Ground). I'd like to be able to loop through each of the field names (LAND, CHOP, MINE etc) and determine which buttons should be displayed. Unfortunately I'm unable to access the fields numerically so am unable to loop through them.

    I feel there is probably a better way to achieve the same results? Thanks for your help!
     
  41. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Ok, what about a truth table? The only states you are interested in, are the states that are true. So if you reorganize the data structure so that you record the actions that should be available then your data will look like this:

    Screen Shot 2016-08-27 at 11.14.33 PM.png

    That way you can look up any obj, and access the player state (on ground, or in air), and get a list of actions that should appear in the context menu.
     
  42. br0br0br0

    br0br0br0

    Joined:
    Feb 26, 2014
    Posts:
    10
    Perfect :) Thank you!
     
    Celestipoo likes this.
  43. Erenyx

    Erenyx

    Joined:
    May 30, 2014
    Posts:
    7
    Why can't I use type of Gameobject or Texture2D? I have just bought the full version
     
  44. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Make sure any GameObjects or Textures are in a Resources folder or subfolder.
     
  45. vartugg

    vartugg

    Joined:
    Mar 31, 2014
    Posts:
    4
    Hi, I think the GDE is a great product. Thanks for this. I have one question, though.
    Is it possible to separate data in more than one file? The reason is that I have some tables which are used for building the levels (and hence only used once), and then I have some tables which are used during game play and for saving data. Since my file is getting quite big, I feel that separating it would enhance performance quite a bit.
     
  46. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Sorry for the delay, I'm recovering from surgery.

    Yes, you can split data into multiple files. Backup your current data, then change the name of the target file in GDE preferences to create a new file. Once you do that, you can switch between files (in the editor) by right clicking the file you'd like to load and using the context menu. During runtime, call init with the name of the file you'd like to load as usual.
     
  47. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    Wishing you the best, hope you feel better soon. :)
     
    Celestipoo likes this.
  48. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Something's wrong with my database, and I can't even delete it! I'm making changes to my GDE data that aren't being saved, both in the Google Sheets database and in the Editor interface. The DB path points to D:\_Programming Stuff\Unity\Adventures\Assets/GameDataEditor/Resources/gde_data.txt. I have deleted this file, but the database still shows up in the Scema and Item editors. How do I reset it?

    Just realised the path is wrong, pointing to a copy of the project. How do I change the import path?
     
  49. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    You can change the path in the GDE Properties, or you can browse to the correct data file in the unity project window, right click it and select load in the context menu.
     
  50. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Couldn't find GDE Properties anywhere, but the second option worked. Thanks.