NorskaLearn
NorskaLearn
  • Видео 2
  • Просмотров 7 591
DATABASE IN UNITY | SCRIPTABLE OBJECT + GOOGLE SHEETS | Package Update
This is a Unity Editor tool, which helps design game-logic database (such as characters, weapons, items stats etc.) using Google Spreadsheets.
The package has been updated: it now have an export to .json/.bin support as well as few naming and hierarchy changes.
📌Download package on GitHub: github.com/NorskaGames/NorskaLib.Spreadsheets 📌
Просмотров: 1 468

Видео

DATABASE IN UNITY | SCRIPTABLE OBJECT + GOOGLE SHEETS | Package Overview
Просмотров 6 тыс.2 года назад
This is a Unity Editor tool, which helps design game-logic database (such as characters, weapons, items stats etc.) using Google Spreadsheets. 📌Download package on GitHub: github.com/NorskaGames/NorskaLib.Spreadsheets 📌 Assets used: assetstore.unity.com/packages/3d/characters/humanoids/fantasy/toon-rts-units-undead-demo-95640 assetstore.unity.com/packages/3d/characters/toon-rts-units-demo-69687...

Комментарии

  • @NionKirby
    @NionKirby 17 дней назад

    It seems to work, but after closing and opening unity again, the scriptable object fails; no longer allowing inspection. Only uninstalling and reinstalling the package fixes it, and that only delays the failure until the next reset.

  • @KieraDharke
    @KieraDharke 6 месяцев назад

    Such a great tool man, great work! It's proving useful for me, but there's one key thing I was hoping you'd add. The ability for users to specify the fields they want to read from using a string?

  • @nightkot4917
    @nightkot4917 7 месяцев назад

    "SCRIPTABLE OBJECT + GOOGLE SHEETS" ? Strange connection. The ScriptableObject itself usually acts as the primary immutable data container. If we parse this data externally, then it is better to pass it directly to the target serializable class.

    • @norskalearn
      @norskalearn 7 месяцев назад

      There was an update similar to what you described. In a modern version of the package spreadsheet content is serialized as a separate object which you can write to .bin/.json file to use elsewhere.

  • @blogigrodela
    @blogigrodela 9 месяцев назад

    Привет, интересное решение. Я разрабатывал нечто похожее для локализации, однако ещё добавил возможность обратно отправлять изменения в Google Sheets

  • @Tobi-tn4jv
    @Tobi-tn4jv 9 месяцев назад

    Hi, im getting the error "Library\PackageCache\com.norska-lib.spreadsheets@bf43763b16\Editor\SpreadsheetSerializer.cs(29,24): error CS0117: 'File' does not contain a definition for 'WriteAllTextAsync'". How do i fix this?

    • @norskalearn
      @norskalearn 9 месяцев назад

      It seems like your compiler expects .NET version different from that I used. Try go Project Settings -> Player -> Other Settings -> Configuration -> API Compatibility level and set it to ".NET Framework"

  • @Cervat
    @Cervat 10 месяцев назад

    Very interesting tutorial! I just have a doubt, can you import that database from code? Or you can only do it with the Import button

    • @norskalearn
      @norskalearn 10 месяцев назад

      This is a Editor-only feature, since you would like to obscure both data and the original spreadsheet web-address in a shipped game. It's not designed to be a runtime/live-ops tool. If you are looking for a service to manage your configs/settings in an already installed game I can recommend balancy.co

    • @Cervat
      @Cervat 10 месяцев назад

      thx! I will look into it!

  • @_M0D_
    @_M0D_ Год назад

    I would like to ask you to upload the code files and edit the old video where the code is replaced.

    • @norskalearn
      @norskalearn 11 месяцев назад

      😅 Yeah sorry, I pasted wrong github link :)

  • @emreacar9251
    @emreacar9251 Год назад

    First of all, congratulations, nice work. I am in a project and can you guide me. I'm going to start making a quote and product tracking application in Unity and I want to print it in webGL and add it to my own website. I assume that I pull the data. How can I change this data in play mode. (the price of the pen is 5, when I make it 3, it will also change in the google exel table, stock change etc). I would appreciate your guidance. I wish you continued success.

    • @norskalearn
      @norskalearn Год назад

      Hi, thanks for feedback! Unfortunately, this package is designed to be one-way (from GoogleSheets to UnityEditor), not vice versa, and I have no plans on adding such functionality.

  • @tigerjustice
    @tigerjustice Год назад

    You made a wonderful tool, but this video is already outdated regarding the tool. Newbies won't be able to figure it out.

  • @marcos.rodrigues
    @marcos.rodrigues Год назад

    I've been using this tool on a project and I wonder if there's an easy way to call the import method from within the code instead of using the button on the inspector. Thanks!

    • @norskalearn
      @norskalearn Год назад

      Hi, glad you found it useful 😀 If you are trying to call it at runtime - it is not supposed to be used this way. Link to the spreadsheet is designed to not be included in build as it can compromise your personal/corporate data.

    • @nil_amstrong
      @nil_amstrong 9 месяцев назад

      @@norskalearn I found it very useful as well, thanks! I would also like to execute it in runtime. Is there a way to execute the import call in with a button in-game?

  • @dianew2007
    @dianew2007 Год назад

    Thank you for the video and the materials! It really helped me. I ran in to the problem of not having Xcode installed so installing the package from git wasn't working for me in the beginning... Then I installed home brew and it worked smoothly.

    • @norskalearn
      @norskalearn Год назад

      Hi, I', glad I did something useful! Check the updated version of the package (I added json/binary export functionality) github.com/NorskaGames/NorskaLib.Spreadsheets

  • @adynhaidar8348
    @adynhaidar8348 Год назад

    Oh my god! this what i looking for😍 Thankyou Sir, Subscribed and have an Amazing Days🏝🌟

  • @jimmymoya8629
    @jimmymoya8629 Год назад

    Hello, Works on Android? Thanks

    • @norskalearn
      @norskalearn Год назад

      Hello, why shouldn't it work on Android? Once data is parsed into a ScriptableObject it gets serialized in the build same way as any other ScriptableObject in your project.

  • @pykaiturn
    @pykaiturn Год назад

    How can I edit value in google sheet? Because I just can read from gg sheet or add new rowline by form!

    • @norskalearn
      @norskalearn Год назад

      This is asset is meant only for parsing data FROM Google Sheets TO Unity scriptable object, not vice versa.

  • @littledemo3605
    @littledemo3605 Год назад

    Is it useful for multiplayer games?

    • @norskalearn
      @norskalearn Год назад

      It is useful for any type of games as it is simply a container for parsing and accessing settings/configs you store in a spreadsheet.

  • @DavidYuhaus
    @DavidYuhaus 2 года назад

    I have been working with this on and off for about a month and I can't figure out how to call data points in my google sheets and store them as variables in my code. Is this possible or is that not the function this package is designed for?

    • @norskalearn
      @norskalearn Год назад

      Hi! Sorry, I don't quite understand your problem. Can you e-mail norskagames@gmail.com and specify the problem?

  • @bongobango6999
    @bongobango6999 2 года назад

    A great addition to this would be the ability to only import the changes, rather than re-importing the whole sheet every single time. I am not too familiar with the functionality of google sheets, so I'm not entirely sure how this could be implemented elegantly. Maybe something like adding a special character such as "$" at the start of each cell that has been altered, which the parser uses to determine what data needs to be changed/added, coupled with a SendWebRequest() function to notify the sheet to remove those characters once the parsing is complete?

    • @norskalearn
      @norskalearn Год назад

      I mean, you can toggle the pages you don't want to (re)import but to mark every cell for update... don't worth the bother I would say.

  • @alperenersan
    @alperenersan 2 года назад

    is it possible to save data to google sheets via unity?

    • @norskalearn
      @norskalearn 2 года назад

      Hi! No, this package does not support such function. I would also suggest using some tools like Firebase to store user data instead of GoogleSpreadsheet.

    • @edward3190
      @edward3190 Год назад

      There are two ways. 1. Use Google packages -> Google Sheet API 2. Make a google form to write to the google sheet, use Unity's network to fill the the google form

  • @rooyaofficial7094
    @rooyaofficial7094 2 года назад

    Hi! This was a great tutorial! I could not seem to find the code for your Unit.cs though. Could you please provide that to me? Thanks!

    • @norskalearn
      @norskalearn 2 года назад

      Hi, nice to hear you liked it 🙂 In this tutorial Unit.cs is a boilerplate class. It has no logic but Initialize(UnitData data...) method which simply copies UnitData.Health to it's own variable Unit.health.

    • @rooyaofficial7094
      @rooyaofficial7094 2 года назад

      @@norskalearn Thank you so much!

  • @DavidYuhaus
    @DavidYuhaus 2 года назад

    I love this tutorial and is exactly what I am looking for. Is there any way to set up multiple data containers to hold different sets of data to keep organized? I have a lot of data points I am trying to import.

    • @norskalearn
      @norskalearn 2 года назад

      Hi, glad you liked it 😀 The only limitation of the package is that 1 container instance can target only 1 spreadsheet url. If you want to target multiple spreadsheets or 'split' spreadsheet into multiple scriptable objects you need to create several classes that inherit DataContainerBase.

  • @jinkaidou8281
    @jinkaidou8281 2 года назад

    great i love this

  • @Chrissyeah
    @Chrissyeah 2 года назад

    This is a great package! Would it be possible to import at runtime? If so, could you tell me how?

    • @norskalearn
      @norskalearn 2 года назад

      Hi! The script is running in Editor only and is not supposed to be run at application runtime :( While developing this tool I've seen some solutions that allow you to parse a spreadsheet at runtime, but from my own developer experience I find it a malpractice: 1. If you want to tune balance, I think you should release new patches/versions of your game. Otherwise gamers with the same game version may have different databases, if they didn't receive an update; 2. You don't want hackers to know web-address of your spreadsheet, so it shouldn't be included in build.

  • @egorshutov5829
    @egorshutov5829 2 года назад

    im getting an error: No 'git' executable was found. Please install Git on your system then restart Unity and Unity Hub [NotFound].

    • @egorshutov5829
      @egorshutov5829 2 года назад

      is there any other methods to add this package? I really need it

    • @norskalearn
      @norskalearn 2 года назад

      Given error literally means you don't have source control system (git) installed, which is possible if you never used GitHub or similar services. So you can't install not only this, but any package from git. You can use link below to download and install git: Такая ошибка означает, что у тебя на устройстве не установлена система контроля версий (git), что бывает, если ты никогда не пользовался GitHub'ом или похожими сервисами. Без гита ты не сможешь установить не только этот пакет, но и вообще любой пакет таким образом. Так что рекомендую установить и с оф. сайта: git-scm.com/downloads

    • @norskalearn
      @norskalearn 2 года назад

      @@egorshutov5829 as an option you can download the repo as a .zip archive from git, unpack it and then use "Add from disk" instead of "Add from git". Как вариант, можно скачать репозиторий в виде .zip архива с гита, распаковать его и добавить в проект через пункт меню "Add from disk" вместо "Add from git".

    • @egorshutov5829
      @egorshutov5829 2 года назад

      @@norskalearn И снова привет, как я понял ты из России? Во первых ОГРОМНОЕ спасибо за видео, это и правда кажется самым легким и удобным способом добавления бд на просторе интернета. Однако у меня возникают определенные проблемы. Я смог все таки добавить себе этот package(спасибо твоим комментариям), однако теперь я не могу понять как использовать эту бд и как получать из нее информацию. Я старался делать все так, как ты делаешь в разделе видео "usage examples", но у меня ничего не выходит. Может есть еще какие то примеры или гайды как получить информацию из DataContainer

    • @norskalearn
      @norskalearn 2 года назад

      @@egorshutov5829 Да, я из России. Спасибо за отзыв, мне приятно, что я смог сделать полезный опен-сорс) Что касается твоего вопроса, мне сложно добавить что-либо к примерам, изложенным в блоке Usage Examples. Да, они достаточно общие, поэтому предлагаю тебе написать на почту norskagames@gmail.com и более детально изложить проблему с примерами кода. Я постараюсь подсказать какое-нибудь решение.

  • @CrossPathOfficial
    @CrossPathOfficial 2 года назад

    Will this idea work for vrchat?

    • @CrossPathOfficial
      @CrossPathOfficial 2 года назад

      or any type of vr game?

    • @norskalearn
      @norskalearn 2 года назад

      Hi, it sure will. There is no limit to a type of game or platform, since spreadsheets are parsed to a native unity scriptable object.

    • @CrossPathOfficial
      @CrossPathOfficial 2 года назад

      @@norskalearn Aighty cool

    • @CrossPathOfficial
      @CrossPathOfficial 2 года назад

      @@norskalearn also you think I can learn more from you when it comes to vr because I wanna try to make a card game

  • @RMRunmission
    @RMRunmission 2 года назад

    Thanks a lot. I am wondering about that. I have one question, Can be possible If I want Datacontainer import function put into the button in Project? Like Update Button

    • @norskalearn
      @norskalearn 2 года назад

      Hi! Unfortunately, it can't be done, since the script is running in Editor only and is not supposed to be run at application runtime :( While developing this tool I've seen some solutions that allow you to parse a spreadsheet at runtime, but from my own developer experience I would say that by doing so you would overcomplicate things.

  • @julia_lenny
    @julia_lenny 2 года назад

    Wow it fast and easy solution for db, thx

    • @norskalearn
      @norskalearn 2 года назад

      Glad you found it useful!

  • @СаняГромович
    @СаняГромович 2 года назад

    The best!😍 thank u really!!!

  • @nikapuzach
    @nikapuzach 2 года назад

    Great tutorial! I’ve been searching for good package a long time. Thanks a lot👏☺️

  • @lerasukhushina
    @lerasukhushina 2 года назад

    👏🏻👏🏻👏🏻