Как импортировать конфиги из гугл таблиц в Unity

Поделиться
HTML-код
  • Опубликовано: 1 июн 2024
  • Понравилось видео? Поддержи Лавку Разработчика!
    www.donationalerts.com/r/game...
    boosty.to/gamedevlavka
    paypal.me/gamedevlavka
    Гугл таблицы - очень удобный и полезный инструмент для создания игр. В нем удобно расписывать характеристики предметов, персонажей, машин, уровней, подсвечивать все, разукрашивать, строить графики. Результаты работы с гуглотабличками можно легко импортировать в юнити! Нужно всего лишь... А что нужно - подробно рассказывается в новом видео из Лавки Разработчика! Там и про сервисный аккаунт гугла, и про Credentials, чтобы все безопасно, и про импорт данных по одной кнопочке - красота! Приглашаю к просмотру.
    NuGetForUnity: github.com/GlitchEnzo/NuGetFo...
    Отсылки:
    t.me/gamedevlavka - телеграм канал Лавки Разработчика
    t.me/gamedevtavern - ламповый чат
    / discord - дискорд
    __________
    0:00 Предисловие
    2:22 Ставим NuGetForUnity
    3:11 Ставим Google.Apis и Google.Apis.Sheets
    3:37 Настройка сервисного аккаунта Google для доступа через API
    7:21 Пишем импортер таблиц в Unity
    13:25 Пишем скрипт для меню в Unity
    15:04 Смотрим результат загрузки гугл таблицы в Unity
    15:30 Создаем абстрактный парсер данных
    17:29 Пишем классы конфигов
    18:32 Пишем пример конкретного парсера
    21:58 Дорабатываем меню для полноценного импорта и парсинга
    23:12 Обрабатываем загрузку и сохранение конфигов
    25:13 Проверяем работоспособность

Комментарии • 28

  • @gamekill9419
    @gamekill9419 11 дней назад +1

    Уроки очень интересные спасибо большое автору. Потому что на тему инвентаря видео как кот наплакал с граммотным кодом и архитектурой .

  • @StratoCatster
    @StratoCatster 29 дней назад +1

    Не, ну сначала всегда надо пообедать, а потом урок писать)

  • @moon_belle4057
    @moon_belle4057 2 месяца назад +2

    как же вовремя видео, спасибо)

  • @MrrrMrrrMrrr
    @MrrrMrrrMrrr 2 месяца назад +2

    Если приватность документа не критична и вы собираетесь в любом случае тянуть весь документ, может быть достаточно просто сгенерить публичную ссылку на скачивание документа в csv формате (в гугле download link for spreadsheets csv export) и распарсить её на клиенте аналогичным образом. Тогда не нужно будет возиться ни с пакетами, ни с апи, ни с учеткой гугла.
    Но предложенный в видео вариант, конечно, более серьёзный.

    • @gamedevlavka
      @gamedevlavka  2 месяца назад +2

      Все верно, можно быстрый вар запилить способом описанным выше. Подход с парсером останется, а вот первая часть видео сократится значительно. Может быть сделаю это в отдельном видео, как вариант

  • @user-kr5mh2vd3v
    @user-kr5mh2vd3v 2 месяца назад +1

    Огнище! Очень полезное видео. Спасибо

  • @ViATVmy
    @ViATVmy 2 месяца назад +1

    спасибо автор! то что нужно !

  • @mikkidu
    @mikkidu Месяц назад +1

    Мы всё ещё очень ждём обновлённую версию архитектуры:)

  • @aleksey2793
    @aleksey2793 2 месяца назад +1

    Супер) Спасибо! Долго ждал)) Лучшее видео по теме в ютубе на русском. Еще, как вариант, автоматически формируют json прям в гугл-табличке в последней ячейке каждой строки, а далее в одной ячейке так же автоматически собирают полный json для таблички. Потом либо руками копируют в проект, либо выгружают чз апи тоже. Но ваш вариант мне больше нравится

  • @oleksiivakulenko9238
    @oleksiivakulenko9238 Месяц назад +1

    Не могу найти доки с кодом, скинь пожалуйста... Очень хочется... Апишечку...

  • @pers3548
    @pers3548 2 месяца назад +2

    Видео конечно отличное, но из-за сильного приближения к Rider, невидно части кода которая уходит за правый край экрана. Ты копируешь всё из документации, а самой документации в описании ролика нет. Я попытался сам найти, увы не нашёл(именно то откуда ты копировал).

    • @gamedevlavka
      @gamedevlavka  2 месяца назад

      Да, верно, за это прошу прощения! Я делаю ассет, который будет иметь весь нудный исходный код, когда доделаю, прикреплю в описание. А пока код этого класса можно скачать отсюда (ссылка на коммент в телеге): t.me/gamedevlavka/655?comment=6940

  • @denisr344
    @denisr344 2 месяца назад

    Отличное видео, как раз задавался вопросом загрузки и сохранения конфигов в гугл таблички. Вот бы еще видео по сохранению измененных конфигов обратно в гугл таблицу.

  • @aleksey2793
    @aleksey2793 2 месяца назад +1

    Хотелось бы видео о том, как в игру в итоге эти данные пробросить лучше всего. В каком виде - json, в скриптабл обжекты писать, мб еще что-то

  • @gamekill9419
    @gamekill9419 11 дней назад +1

    Я дошел до этого момента. А будет ли вторая часть на эту тему или нет?

    • @gamedevlavka
      @gamedevlavka  11 дней назад

      Будет использование таблиц для конфигов, да, в будущем

  • @DekovirDekovir-is7wd
    @DekovirDekovir-is7wd 2 месяца назад +1

    Ура таблицы, хочу научиться

    • @DekovirDekovir-is7wd
      @DekovirDekovir-is7wd 2 месяца назад

      Как то не нравится мне, как парсер устроен, что он подразумевает в каком порядке в него данные будут передаваться. Лучше сделать у него методы оповещающие о начале передачи нового элемента и об окончании.

  • @nightyonetwothree
    @nightyonetwothree 2 месяца назад +1

    круто-круто

  • @vinna596
    @vinna596 4 дня назад

    А можно ссылку на саму документацию откуда код был взят и тд?

  • @user-ot1wo5ts8h
    @user-ot1wo5ts8h 2 месяца назад

    Отличное видео, спасибо. Вот интересно, а если так у пользователей при каждом запуске игры будет подобный конфиг загружаться, то гугл по шапке не настучит? (за превышение лимита чтения, трафика или чего-то такого)

    • @MrrrMrrrMrrr
      @MrrrMrrrMrrr 2 месяца назад

      Там есть квоты, можете погуглить google sheets usage limit. На данный момент это 60 запросов в минуту на пользователя проекта и 300 запросов в минуту на проект в целом. По этой причине при использовании в продакшене, нужно трекать коды ошибки, и если приходят 429, то ждать с нарастающим интервалом после каждой неудачной попытки.

    • @gamedevlavka
      @gamedevlavka  2 месяца назад

      Дело в том, что в видео я говорю об импорте конфига в проект, не в игру в рантайме. В рантайме обычно делают в связке с собственным сервером, а не сервисом гугла. Происходит это так: клиенты стягивают готовый файл конфига с собственного сервера и пользуются им. Геймдизайнеры правят гуглотаблички как им надо, и по нажатию кнопочки, таблица импортируется на сервер по такому же алгоритму примерно, как показано в видео. Только в видео в проект импорт, в случае работы с сервером - нужно импортить на сервер.
      А регулировать трафик на свой сервер значительно проще и дешевле.

  • @user-vm8rm5ce8z
    @user-vm8rm5ce8z 28 дней назад

    Вопрос, а как потом iconName использовать?

  • @bttrsc_tch
    @bttrsc_tch 23 дня назад

    Где можно взять доки с кодом?

  • @ilyamedvedev8943
    @ilyamedvedev8943 2 месяца назад

    Еде ECS?

  • @DekovirDekovir-is7wd
    @DekovirDekovir-is7wd 2 месяца назад

    На скриптабл объектах часто у меня ветвистая система. Один конфиг содержит ссылку на несколько других, а ещё имеет один или несколько массивов неопределённой длины. Как это сделать через таблицы, раз уж таблицы всем лучше?

    • @gamedevlavka
      @gamedevlavka  2 месяца назад

      Об этом говорится в видео. У тебя один файл с конфигами, который состоит из частей, за которые и отвечают отдельные листы. В видео корневой класс - GameSettings, подкласс - ItemsSettings. Импортер скачивает лист и заполняет только одну составляющую GameSettings. Связи строятся как и везде в базах данных - на ключах в виде IDшников