Есть простой актер на карте
И у него BeginPlay вызывается дважды, что приводит к кривой инициализации этого актера.
Конечно можно закостылить это DoOnce, но разве двойной вызов возможен?
Актер
вывод в логе
LogLevel: ActivateLevel /Game/Maps/MenuMaps/UEDPIE_0_LoadingMap 1 1 0 - карта лоадера LogBlueprintUserMessages: [BP_Hydro_MaintenancePanel2_11] 1 - первый вызов LogLevel: ActivateLevel /Game/Maps/UEDPIE_0_Hydroponics 1 1 0 - карта с актером LogBlueprintUserMessages: [BP_Hydro_MaintenancePanel2_11] 2 - второй вызов
Я выявил зависимость между тем где спавнится игрок и этим багов, если игрок спавнится на карте с этим актором, то баг есть. Но если карту подгрузить потом, то бага нету.
Спавню актера игрока и цепляю его к контроллеру после того как карта загрузится.
Вероятно лажает где то загрузка уровней, сейчас ее ковыряю, но может кто сталкивался с таким поведением и подскажет ответ:)
ps не в том подразделе случайно создал тему...
и спустя 4 часа поисков, гуглинга и дебага я нашел в чем косяк был:)
это комбинация из levelstreamingvolume и play in editor. Оно по только эпикам ведомой причине загружало в память уровень(в том числе и бегин плей акторов) с которого я давил "play" в редакторе и не выгружая его запускала стандартный пайп и снова запускала бегин плей, хотя я не абсолютно уверен в том что это именно так работало.
Решил я просто - повыключал волумы в редакторе, потом после загрузки нужных уровней включаю их обратно.