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

[RELEASED] Google Sheets For Unity Lite

Discussion in 'Assets and Asset Store' started by Novack, Mar 3, 2014.

  1. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hey guys pending announcement:

    GSFU is Unity5 compatible Out of the Box! It requires the APIUpdater to make some adjustments, but all works just fine past that. I have sent an updated version for aproval, so a new pure Unity5 version should be up in the UnityAssetStore sooner rather than later.
     
  2. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    And Google Sheets for Unity version 1.5 is up!

    Some clarification for a question that has been asked by email: HTML5 builds of GSFU have the same limitations than WebPlayer builds. It wont work. More details can be read in the Unity docs here.
     
    Last edited: Jun 9, 2015
  3. Jasper-Pt

    Jasper-Pt

    Joined:
    Aug 13, 2013
    Posts:
    4
    Any chance of getting playmaker actions for this?

    It would be super useful for the project I am doing and I'm sure others would use it as well.
     
  4. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello Jasper!
    You're not the first one to ask for that, although I have not yet considered. Is a requested feature, so I will look into that at some point, but I can't say when.
     
  5. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Heya people!
    Some guys have brought to my attention a small issue but can be a headache if not discovered on time:

    When you copy links from the GSFU pdf manual, for some reason the link is NOT COPIED CORRECTLY. Have that in mind when installing or setting up the extension. I will use another PDF writer for the next update.
     
  6. shadabs22

    shadabs22

    Joined:
    Jan 29, 2015
    Posts:
    3
    hi,
    while loading www.text, it give below string not json data, but when running same url on browser it give json data.
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <meta content="width=300, initial-scale=1" name="viewport">
    <meta name="description" content="Google Drive is a free way to keep your files backed up and easy to reach from any phone, tablet, or computer. Start with 15GB of Google storage – free.">
    <meta name="google-site-verification" content="LrdTUW9psUAMbh4Ia074-BPEVmcpBxF6Gwf0MSgQXZs">
    <title>Meet Google Drive – On......................................
    .......
     
  7. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hi @shadabs22

    I would need more details on what you're doing in order to be able to help. Please contact me on the support mail address and lets see what is it about. Thanks!

    PS: Please delete one of the duplicate posts ;)
     
  8. shadabs22

    shadabs22

    Joined:
    Jan 29, 2015
    Posts:
    3
    Thanx for reply, but problem solved, Select "Anyone, even anonymous" i was not doing dat so problem was occurring.
    and again thanx for reply...
     
    Novack likes this.
  9. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hey everyone!

    Im conducting a Lucky Draw!

    Like CyberianSoftware Facebook page to automatically qualify for the lucky draw and win a voucher for Google Sheets For Unity!

    Lottery ends on July 20.
    Shares are appreciated! :)
     
  10. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Finally decided to draw two vouchers instead of one : )

    Congrats to the lottery winners! Hope you find the extension useful.
     
  11. PepitoNicolasOn

    PepitoNicolasOn

    Joined:
    Aug 3, 2015
    Posts:
    2
    Hello Novack! Sorry to ask you this question here but I followed step by step the GSFU manual (everything is very clear inside: good job :) ) but I've got the same issue than @Mariol with the following error messages:
    - using the copy of GSpreadsheetConnector: "TypeError: Cannot read property "parameters" from undefined. (ligne 15, fichier "")" with an Ignore option
    - in unity playing the conntest scene and using the update from google spreadsheet button "Data error: could not parse retrieved data as json."
    Curious to know what solutions you've found. Thx in advance. (Ps: for later discussions can I use this email: marcos+assetstore@cyberiansoftware.com ?)
     
  12. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello @PepitoNicolasOn!

    There are no specific solutions to your problem, Im afraid, it always resulted on issues related to a bad setup... so doing it again fixed the problems. Dont feel bad however, 95% of the support requests are related to the same thing.

    Please do contact me through the support email and we can go further looking at the root of the problem.
     
    Last edited: Aug 4, 2015
  13. PepitoNicolasOn

    PepitoNicolasOn

    Joined:
    Aug 3, 2015
    Posts:
    2
    O
    Ok thx @Novack! I will try to redo the setup and if I still have some troubles I will come back to you via the support email. Regards
     
    Novack likes this.
  14. calculmentor

    calculmentor

    Joined:
    Jun 25, 2014
    Posts:
    11
    hello novack!
    [edit]
    not read the previous post about Json
    i'll send you a mail!
    thx in advance!
    n.
     
    Last edited: Sep 14, 2015
  15. KimNulbo

    KimNulbo

    Joined:
    Jun 25, 2014
    Posts:
    8
    please update manual
     
  16. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    o_O

    Erm... what?
     
  17. silmarill

    silmarill

    Joined:
    Jul 13, 2013
    Posts:
    10
    Does it work on iOS and Android?
     
  18. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hey @silmarill. Yes, it does work on mobile!
    I should specify that on the store page...

    Thanks for asking!
     
  19. silmarill

    silmarill

    Joined:
    Jul 13, 2013
    Posts:
    10
    Does this plug have some mecanism for saving data from GS locally for using it in Bulids for end players. It is very helpful for developing and changing balance, but how we can implement this for compiled binaries. I want prevent any possibility of changing game mechanics from the side developer and from the side of player through changes GS. More over, how could player play our game without any Internet access?
     
  20. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    GSFU does not actually implement a local storage feature, because that is covered by a wide range of assets in the store already, and because the needs on that regard vary in a big way from project to project. So essentially, local storage is beyond the scope of the extension, which basically offers two-way connectivity with Google Spreadsheets.

    Beyond that, the use you may give it, is on your creativity and desire ;)
    For the most part, is an excellent tool for development, for distributing teams, for localization, for storing settings for beta builds, and whatnot!
     
    Last edited: Oct 6, 2015
  21. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    So, the upcoming Unity 5.3 will include some features that affect Google Sheets For Unity.

    Specifically, a new API for http requests, and an integrated JSON serializer.

    This is good news for us! The new http api will help us have more flexibility when connecting to the Google Spreadsheets, resulting on improved and safer connections, making the asset more appropriate for released products, finally becoming a serious option for beyond development time. The awesome new json serializer, makes us free from external dependencies (GSFU uses LitJson), which means less maintenance, a seamless integration, and very cool Unity oriented features.

    On late december, I will be releasing an upgraded version of GSFU, which makes use of this new features, along with a new and more complex example: a complete CRUD implementation (for those not in the jargon, crud refers to the basic functions of a persistent storage: create, read, update and delete).

    In the meantime, don't be alarmed: GSFU will still work fine with Unity 5.3, even before the mentioned upgrade.

    So fingers crossed day job doesn't gets too messy so the new version gets released soon.

    As always, you can get updates through the facebook page and my blog, and you can follow me on twitter.
    I'll keep you posted!

    PS: if you are considering buying the extension, this may be a good time, I have not yet decided if the price tag will vary with this upgrade.
     
    shadabs22 and Victor_Kallai like this.
  22. shadabs22

    shadabs22

    Joined:
    Jan 29, 2015
    Posts:
    3
  23. Victor_Kallai

    Victor_Kallai

    Joined:
    Mar 5, 2014
    Posts:
    123
    @Novack

    Hello,
    Thanks for all the work you've done, this asset is really useful.
    I have a question: is it possible to add some form of encryption in GSpreadsheetConnector for the json I'm getting in the request? And after you get the encrypted json, I can decrypt it locally in my application.
    I do not have a lot of data in the spreadsheets, so the decryption should be fast.
    Would that solve the security problems that GSFU would have? Is it fit for some final release projects?
     
  24. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello Victor, thanks for your kind words!

    When you speak about encryption, you always has to consider the reasons and needs. GSFU uses SSL, so transmited data will be always encrypted, in both directions request and response. If you want aditional encryption for some specific need, you would have to add such layer yourself, on the server side and the unity project.

    GSFU does not have security problems per se, but I did not considered its purpose to be for released products, and so may not have covered all bases, and will depend on your specific needs.

    Im waiting for Unity to cover a bug I found in the new API for web requests, to go further with the development of the new version of GSFU that will add more versatile options for final products.

    In the meantime, you will have to see if it covers your needs as it is.
     
    Victor_Kallai likes this.
  25. Victor_Kallai

    Victor_Kallai

    Joined:
    Mar 5, 2014
    Posts:
    123
    @Novack

    Thanks for the fast reply. Now I understand perfectly. I'll give you a 5/5 rating on the store :)
     
    Novack likes this.
  26. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Thank you very much mate! Very glad you find it good and useful.
     
  27. Kim-sung-il

    Kim-sung-il

    Joined:
    Sep 19, 2015
    Posts:
    2
    TypeError: Cannot read property "parameters" from undefined.
    How to solve these problems?
    Where is the latest manual?
     
  28. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello Kim sung il.

    Much probably, you're not setting up the example properly, this is the main reason of trouble. However the error you describe may show up for a variety of reasons, and will need more info in order to be able to help you.

    The latest manual is included in the asset, and in the manual itself, there is also a link to the online version. Its worth mentioning that Google has changed some bits of the web services deployment procedure, but its trivial, and should not be a problem for setting up everything.

    Please contact me by the support email with more details. Have in mind that in order to help you, we shall work with the included example, in a fresh Unity project.
     
  29. d3.milano

    d3.milano

    Joined:
    Dec 14, 2015
    Posts:
    1
    Hey, Novack... I have a single problem, the SpreadSheet Template never download in my GDrive.
     
  30. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hey d3.milano!

    We already solved this by email, but for the sake of future reference (for others), I will repeat what I wrote a few posts above:

    When you copy links from the GSFU pdf manual, for some reason the link is NOT COPIED CORRECTLY. Have that in mind when installing or setting up the extension. I will use another PDF writer for the next update, although not sure whats the origin of such an awkward issue. What you can SEE on the PDF is correct, but is not copied correctly, in the meantime, please manually review the pasted url.
     
  31. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Not so nice news: the upcoming GSFU release recently announced will have to wait until past holidays -at least-, as there are issues on the new UnityWebRequest api that have not been even acknowledged by Unity yet, let alone fixed. I am contacting Unity through all means I can, and rest assured, I will have you posted and updated.

    If anyone is curious, here are the details on the issues found: UnityWebRequest Bug Reports.
     
  32. FairGamesProductions

    FairGamesProductions

    Joined:
    Mar 8, 2014
    Posts:
    81
    I keep getting a 400 Bad Request error when I try to use my own Spreadsheet. I set it up the same as yours.
     
  33. FairGamesProductions

    FairGamesProductions

    Joined:
    Mar 8, 2014
    Posts:
    81
    Never mind :p
    The sheet name had a space in it.
     
  34. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Glad you found the issue.
     
  35. KamiKaze425

    KamiKaze425

    Joined:
    Nov 20, 2012
    Posts:
    207
    Hey there Novack,
    So I upgraded to Unity 5.3.1, and now I keep getting time outs on iOS. Works perfectly fine on Android and in my Editor. Just when I run it on an iOS device, it fails. It used to work on a previous version of Unity. I think my last working iOS build was on Unity 5.3.0.
    "Max wait time reached, connection aborted."
    "Connection error after10.00983seconds: "
    Not sure what other logs you have in your plugin. But I can post whatever you ask for (within reason of course :p)
     
  36. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello there @KamiKaze425

    I think the first thing to check, should be to change the time out value in the connection object, for your iOS builds. May be that something takes longer than 10 seconds (maybe an issue in the latest Unity release).

    In your connection object (the one with the UnityDataConnector script) change "Max Wait Time" to something much higher and see how it does.
     
  37. KamiKaze425

    KamiKaze425

    Joined:
    Nov 20, 2012
    Posts:
    207
    No matter what I change that value to, it still errors after roughly 10 seconds
     
  38. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    What you are experiencing does not make sense. If modifying the maxWaitTime value stills gets you timed out at 10 seconds, something else is interfering.

    At this point, is rather vague to solve, I would recommend you to fall back to an empty Unity project, import GSFU (do not change anything), and build and test on iOS.
     
  39. KamiKaze425

    KamiKaze425

    Joined:
    Nov 20, 2012
    Posts:
    207
    Sorry about that. Didn't think there was anything in that part that really gave anything away.
    I'm doing a few more tests. I'll make an empty project in a bit
     
  40. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    No worries mate. I just learned to apply that policy to avoid other situations.

    Please have me updated on how it goes.
     
  41. KamiKaze425

    KamiKaze425

    Joined:
    Nov 20, 2012
    Posts:
    207
    figured out the waitTime problem. I had copied your code from the UnityDataConnector. It's set as a public variable, but has a value set in the script. In Unity, the value set in the Editor for a public variable takes priority over the initialized value in the script. So I was modifying the value in the script rather than in the Editor, which did absolutely nothing, haha. I just changed it to private so only the script can change it.

    I set it to 30 seconds. And it fails after 30 seconds of waiting.
     
  42. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Ok, good, so one thing sorted.
    I would say to have that field set to a higher value, like 2 minutes. We need to find what happens, if the time out is out of the way in full.
     
  43. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    If that still fails at the time out, we need to swap the connection string altogether.

    Using a service like http://requestb.in/ to mimic some other web app. If using a different url throws the same issue, then there is a Unity issue on how iOS handles the WWW class in the latest release. If the request is completed, then there will be valuable info at requestb.in on what the ios gadget is sending as request.
     
  44. KamiKaze425

    KamiKaze425

    Joined:
    Nov 20, 2012
    Posts:
    207
    I'm a little lost on what you want me to test with requestb.in. Never used it before. Can you clarify a bit?

    Also, I ran it for 5 minutes:
    Connection error after 300.0093seconds
     
  45. KamiKaze425

    KamiKaze425

    Joined:
    Nov 20, 2012
    Posts:
    207
    I think I figured out what you wanted me to try. I made a request bin URL and changed the connectionString. It got through (stopped at "Data error: could not parse retrieved data as json."). So something is wrong with the format of the connection string? It's exactly the same as the one I use on Android and in the Editor, and those don't time out...
     
  46. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Nice, so we got more info. Could you use this url:

    string connectionString = "http://requestb.in/17lo6lc1";

    It will let me inspect whats being sent.
     
  47. KamiKaze425

    KamiKaze425

    Joined:
    Nov 20, 2012
    Posts:
    207
  48. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Yes, it helps. Nothing looks out of place, a simple www call. Was it instant, or delayed for a while?

    I would like to test your google web service url if you agree (send it by email).
     
  49. KamiKaze425

    KamiKaze425

    Joined:
    Nov 20, 2012
    Posts:
    207
    Just sent it. Sorry for the delay. Was trying to test a few more ideas
     
  50. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Attention GSFU users that work with iOS

    @KamiKaze425 found out that in the Unity version 5.3.1p1 (currently the latest), there is an issue with the WWW class that creates a deadlock in the connection, and will prevent Google Sheets For Unity to work as expected.

    There is a Unity temporary workaround published here, and the issue will be fixed in the next engine patch release.


    Thanks @KamiKaze425 for your time and effort to find out what was going on.
     
    KamiKaze425 likes this.