Size: a a a

2020 August 24

n

norlin in Unreal Engine
я вот сейчас сам ковырялся и кажется проблема была в том, что оно дёргается в конструкторе и движку это не нравится
источник

PL

Peter Leontev in Unreal Engine
norlin
Господа, а кто-нибудь знает, почему у меня может LoadObject крашится в запакованой версии?
Из редактора и даже в стендэлоне всё ок.

Пытаюсь загрузить табличку в рантайме
const TCHAR* MyDataRef = TEXT("/Game/Project/Data/DT_Data.DT_Data");
UDataTable* DataTable = LoadObject<UDataTable>(nullptr, MyDataRef);

В настройках проекта стоит "всегда кукать папку /Game/Project/Data"
Сделай SoftObjectPath на DataTable и загрузи через него в рантайме, тогда не нужно будет юзать низкоуровневный LoadObject
источник

К.

Кирилл .AJIADb9... in Unreal Engine
norlin
я вот сейчас сам ковырялся и кажется проблема была в том, что оно дёргается в конструкторе и движку это не нравится
А, для конструктора есть другие
источник

n

norlin in Unreal Engine
сделал чуть по другому - и вроде заработало
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Peter Leontev
Сделай SoftObjectPath на DataTable и загрузи через него в рантайме, тогда не нужно будет юзать низкоуровневный LoadObject
Вот тоже хорошо, кстати
источник

n

norlin in Unreal Engine
Peter Leontev
Сделай SoftObjectPath на DataTable и загрузи через него в рантайме, тогда не нужно будет юзать низкоуровневный LoadObject
а как мне static SoftObjectPath сделать?
источник

PL

Peter Leontev in Unreal Engine
источник

n

norlin in Unreal Engine
а, хотя всё ок должно быть наверно...
источник

PL

Peter Leontev in Unreal Engine
Один из конструкторов AssetPath принимает
источник

n

norlin in Unreal Engine
но в принципе не вижу разницы, что так что эдак одно и то же под капотом будет, насколько я понимаю
источник

К.

Кирилл .AJIADb9... in Unreal Engine
norlin
а как мне static SoftObjectPath сделать?
Я бы на твоём месте вообще прокинул это всё тем же софтобжектом, но в блюпринты или настройки проекта даже, а оттуда уже валидные объекты доставал
источник

К.

Кирилл .AJIADb9... in Unreal Engine
norlin
но в принципе не вижу разницы, что так что эдак одно и то же под капотом будет, насколько я понимаю
+
источник

PL

Peter Leontev in Unreal Engine
norlin
но в принципе не вижу разницы, что так что эдак одно и то же под капотом будет, насколько я понимаю
да, но до тех пор, пока у тебя нет проблем с использованием более высоких слоев логики, зачем юзать низкоуровневые? Плюс высокоуровневые API защищают тебя от многих граблей
источник

n

norlin in Unreal Engine
Кирилл .AJIADb9
Я бы на твоём месте вообще прокинул это всё тем же софтобжектом, но в блюпринты или настройки проекта даже, а оттуда уже валидные объекты доставал
да неудобно там, оно в конструкторе стракта вообще)

В идеале что я хочу сделать - чтоб FDataTableRowHandle внутри стракта всегда содержало поинтер на дефолтную UDataTable
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Кирилл .AJIADb9
Я бы на твоём месте вообще прокинул это всё тем же софтобжектом, но в блюпринты или настройки проекта даже, а оттуда уже валидные объекты доставал
ИМХО, так проще и нет галимого хардкода, который при рефакторе(внезапном) всё тебе отломает
источник

К.

Кирилл .AJIADb9... in Unreal Engine
norlin
да неудобно там, оно в конструкторе стракта вообще)

В идеале что я хочу сделать - чтоб FDataTableRowHandle внутри стракта всегда содержало поинтер на дефолтную UDataTable
Ну оно же после заполнения конфигов
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Так что по идее конструктор должен хорошо отработать
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Либо я пошёл учить анриал дальше
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Берёшь дефолтобжект и делов-то
источник

К.

Кирилл .AJIADb9... in Unreal Engine
😅
источник