Unity ScriptableObject. Пишем простой инвентарь

Sdílet
Vložit
  • čas přidán 10. 09. 2020
  • Рассказываю про ScriptableObject - крайне полезный класс Unity для работы с данными и не только. А так же создаю простой инвентарь, чтобы показать, как можно пользоваться ScriptableObject на практике.
    Поддержать канал на русскоязычном Boosty: boosty.to/insaneone
    Или на Patreon: / insaneone
    Discord-сервер канала: / discord
    Группа VK: insaneoneblog
    #Unity #РазработкаИгр
    У меня на канале регулярно выходят новые видео с уроками по Unity и разработке игр, а так же другими интересными темами, связанными с геймдевом. Подписывайся!
    Не забывай оставлять комментарий, если у тебя появились вопросы или предложения по видео :)

Komentáře • 114

  • @insaneone-7220
    @insaneone-7220  Před 3 lety +18

    Привет. Некоторые моменты в видео получились очень быстрыми, но финальную версию ролика никак не удаётся отрендерить, я увидел столько разных вариаций ошибок при рендере, сколько не видел за всё предыдущее время ведения канала. Решил оставить эту. Поэтому, ставьте паузу, если не успеваете что-то прочитать по коду или понять, надеюсь этого хватит. :)

    • @Nintoryan
      @Nintoryan Před 3 lety +2

      Пожалуйста, продолжай делать видео, у тебя очень круто получается. Качество просто на высоте и уроки очень полезные)

    • @arsenbabaev1022
      @arsenbabaev1022 Před 3 lety

      имелось ввиду что Resources Load плох когда не при старте игры данных подгружаются? или в целом. Как по мне это идеальный метод чтобы не заниматься перетягиванием 100 вещей и прочих обьектов в поля

    • @insaneone-7220
      @insaneone-7220  Před 3 lety

      @@arsenbabaev1022 Resources.Load сломается, стоит переименовать или перенести файл. Но да, имелось в виду что не стоит его использовать регулярно во время игрового процесса, если только один раз на старте, то на производительность это особо не повлияет, в рамках загрузочного экрана будет выглядеть нормально.

    • @sharpes4253
      @sharpes4253 Před 3 lety

      [Тупой зануда mode on] Выражаю свое ИМХО, в этом видео ScriptableObject раскрыт не полностью, на самом деле ScriptableObject позволяет проектировать гибкую архитектуру, в частности их очень удобно использовать для применения паттернов фабрики [Тупой зануда mode off]

    • @insaneone-7220
      @insaneone-7220  Před 3 lety

      @@sharpes4253 согласен, у ScriptableObject множество применений, но многие кейсы весьма специфические. Им, на мой взгляд, имеет смысл посвящать отдельные видео)

  • @annel0
    @annel0 Před 3 lety +2

    Спасибо огромное! Искал именно то что ты рассказал, у других либо много воды было, либо звук который при каждом нажатии на клавишу сбивал весь настрой смотреть видео, а тут все кратко понятно, без воды, с отличным звуком!!! Спасибо!

  • @user-xh8bz7vb3f
    @user-xh8bz7vb3f Před 3 lety +2

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

  • @Devel-rd8ge
    @Devel-rd8ge Před 2 lety +4

    Лучший, спасибо! Отлично объяснил, помогло мне очень! (у тебя хороший тембр голоса для видео, приятный)

  • @user-dv5ue1om3m
    @user-dv5ue1om3m Před 2 lety +3

    Отличное видео! Для меня было всё просто и понятно, но для многих оно покажется слишком быстрым и маленьким)

  • @unitynavigator3328
    @unitynavigator3328 Před 3 lety +12

    Ждем новых видосов. Я бы и стрим/вебинар посмотрел. Толковых людей мало.

  • @misring4322
    @misring4322 Před 5 měsíci +1

    Я в ах***е. Я за 6 минут видоса увидел столько полезной и хорошо объясненной информации.... Крепкого тебе здоровья и удачи. А с меня лайк и подписка.

  • @kuma4an
    @kuma4an Před 3 lety

    Я ждал видос на эту тему, спасибо!

  • @user-fz9pp4yb1i
    @user-fz9pp4yb1i Před 3 lety

    Отличный материалл! Приятно слушать

  • @user-su7yd6og7y
    @user-su7yd6og7y Před 3 lety +8

    Было бы интересно посмотреть ролик о том, где можно хранить все возможные ресурсы игры. Например, про AssetBunlles. Как его использовать в локальной игре и при этом не забивать оперативку.

  • @svizda5149
    @svizda5149 Před 3 lety

    Мое почтение 🤝:) Понятно обьясняешь 👍

  • @agrrez
    @agrrez Před rokem

    Очень полезно, спасибо за ролик!

  • @ghostprogramming
    @ghostprogramming Před 10 měsíci +9

    Максимально быстро и непонятно. Спасибо, что заставил ставить на паузу каждую секунду видео чтобы понять, что ты вообще сделал в инспекторе

  • @basharov98
    @basharov98 Před 3 lety

    Спасибо за видос, очень полезно

  • @romaklassman9924
    @romaklassman9924 Před 3 lety +1

    Классный видос!

  • @kirillushakov2121
    @kirillushakov2121 Před 3 lety

    Очень круто!! Прям точку

  • @in2fractalout
    @in2fractalout Před 2 lety

    благодарности
    лаконично, с чувством и расстановкой

  • @Dumkras_old
    @Dumkras_old Před 3 lety

    Спасибо, это бы здорово))

  • @MeaNX
    @MeaNX Před 3 lety

    Спасибо огромное!!

  • @user-lo5gm9xx9w
    @user-lo5gm9xx9w Před 3 lety +2

    Полезные ролики, спасибо. Но первый раз за все время пользования ютубом, приходиться не ускорять видео, а замедлять

  • @N0O0O0O84
    @N0O0O0O84 Před 3 lety +1

    Спасибо.Сними видео про свет

  • @denRzh
    @denRzh Před 2 lety +1

    Доброго времени суток, у меня есть конкретный предмет на сцене с boxcolaider, как тогда использовать scriptableobject?

  • @psy_gamer
    @psy_gamer Před 3 lety +3

    SO - очень крутая тема в Unity!
    На основе него можно легко делать магазины в игре))
    На мой взгляд, когда создаешь таким образом итемы, то было бы неплохо для них сделать кастомный инспектор, чтобы иконки лучше отображались например, или описание предмета было не в одну строчку.
    А в остальном, ролик на высоте!

    • @bros_os
      @bros_os Před 11 měsíci

      Для этого есть ассет Odin Inspector

    • @psy_gamer
      @psy_gamer Před 11 měsíci

      @@bros_os чувак, два года прошло, я даже не знал тогда, что есть такой ассет.

    • @bros_os
      @bros_os Před 11 měsíci

      @@psy_gamer бляяяя, сори

  • @sweettooth5534
    @sweettooth5534 Před 3 lety +1

    Очень крутой видеоролик, спасибо!

  • @rusytop4910
    @rusytop4910 Před 3 lety +1

    Привет всем, помогите пожалуйста с Google Play services, какой ключ SHA1 использовать: из консоли на компе или из Google Console, чтобы скачанная с гугл плей игра проходила авторизацию в гугл сервисах.

  • @Kot-Alenya
    @Kot-Alenya Před 3 lety +3

    Самое полезное видео , которое я когда-либо видел .

  • @ipeget
    @ipeget Před rokem

    Как записать список InventoryItems в PlayerPrefs? Нужно сохранения инвентаря, я пытался записать InventoryItems в PlayerPrefs через json, но у меня нечего не получилось

  • @vitaly6838
    @vitaly6838 Před 3 lety

    Всегда хотел туториал по этой штуке

  • @user-lm8lc7si5g
    @user-lm8lc7si5g Před 6 měsíci

    жаль месяц назад, я об этом не знал)

  • @tsumi2251
    @tsumi2251 Před rokem

    А в объект на сцене никак нельзя добавить префаб? У меня на сцене находится объект с картинкой у которого есть скрипт с триггером, после которого он должен прикрепленный к нему префаб добавить в инвентарь игрока

  • @GoGoGo9119111
    @GoGoGo9119111 Před 2 lety

    Можно ли как-то стакать предметы через ScriptableObject?

  • @user-ps8bb6tk6p
    @user-ps8bb6tk6p Před rokem

    Можешь пожалуйста подсказать как узнать айди материала?

  • @_VladMir_
    @_VladMir_ Před 2 lety +2

    "Ничего не рекомендуется" но мы это делаем) Ну хотяб описал бы причину почему не рекомендуется)

  • @Acclamator
    @Acclamator Před 2 měsíci

    Все сделал как на видео, ушел от всех ошибок, а предметы не хотят появляться( что за UI объект был взят за основу для itemsPanel?

  • @ahggw
    @ahggw Před 2 lety

    Подскажите пожалуйста выводит 2 ошибки что делать? (1. 'Inventory' does not contain a definition for 'InventoryItems' and no accessible extension method 'InventoryItems' accepting a first argument of type 'Inventory' could be found (are you missing a using directive or an assembly reference?) 2.The type or namespace name 'Image' could not be found (are you missing a using directive or an assembly reference?))

    • @ipeget
      @ipeget Před rokem

      по моему перед InventoryItems нужно убрать [SerializeField] и поставить public, а вторая ошибка ты просто не указал image

    • @antip6522
      @antip6522 Před rokem

      @@ipeget 👍

  • @amni5tianone263
    @amni5tianone263 Před 3 lety +1

    Редко вижу, когда используют SerializeReference. 2:37 - Почему именно SerializeField, а не SerializeReference? Буду благодарен, если кто-то пояснит, может я что-то не понимаю и в данном случае ссылочный и значимый тип имеют свои обусловленности?

    • @tnak7947
      @tnak7947 Před 3 lety +3

      Можешь посмотреть в доках Unity, что сериализует SerializeField. Если класс, наследуется от MonoBehaviour, то проблем нет. Проблемы возникают, когда нужно сериализовать какую-то ссылку в виде интерфейса или абстрактного класса или любого класса, не наследуемого от UnityEngine.Object.
      Т.е ты в коде пишешь это:
      [SerializeField] private IKeyboard _keyboard;
      Но SerializeField не позволяет такое сериализовать. Поэтому юзают SerializeReference, который недавно появился:
      [SerializeReference] private IKeyboard _keyboard;
      И теперь оно сериализуется и ты можешь в инспекторе перетащить любой компонент, который реализует интерфейс IKeyboard.

  • @goshacar2273
    @goshacar2273 Před 3 lety +1

    Привет, я пробовал создавать с помощью ScriptableObject листы с характеристиками предметов. Примерно как у вас. Но оно шикарно работает когда эти характеристики неизменяемые. Если же характеристику изменять - я не знаю как сделать оптимально. Например нужно создать топор. Я записываю в ScriptableObject всю информацию о нём: урон, цена продажи, модель в виде префаба и прочность оружия. Но если в игре топоров 5, мне для каждого нужно создавать свой ScriptableObject, т.к. ломаются топоры не одинаково быстро. А если топоров 100? 1000? Если оставлять один ScriptableObject, то естественно смена значения поля "Прочность" ведёт к смене её у всех топоров. Как в этом случае оптимально поступать?

    • @insaneone-7220
      @insaneone-7220  Před 3 lety +1

      В случае, если все топоры ломаются с разной скоростью, то тут дело не в подходе к редактированию данных, это будет долго в любом виде. Если есть несколько разных вариантов поломки, то можно сделать отдельный тип ScriptableObject, который будет описывать прогресс поломки, сделать нужное количество вариаций, потом группами выделять топоры к которым оно применимо, и задавать просто туда ссылкой этот новый ассет. Если это простая характеристика по типу float или подобное числовое значение, то смысла делать отдельный ScriptableObject-тип нет, проще сделать какое-то хранилище со списком таких значений, а в параметрах топора задавать id нужной поломки в этом списке или нечто подобное.

  • @allanalexus
    @allanalexus Před rokem

    Твой голос очень похож на голос ютубера по игре VALORANT "embrace me"

  • @Flyen256
    @Flyen256 Před rokem

    а где скрипты посмотреть?

  • @everyday9111
    @everyday9111 Před 3 lety

    Привет, тебе можно заказать работу ?

  • @vlpalamar8639
    @vlpalamar8639 Před 2 lety

    привет, понравился урок, правильно ли понимаю, что ScriptableObject следует использовать только когда нужно сохранить данные при переходе между сценами, а то что хранится в одной сцене можно и в обычных переменных

    • @vlpalamar8639
      @vlpalamar8639 Před 2 lety

      и подойдет ли такой подход для условного клона доты(пример для понимания), типа храним все абилки персонажа, все предметы из магазина, в таких вот ScriptableObject? но в таком случае же не нужно переносить обьект из сцены в сцену по этому подойдет ли такой подход?

    • @insaneone-7220
      @insaneone-7220  Před 2 lety

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

    • @vlpalamar8639
      @vlpalamar8639 Před 2 lety

      @@insaneone-7220 благодарю , еще почитал, уже понял)

  • @FrogGamesOfficial
    @FrogGamesOfficial Před 3 měsíci

    Вы не знаете почему у меня с каждым разом при нажатии на E прибавляется всё больше и больше предметов?

  • @NewUser78654
    @NewUser78654 Před 5 měsíci

    Где хранить данные, настройки и прочие вопросы. В чем плох подход с хранением в БД? Все данные храним в БД и получаем всю мощь современной СУБД для хранения, выборки, миграции данных - никаких ограничений и решение любых задач с данными оптимальным способом. Стандарт де факто.
    Данные из БД один раз загружаем в класс - статический класс, при запуске игры. Доступ к статическому классу и изменения данных в нем, получаем из любого места в коде, без использования объектов, префабов, DontDestroyOnLoad и т.д. При завершении игры сохраняем данные из класса в БД.
    Идеально. Если нужно, можно писать/читать из БД в любое время.

  • @user-gh9wi3ro5f
    @user-gh9wi3ro5f Před 3 lety +1

    Когда в инвентарь добавляется несколько топоров, то все они разные? То есть если я поменяю значение цены одного топора в инвентаре, то поменяется ли цена другого топора в этом инвентаре?

    • @tnak7947
      @tnak7947 Před 3 lety +1

      Да, поменяется

    • @user-gh9wi3ro5f
      @user-gh9wi3ro5f Před 3 lety

      @@tnak7947 И в чем тогда смысл?) Спасибо

    • @tnak7947
      @tnak7947 Před 3 lety +1

      @@user-gh9wi3ro5f Ну смотри. Ты можешь создать 1 ScriptableObject топора с нужными характеристиками и ценой. И поместить 3 таких топора в инвентарь. Можешь создать ещё один вид топора, у которого будут другие характеристики и цена, и положить его тоже в инвентарь.
      В итоге у нас будет 3 топора одного вида и один другого вида. Естественно мы можем хоть тысячу ScriptableObject-ов создать с разными параметрами.
      Это помогает расширять контент игры без изменения кода и других вещей. Ну и это удобнее, чем задавать это в коде или в инспекторе.

    • @BastionKadabr
      @BastionKadabr Před 3 lety

      @@tnak7947 подскажите пж , мне надо так называемые way pointы создавать , на них варианты поведения для объекта , у каждого wp одинаковые свойства для однотипных объектов , сейчас я просто размножаю префаб этого wp с навешанным на него скриптом - те ставится множество wp и у каждого разные значения свойств , не могу тупо уловить переходить ли на SO ? , когда то смотрел изучал его , но че то чую опять неделька улетит пока разберешься по новой)
      спс

    • @tnak7947
      @tnak7947 Před 3 lety +1

      ​@@BastionKadabr Да, можно переходить. В данном случае вы можете не только вывести свойства/данные в SO, но и вынести поведение. Я вроде даже видел тутор у CodeMonkey, где он делал такую систему с WayPoint-ами, чтобы легко создавать "скрипты" (для кат-сцен например) поведений в сцене, не написав ни одной строчки кода.

  • @user-gb6vn5kv5w
    @user-gb6vn5kv5w Před 3 lety

    Что у тебя за программа для написания кода?

  • @ivarmad
    @ivarmad Před 2 lety +3

    Слишком быстро, чтобы можно было что-то понять для новичка. Я то смотрю это видео потому что не знаю как это делать. А тут с такой скоростью всё идёт и переходит от одного скрипта к другому, что ничего не понятно.

  • @focus.4659
    @focus.4659 Před 5 měsíci

    Ничего не понятно, половину действий пропустил, спасибо!

  • @sauron2556
    @sauron2556 Před 4 měsíci

    Для тех, у кого будет проблема с объектом Image в InventoryWindow - в том же скрипте прописываем using UnityEngine.UI, в icon.AddComponent заменяем на , и ошибка исчезнет.

  • @ibragiminc8741
    @ibragiminc8741 Před 3 lety

    Какой редактор ты используешь?

  • @lidevmon168
    @lidevmon168 Před rokem

    Чего-то я вообще не понял, что за метод "Redraw", где он вызывается, потому что мне он бьёт ошибки ?

    • @younggd
      @younggd Před rokem

      не показали этого в видео)

  • @_Otets_
    @_Otets_ Před 2 lety

    Отличный контент для тех кто уже шарит за программирование и просто меняет технологию, для совсем новичков конечно лучше подыскать что нибудь более разжеванное.

  • @bosskaren1180
    @bosskaren1180 Před 3 lety

    Я, наверное, опоздал с вопросом, но всё же: что делать, если есть несколько типов предметов, и у каждого свои параметры? У оружия - урон, у еды - насыщение и тд. Как поступить в данной ситуации? Я делал персональные параметры с помощью dictionary, а как правильно - не знаю.

    • @insaneone-7220
      @insaneone-7220  Před 3 lety +2

      Как вариант - сделать базовый класс Item, а от него наследовать несколько разных типов предметов. Это первое, что на ум приходит, так вариантов конечно много, и через композицию можно, и просто засунуть все параметры в один класс и по какому-нибудь enum кастомно их выводить в настройках) Как больше удобно в конкретной ситуации, так и стоит делать, единственно правильного варианта точно не существует.

    • @bosskaren1180
      @bosskaren1180 Před 3 lety

      @@insaneone-7220 спасибо большое за ответ)

  • @alexandr_sirota
    @alexandr_sirota Před 3 lety +4

    стараюсь не использовать ScriptableObject, все данные храню в json намного надежней и в некоторых местах удобней чем ScriptableObject, а геймдизайнерам вообще нечего работать в основном проекте, лучше парсер данных из екселя или гугл таблиц в json за пару минут написать, чем восстанавливать то, что смержил в гите геймдизайнер)

    • @insaneone-7220
      @insaneone-7220  Před 3 lety

      Да и геймдизайнеру удобнее и привычнее его гугл таблица. Но использовать повсеместно json это всё-таки странно, когда есть встроенный в движок инструмент, который за минуту позволяет создать класс параметров. Парсить везде вместо этого json и редактировать его, как мне кажется, менее удобно и оптимально.

    • @alexandr_sirota
      @alexandr_sirota Před 3 lety +2

      @@insaneone-7220 на ScriptableObject могут быть проблемы по крайней мере у меня на версии юнити 2017 очень часто слетали ссылки в ScriptableObject, юнити иногда не предсказуемо себя ведет и могут быть разные краши и вылеты
      парсить и редактировать json только кажется, что не удобно, для парсинга использую этот ассет assetstore.unity.com/packages/tools/input-management/json-net-for-unity-11347
      конечно если делать гиперказуалки или платформеры, где можно обойтись одним ScriptableObject будет не целесообразно использовать json, но в более крупных проектах уже лучше использовать json
      тем более если использовать json, то может просто отпасть необходимость постоянно компилировать игру или приложения ради изменения какого то параметра, тем более json можно на сервер закинуть и обновленные данные юзер будет сходу получать без обновления приложения или вообще можно сделать чтоб прям с гугл таблиц данные в игру залетали
      в json можно записать данные практически любой сложности со ScriptableObject так не выйдет, придется писать свои PropertyDrawer, что иногда очень трудозатратно
      также json удобен если планируется в игре сторонние модификации от юзеров, я например в своем проекте могу полностью изменять или добавлять юнита внося или удаляя пару строчек в json файле, тоесть игровой юнит практически полностью на лету формируется из json данных, мне не надо создавать для каждого игрового юнита отдельный префаб(я правда щас не на юнити эту игру делаю, но смысл понятен) вешать на него компоненты, все описывается в файле и это не только внешний вид, а и его поведение.

  • @globalacademyorigina1
    @globalacademyorigina1 Před 29 dny

    Не работает. Бился часа 4. Метод привлекательный, но похоже до ума не доведен. Уже на 3м скрипте начинается лажа. объекты не добавляются на панель. Все прочекал. Код до милиметров 1 в 1 переписал, хотя бы чтобы понимать как должно работать. Все скрипты развесил как указано в видео. Не работает.

  • @xantezzv
    @xantezzv Před 3 lety +1

    было бы неплохо если бы ты заливал код с урока на гит, чтобы можно было взять в проект без переписывания по видео

  • @neverworld8815
    @neverworld8815 Před 2 lety

    Делать так не рекомендуется - но кого это останавливает, логика крутая

  • @user-gh2sj8vi2d
    @user-gh2sj8vi2d Před 3 lety +4

    За идею - спасибо. А вот как пошаговая инструкция - имеет миллион ошибок и к использованию не подлежит. Корректней было бы строить абстрактный урок о ScriptableObject без демонстрации последовательности.
    Каким волшебным способом созданные спрайты(gameObject) попадают itemsPanel без указания родителя? Или что/кто инициализирует функцию Redrow() которая просто висит где-то на объекте и тд.

  • @realmukaUnity
    @realmukaUnity Před rokem

    Те кто жалуются что быстро. А поставить скоромть воспроизведение поменьше нельзя?

  • @eugenekrutoy1475
    @eugenekrutoy1475 Před 3 lety

    Норм ролики у тебя. Но блин ты когда кд допечатал, оставь хотя бы на две секунды, чтоб успеть разглядеть что там, итак эта штука маячит весь код закрывает, так потом шлеп и все уже другой кадр. Приходится отлавливать паузой. А так как все молниеносно иногда приходится ползунок дуда сюда таскать. Это практически всегда так. Начало напрягать блин. А в остальном контент супер! Спасибо!

    • @insaneone-7220
      @insaneone-7220  Před 3 lety +1

      Прочитай пожалуйста закреплённый комментарий) В следующих видео буду это учитывать.

    • @eugenekrutoy1475
      @eugenekrutoy1475 Před 3 lety

      @@insaneone-7220 что то ты как то не надежно прикрепил коментарий))) спасибо за труд, смотрю сейчас про оптимизацию ролики твои🙂

    • @insaneone-7220
      @insaneone-7220  Před 3 lety

      @@eugenekrutoy1475 Ютуб шутить изволил, я точно помню, что закреплял :D

  • @user-ee5jz3pq7d
    @user-ee5jz3pq7d Před 3 lety +15

    Да уж. Можно еще побыстрее? На отматывание 10-15 минут прошло + ничего не получилось

    • @Pashtet22111
      @Pashtet22111 Před rokem

      Попробуй скорость видео меньше поставить

    • @fjas5925
      @fjas5925 Před 4 měsíci

      Так это не урок

  • @artemiymak8332
    @artemiymak8332 Před 3 lety +5

    У меня почему-то не работает вывод предметов на экран. Ошибок нет, все делал по туториалу. Таймкод - 3:03

    • @SPORTCHEER
      @SPORTCHEER Před 3 lety

      У меня такая же проблема, автор чуть позже показывает что он исправил в коде несколько строк и не показал этого сразу. Но у меня тоже всё равно не работает.

    • @user-lo5gm9xx9w
      @user-lo5gm9xx9w Před 3 lety +5

      Скорее всего не все поправили. Он в Inventory Start() на Awake() заменил, иначе предметы из стартового набора не успевают попасть в инвентарь до его вывода в панели. И в методе Redraw() должна быть строка icon.transform.SetParent(itemsPanel); чтобы иконка попала в панель

    • @byflame5150
      @byflame5150 Před 2 lety

      @@user-lo5gm9xx9w Спасибо большое. Твой коммент очень помог

    • @fyntig
      @fyntig Před 2 lety

      То же самое - час бился. Смог одолеть только создав префаб имэджа, который инстантиирую вместо просто создания нового геймобджекта

  • @redmanone6963
    @redmanone6963 Před 2 lety +4

    Вот так всегда - у одного получасовой ролик с кучей ненужной инфы, у другого 5 минут практически без разбора кода. 3 года в геймдеве, а скриптаблы походу не выучу

  • @omoloni
    @omoloni Před 3 lety

    у меня статический класс

    • @bibyter6451
      @bibyter6451 Před 3 lety +1

      Ну правильный способ тебе подсказали

    • @insaneone-7220
      @insaneone-7220  Před 3 lety +2

      Тоже вариант, но я постепенно ушёл от использования статик класса для такой цели после того, как узнал о ScriptableObject)

  • @user-qy4le7in8w
    @user-qy4le7in8w Před rokem

    ЯРОСНА СОГЛАСЕН С КОММЕНТЕРОМ НИЖЕ

  • @dumser2
    @dumser2 Před 2 lety

    Очень быстро.

  • @dartrevan4842
    @dartrevan4842 Před 3 lety +7

    Че нагарадил.. Ты для кого видео снимаешь.. Для гуру юнити которые и так все знают..