Search Unity

[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 @ikazrima, Im afraid UnityWebRequest is a rather new Unity API class, and thus has issues that are continously found and fixed. You need to always use the latest Unity stable version, and sometimes even patch releases are required, so consider updating your Unity sooner rather than later. In the latest engine version UnityWebRequest is no more under Experimental namespace.

    Cheers!
     
    ikazrima likes this.
  2. ikazrima

    ikazrima

    Joined:
    Feb 11, 2014
    Posts:
    320
    @Novack sorry my mistake I didn't notice the 5.4 requirement. Upgraded and it runs now. However I do have a question.

    Code (CSharp):
    1. CloudConnectorCore.GetTable(tableName, runtime);
    How do I actually access the tables called? I'm not sure where it's storing the data.
    I've deleted the PlayerInfo table (from the example) and I can still click on the retrieve button.
     
  3. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hey man, Im not sure exactly what you are asking. Contact me by the support email if you need further help.
     
  4. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    I've just bought this asset, and updated from 5.3.5 to 5.4.1. But, after reading through the manual, I'm still confused about how to use it.

    I expected to find an API call that like GetCell(sheetName, row, column). But... no. GetObjectsByField wants a table name (sheet name?), search field name (?), search value (?!?), and runtime flag (that's clear, at least).

    Can somebody please explain in simple terms what the search field name and value are? I don't generally think of spreadsheets as something you search... I think of them as a 2D array of values. Perhaps this API is assuming some particular structure to the spreadsheet? If so, what exactly are the requirements?

    Also, the manual says "since the V.2.0 Google Sheets For Unity also offers an out of the box small API for doing basic CRUD operations from a Unity project connected to a Google Spreadsheet." That sounds awesome; if I can avoid having to muck about in JavaScript in Google Drive, and just get to my data, that'd be great! But it's not clear to me if that's what this means. Is this simplified API to be used instead of deploying a Google Apps Script to Google Drive? Or... do I need to do both? And in the latter case, what is this "also" in addition to?

    Thanks,
    - Joe
     
  5. ikazrima

    ikazrima

    Joined:
    Feb 11, 2014
    Posts:
    320
    Hey Joe, I had the same problem before but Marcos explained to me via email. I'll share his answer here.

    Now I can see the whole table retrieved in Json format, but I have no idea why I'm seeing empty fields from the object after I've parsed it (most probably related to me not knowing Json prior :p )
     
    Novack likes this.
  6. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Hmph. I've dug deeper, and it looks to me like the script provided [EDIT: DO NOT POST SCRIPTS FOR PAID ASSETS] is imposing a sort of single-table structure on the spreadsheet data. It looks like the first row is supposed to be headers, and these should be unique, because they're used as dictionary keys in various places. And then subsequent rows are data. You can have multiple sheets, each with one table structured in this way.

    So it looks like when the docs say "field" they mean a column, identified by the header (row 1) value. And when the docs say "object" they mean a row of data (but with values mapped to field names that, again, come from row 1). So what GetObjectsByField is return the set of rows where the given column (identified by field name, i.e., the row 1 value) matches the given value.

    Nuts. I guess I'll just call GetTable and then parse the results myself. After restructuring my spreadsheet according to the requirements. Grr. Maybe I should look at other Sheets integration options before investing too much time into this one, though. :(

    Ooh, here's a thought: has anybody worked out the changes that would be needed to the Google script to just return the entire contents of a sheet, without making assumptions about the structure of it? Just a 2D array of values? 'Cause that would be really useful. It's pretty clear that the data is there at the level of the Google script, but there is no way (out of the box) to get this into Unity.
     
    Last edited by a moderator: Sep 11, 2016
  7. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    OK, I figured it out. Using @Novack's code as an example, I now have a very simple Google script that just takes the sheet name and returns the data, and on the Unity side, I invoke this via a simple UnityWebRequest.

    So, as it turns out, I'm not using GSFU in my project after all, as it just doesn't fit my use case. But as sample code, it was invaluable — it would have taken me much longer (if at all) to figure all this out on my own. So, twenty bucks well spent. :)
     
    Novack likes this.
  8. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hey @JoeStrout, really happy you reached a nice shore there. I'd also like to explain some of the concepts behind GSFU, because you see, you are using GSFU after all :)

    The idea behind the asset, the mashup of technologies that enables you to connect to Google Spreadsheets in this way, bypassing Google Data API completely, and thus enabling for fast uploading and downloading of data from Unity at runtime. This was not available at all 3 years ago, not in Unity, not much in general as a concept either.

    It is a much more widespread concept now, and in the Unity community in particular is a more common idea, specially due to this small and handy asset.

    You see, the first version of GSFU did exactly what you are asking now: simply downloaded it all, and left for your imagination more elaborated uses.

    My idea then, was to provide the principle, then each one would use it as desired. But time passed and houndreds of people bought the asset (!), and started to ask for more features, like editing a value, or downloading a specific subset of information.

    Coming from a database background, I understand pretty well that this is a complex proposal. Many asked what you asked "GetCell()" etc. I understand this is not really something people want to do, as in general no one would be safe in this world, by editing values in a database by passing its coordinates in a table :)

    Thus, I invested time and work in developing an approach that mimics a database: these are assuptions and preconceptions that you found limiting, but Im very confident when saying that is the best approach if you want CRUD over a remote data table.

    In any case, by the process you got into, looking into the idea, and using it on your own way, your are my ideal customer scenario when creating the asset, and for that, I am thankfull :D
    However, GSFU is not the specific implementation, but the underlaying idea. That is the value you paid for. The example(s), the crud API, the manual, and the rest of the goodies are very useful, but anecdotical.

    Hope it clears whats the idea for others, as I see you have already found out the path for yourself.
     
    Last edited: Sep 12, 2016
    JoeStrout and Victor_Kallai like this.
  9. EricYen

    EricYen

    Joined:
    Jun 6, 2014
    Posts:
    7
    Hi , @Novack
    I discovered , if i build app in android OS, the ParseData function what in GSFU_Demo_Utils.cs will never be call?
    but in PC or Editor is work.
    Do you know how to fix it?
     
    Last edited: Sep 21, 2016
  10. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello @EricYen , has been pretty hectic here and I have been unable to sit and check the issue you have. Tomorrow I will be looking into it, sorry about the delay!
     
  11. EricYen

    EricYen

    Joined:
    Jun 6, 2014
    Posts:
    7
    Thank you~ No worries.
    This is my flow.
    I created a new project, and loaded your plugin. and only add the GSFU_Demo_Runtime.cs in my Main camera,
    also created a new script call Test.cs have a public static function like this.

    Code (CSharp):
    1. public static void changeColor()
    2. {
    3.    GameObject.Find("Main Camera").GetComponent<Camera>().backgroundColor = Color.red;
    4. }
    Final, Called this static function in your ParseData function first line in GSFU_Demo_Utils, like this ,Because i guess ParseData will be call when i touch the last three buttons.


    Code (CSharp):
    1. public static void ParseData(CloudConnectorCore.QueryType query, List<string> objTypeNames, List<string> jsonData)
    2. {
    3.    Test.changeColor();
    4. .......
    5. }

    and the Camera background color will succeed be red when i build in PC or in Editor,
    But it's not work in my android phone.


    That's my flow , for your reference. :D
     
  12. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello @EricYen, I have been looking into your issue, and I can confirm you are simply suffering the consecuences of a known Unity issue (814388). ParseData() method is never called bacause the data never gets back.

    By the Unity mobile implementation of the UnityWebRequest calls, if you send a POST request, and a redirection happens (as in our case), body data is being added to the GET requests after the redirect, which is causing Google servers to reject it.

    We (Google Sheets For Unity users really) are the ones who found the issue, and I raised a report, initially for iOS, later confirmed that is happening on Android as well. I have been in contact with Unity QA and dev teams, and they confirmed the issue; a fix is supossedly going to be released in the near future in a patch release.

    In the meantime, you can use the asset option for using GET requests, but have in mind that the information that you can send is very limited in size. You should have no issues retrieving data though.

    If you read the posts on this thread from the recent weeks, you will found this has been discussed extensively.

    Hope it helps! Sorry for the delays and annoyances, in this case is really beyond my reach.

    Will be letting everybody know when the fix is available (please have an eye on facebook, twitter, or this very same forum thread).
     
  13. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Oh, and please EVERYBODY: update to the latest Unity Stable Release! (5.4.1 at this time).

    On this one alone, the UnityWebRequest class got several fixes:
    • UnityWebRequest: Fixed errors in console when downloading texture. (813763)
    • UnityWebRequest: Fixed memory leak and possible crash when doing multiple request using the same object.
    • UnityWebRequest: Fixed possible freeze when downloading more than 64k of data using custom download handler. (820517)
    • UnityWebRequest: Fixed texture download reporting done before texture is actually usable. (814330)
    • UnityWebRequest: Report downloaded bytes for asset bundles and properly report 1.0 progress when finished. (815185)
     
  14. EricYen

    EricYen

    Joined:
    Jun 6, 2014
    Posts:
    7
    SO, This problem can not be fix now?
    Need to wait Unity Version update?
     
  15. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
     
  16. EricYen

    EricYen

    Joined:
    Jun 6, 2014
    Posts:
    7
    mmmh... I think i can wait , if this problem is fixed , please tell me,
    Hope as soon as possible.
     
  17. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Attention please! :)

    Please everyone, update to latest Unity Patch Release. Last week* patch includes a fix for the notorious Issue 814388, that has limited the Google Sheets For Unity functionality on Mobile plataforms.

    *Due to my own misunderstanding, I thought this week patch was to going to include the fix, but it was available since the last week.

    Thanks to the Unity AQ and Dev teams, specially to Chris and Vaidas.
     
  18. jGate99

    jGate99

    Joined:
    Oct 22, 2013
    Posts:
    1,939
    @Novack,
    I purchased your plugin today, can you please tell me when WebGL is expected?


    Secondly, it'd be much better if you create demo "scene" so new users dont have to spend time in 'creating' the demo scene.

    Thanks
     
    Last edited: Oct 7, 2016
  19. Novack

    Novack

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

    The WebGL implementation is delayed as I have been crazy on work, so the time I have to dedicate to the assets has been mostly for support. At his moment, I do not have a timeline but the first months of next year sounds like a potential oportunity.
     
  20. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    For those that for whatever reason are not able to update to a Unity patch release, the latest stable Unity version, fresh from today, includes fixes critical for Google Sheets For Unity.
     
    Victor_Kallai likes this.
  21. AskeDK

    AskeDK

    Joined:
    Sep 14, 2013
    Posts:
    4
    At the end of the documentation you state:
    "To get the authorization dialog, open the "Run" menu and click on the function, "doPost". You can ignore/dismiss any error produced by this one-time in-editor script run."

    When I do run "doPost" it does give an error, but I do not see how to ignore/dismiss it and get to the point where I get the authorization dialog? (maybe it has been there already but I don't think so)
    (Using Firefox on Windows 10, if that matters at all).

    The error I get: "
    TypeError: Cannot read property "parameters" from undefined. (linje 38, fil "Code")
    Luk"
     
  22. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello AskeDK,

    Google Script Editor is now opening the authorization dialog automatically when you deploy for the first time. This is described in the docs. If you dont get offered the dialog when running it manually, it means you have already authorized the script at some previous point. The manual running is just in case.

    There is no button to ignore the error, is you who can ignore it :)
    Its just an informative label that wont affect the rest of the procedure.
     
    AskeDK likes this.
  23. jprocha101

    jprocha101

    Joined:
    Apr 8, 2015
    Posts:
    134
    Hi @Novack - would it be possible to get your documentation so I can see what method calls are available, how this compares to other solutions, how simple/complex your API is, etc.? A lot of asset developers have a link the in the asset store description to the online documentation.

    I am on the fence about buying this asset, but I want to make sure I have some idea of how to use it before I buy.

    Thanks!
     
  24. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hey @jprocha101

    I do not openly share the Developer Guide, as it includes references to private components of the asset, but if you contact me by email we can arrange something so you can access and read the manual.
     
    jprocha101 likes this.
  25. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Google Sheets For Unity 2.2.5 is up!
    Fixes, cleanup & performance improvements.

    Please update: u3d.as/6Lk
     
    jprocha101 likes this.
  26. MrDChristop

    MrDChristop

    Joined:
    Oct 26, 2016
    Posts:
    6
    Hi
    i managed to run the web app from google . How can i see what web-app is running, and get the web service Url if i lost it?
    I am on Unity 5.4.0f3 do i need to upgrade the project in order to have Google sheets working correctly on iOS devices?

    I use the RunTime, and in the editor played its working but when i deploy on the device i get these error messages. Despite the error messages it can do a Create Player, Update Player. But it does perform any action on Retrieve Player/Retrieve All Players. I am using the demo to verify. Here are the error for the Xcode console.

    <color=yellow>Retrieving player of name Mithrandir from the Cloud.</color>
    GSFU_Demo_Utils:RetrieveGandalf(Boolean)
    GSFU_Demo_Runtime:OnGUI()
    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)
    Establishing Connection at URL https://script.google.com/macros/s/AKfycbxj1DJtOyCfqQiG4reLd4_ZO3llJQ_vvrcgAUJTmYqBDRtaHA/exec
    CloudConnector:CreateRequest(Dictionary`2)
    CloudConnectorCore:GetObjectsByField(String, String, String, Boolean)
    GSFU_Demo_Runtime:OnGUI()
    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)


    Connection error after 1.166772 seconds: Unknown Error Time: 1.166772
    CloudConnectorCoreProcessResponse(String, Single)
    <ExecuteRequest>c__Iterator0:MoveNext()
    UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)


    Thanks
     
    Last edited: Oct 26, 2016
  27. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello @MrDChristop,

    The issue you describe is indeed caused by a version of Unity which does not include the fixes in the API required for the asset to work on mobile. Please Update Unity to the latest stable version (5.4.2 at this moment).

    Regarding your first question, not sure I follow you, but if I understand you correctly, the data you are asking for is specified in the asset manual, please read the part of webapp deployment, there it explains very clearly where how to deploy and where to grab the info from.
     
  28. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    jprocha101 likes this.
  29. MrDChristop

    MrDChristop

    Joined:
    Oct 26, 2016
    Posts:
    6

    Thanks for the reply upgrading worked.
    Regarding the first question. I did all the steps and run the web app. The it showed me a web app URL.
    Unfortunately i closed the window without writing it down.
    The question is,
    1) how can i find out what we apps are running from my google account? I assume that after ai run the web app there is some kind of service run-in somewhere.
    2) how can i find out the web app url of an already running web app?

    Thanks
     
  30. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Glad it worked @MrDChristop :)

    1) Im afraid Google does not currently offer a list, dahsboard or similar console to list running scripts.
    2) Just open the same dialog you use for deployment, there you can see the currently used webservice url.
     
  31. dnoparker

    dnoparker

    Joined:
    Aug 28, 2013
    Posts:
    63
    You can read and write to the spreadsheet during gameplay? If that's the case then this is pretty cool!
     
  32. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    @dnoparker indeed you can, how cool is that uh? =)
     
  33. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
  34. mrm83

    mrm83

    Joined:
    Nov 29, 2014
    Posts:
    345
    Before I buy, I would like this ask:

    So this asset supports read/write in runtime, and I assume this is for a predefined sheet right?
    Is this secure? Could a user some how be able to hack my sheet?
     
  35. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello @mrm83

    You can define the sheet dinamically, as a field in the call, if that is necessary for your use case.

    Regarding security, and starting from a base that nothing is 100% secure, there are a few things to have in mind:
    1. The spreadsheet does not need to be shared publicly, so standard access to the spreadsheet is safe.
    2. The connection to the spreadsheet is done trough a webservice which receives SSL webcalls, so sniffing is out of the table.
    3. The webservice URL is obfuscated by Google who will not index it (only you will know it).
    4. If the webservice url is exposed it still uses a password check.
    5. This is all stored in Google infrastructure, so is a good base for security ;)

    Hope it helps!
     
  36. DonLoquacious

    DonLoquacious

    Joined:
    Feb 24, 2013
    Posts:
    1,667
    You can do predefined sheets by ID strings (as it works now), but you can also do a combination of file names/IDs and folder names/IDs. So for instance, you can use a folder ID instead of a Spreadsheet ID, get all of the Spreadsheets in that directory, and collect it into a dictionary or array, convert it to JSON, then dumped back down to be dealt with by your project code. Let me know if you'd be interested in something like this and I can share the modifications I made to the Google Apps Script to handle it.

    The simple adjustments I made a few pages back will dump all of the sheets in a given Spreadsheet out as one collection, but you can take it a step further for several Spreadsheets or whole directories too.

    You can also increase security by using a universal password just to access the apps script functions, then individual passwords for retrieving the script in question. You can use the password as a criteria for separating out spreadsheets in a directory and only retrieving some of them, too, or a separate criteria parameter that you include in the address string.
     
    jprocha101 and Novack like this.
  37. mikrima

    mikrima

    Joined:
    Dec 20, 2013
    Posts:
    66
    Hi,
    I just updated to Unity 5.5 and no longer receive data from my google sheets connection (I am using it in the Windows Editor). Everything worked perfectly in 5.4 - but in 5.5 the connection always times out.

    For testing, I just downgraded to a 5.4 version of Unity again (left the code completely untouched otherwise), and it immediately started working again.
    Anybody else having this issue?
     
  38. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello @mikrima

    Thanks for reporting it, I got similar reports by email, and I can confirm is an issue introduced rencetly, where the UnityWebRequest API wont work on Editor, unleast the editor be on Play Mode. I just raised an issue:

    (Case 858932) UnityWebRequest on Editor only works on Play Mode.

    Apologies in advance to everyone, lets hope Unity fixes this issue as soon as possible.
    Maybe @christophergoy can give a hand?


    Important: you can temporarily bypass the situation by hitting Play on the editor (even with an empty scene), and then running your editor calls. This issue does not affect the runtime functionality, fails only on the Unity Editor side.
     
    Last edited: Dec 7, 2016
    Victor-Garcia likes this.
  39. DonLoquacious

    DonLoquacious

    Joined:
    Feb 24, 2013
    Posts:
    1,667
    Explains why I haven't been having problems with it, given that mine is made to update in Play Mode when a certain button combination is pressed. I am suddenly getting logs (just informational, not warnings/errors) that the encoding isn't supported on the "string response = www.text" line, which is odd and not actually affecting the results, but feels worth mentioning since it's slightly annoying.
     
    Novack likes this.
  40. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Thanks Lysander, there are some annoyances related to enconding indeed, and I plan to cover that as soon as getting some time, but that may not be too soon :/
     
  41. DonLoquacious

    DonLoquacious

    Joined:
    Feb 24, 2013
    Posts:
    1,667
    No worries- I've integrated it so completely into my localization system that I couldn't update the asset without breaking my game in 10,000 different places anyways. I was actually worried I might be mentioning something you already fixed, lol.

    Btw, I just tried some experiments and this seemed to fix the problem, if anyone else is annoyed by the log always popping up:
    Code (CSharp):
    1. string response = System.Text.Encoding.UTF8.GetString(www.bytes);
    ... of course, it's also possible that the encoding-related log entry is only popping up all of the time because of one of the other edits I've made, in which case ignore this. ^_^
     
    Last edited: Dec 7, 2016
    Novack likes this.
  42. murdoxstyle

    murdoxstyle

    Joined:
    Sep 2, 2015
    Posts:
    7
    Hi @Novack,

    I just got your amazing asset for my unity. But i have a question, because this is new for me, i want to create a simple data that content URL address. In one sheet will be contain about 10-20 URL link in rows, my question, to get access to this link which one do i have to use, "retrieve all players" or "retrieve all table" method? The url link will be texture for an object in unity.

    Hope you can help me with this

    Hearing soon from you

    Best regards
     
    Last edited: Dec 14, 2016
  43. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello @murdoxstyle, thanks for the kind words! :)

    I think you may be confusing the terms. In relation to your question and case, there are three method calls in the GSFU API:

    GetObjectsByField - This one may be an option, if you want to get all rows with a given field value.
    GetTable - This may be another, simple option that will retrieve the whole worksheet.
    GetAllTables - This would be possible overkill for what you want, would fetch all worksheets on the spreadhseet.

    Don't confuse the terms in the button labels (in the demo), with the API calls available. Please open the demo files and see how are the final calls made, and also read the manual for a complete reference of the GSFU API, is concise I promise! :)

    Hope it helps!
     
  44. murdoxstyle

    murdoxstyle

    Joined:
    Sep 2, 2015
    Posts:
    7

    Hi @Novack,

    Thank you for fast respond to my question. In your API GetObjectByField i want to get all the value of all the rows in one column, how can i do that? In your example, you using hardcode and put a "name" there.

    Actually, the process will be : i got all the url link in the rows and execute one by one and put as texture in each game objects.

    Can you help with this?
     
  45. Victor_Kallai

    Victor_Kallai

    Joined:
    Mar 5, 2014
    Posts:
    123
    Can we use the normal www calls instead? or there is no alternative until Unity fixes this?
     
  46. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    @murdoxstyle, I'm afraid developing custom specific solutions for each person is out of my posibilities. Your use case is very simple, so if you read the manual, you'll find the right method in the API reference. Let me know if you have any specific issue.
     
  47. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    @Victor_Kallai, there are indeed two possible temporary workarounds:
    1. Hitting Play on the editor (even with an empty scene), and then running your editor calls. (Editors calls seems to not be working only if the editor is not on play mode).
    2. Backporting the UnityWebRequest calls to WWW calls.
    Im not prone to recommend the second, because the WWW class has its own set of conflicts and issues. That being said, should be feasible (and even simple) with a little bit of refactoring of the method creating the requests:
    • There is a centralized place where the UnityWebRequest API is used, "CreateRequest(...)", which should be the only place you need to change code.
    • Avoid POST requests with WWW, keep it simply, use GET with the uri construction that the asset already does for UnityWebRequest. Had never good experiences using POST requests with WWW class.
    • Not sure if you handle the WWW API, but should be a very simple replacement, just swap the class names and the syntax errors will guide you through the small changes required.

    Also Remember: This issue does not affect the runtime functionality, fails only on the Unity Editor side.

    Also worth mentioning: Have not ANY kind of news from Unity stuff on this issue, so not sure how much is going to take to fix it, or even if someone has even seen the report yet.
     
  48. luthfirian

    luthfirian

    Joined:
    Mar 5, 2013
    Posts:
    7
    Hello Mr @Novack, I want ask about function ParseData() in your Asset, how I can use it ? maybe you can give me single example code to use this function.
    sorry for bad English.
     
  49. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Hello @luthfirian,

    That method is for the most part for internal use, unleast that you want to do your own parsing for the data, in which case you have to:
    a) Rewrite it with your own needs.
    or
    b) Suscribe to the event that sends the raw data for parsing it yourself.

    In any case, the only real reason to bother yourself learning it, is if you need to change it, which sorts of defeats the purpose. So either you use the asset with the provided API and leave it as it is, maybe extend it, or you completely rewrite it at your own needs, case in which you want to catch any results coming from the webapp and parse it yourself.

    Hope it helps!
     
  50. luthfirian

    luthfirian

    Joined:
    Mar 5, 2013
    Posts:
    7
    Ty Mr. @Novack for your fast respond, I will learn again about your Asset workflow. I still dizzy to understand your Asset, but its Fun :)
     
    Novack likes this.