Я работаю на Unreal, версия 5.5, может кому и пригодится информация.
Совет инди разработчикам.
Прежде чем покупать игровой шаблон, спросите себя - вы готовы потратить время на то, чтоб многое из шаблона выкинуть, а что-то сделать заново?
С чем я столкнулся.
Это "лапша" из кучи всякого дрянного кода.
Что я имею в виду:
Автор не смог в простое разделение ответственности, по итогу у него инвентарь был связан с оружием, оружие с гейм инстансом, а тот вобще был лютой помойкой - хранил всё и вся.
Персонаж за каким-то лешим имел функции эквипа оружия, кастов виджетов, и много другой дряни.
При этом был дубляж - инвентарь говорит виджету " у меня тут появился предмет", ну а виджет за каким-то чертом делал обратный запрос - " а чё у тебя есть в инвентаре?", как итог - все операции делались по два - три раза, что приводило к ошибкам - кладешь предмет, а его фигак, и нет)
Ну и самая мякотка, это огромная куча дата ассетов.
Автор, как и многие другие, выдают это за "преимущество в кастомизации", но это чушь полная.
Что имею в виду.
Представьте, что ваш инвентарь - это мешочек, куда вы кладете всё своё добро, но вместо того чтоб сделать опись имеющегося, вы лепите на него стикеры - что покладено, когда, и какое количество. С подробным описанием. С иконками, мешами, и прочими настройками предмета.
Удобно, да?
До тех пор, пока у вас в игре 10 предметов - ну да, может быть.
Ну а когда их более 500?
А теперь представьте, что вся эта куча бумазеек, не имеет своего идентификатора? Хотя бы - порядковый номер предмета? 001, 002, 003, и так далее?
Вооот, потому ваш инвентарь всегда будет иметь непонятно что, итемы пропадать, а то и просто замещаться другими, просто потому что "имя" совпало.
Как это выглядит:
А теперь представьте, что на любой новый предмет, например - записка, вам нужно создать не просто дата ассет, а ещё и отдельный блюпринт?
А теперь представьте, что всю эту кучу вам необходимо локализовать?
Очень удобно, не правда ли?)
Особенно когда криворукие авторы жёстко привязывают какой-нибудь дата ассет, для виджета, и прячут его в лютые ебеня, настолько прячут, что хер найдешь без пол-литры)
Что делать в таком случае, и как правильно?
Data Table - ваш помощник и спасение.
1. Один базовый чертеж на все ваши итемы.
2. Вся информация лежит в одном месте - в одной таблице.
3. Нет необходимости создавать на все итемы, свои блюпринты. Поставили свой базовый на сцену, ввели имя нужного итема - получили.
А главное - для локализации удобно. ДТ умеет в CSV - выгрузили все строки, разом перевели, загрузили обратно - получили готовый перевод всего и вся.
Вот вам и экономия времени.
Наглядно:
В моей демо, уже около 40 предметов, со старым шаблоном, это - 40 дата ассетов, 40 чертежей, на создание каждого уходит от 20 до 35 минут.
С новым шаблоном - час на заполнение таблицы.
Поставить на сцену базовый чертеж, вбить имя итема - пара минут (с учетом открыть ДТ, посмотреть имя строки).
Так что, друзья разработчики - цените своё время, и не доверяйте всему, что продается в маркетплейсе, но если уже купили - будьте готовы к тому, что чаще всего продают откровенную дрянь, и вам придется разгребать это самим)
Да, на исправление сего безобразия - избавление от дата ассетов, у меня ушло две недели. Учитывая что я не программист, это хороший результат.
Если понравилось - пишите, поделюсь ещё информацией) Например - как сделать, чтоб предметы имели свой уникальный айди, и для чего?