Каким образом можно получать переменные из уровня, который сейчас открыт? Сделал в уровне отсчет времени и хочу в виджете блюпринта получать переменную из этого уровня, отображающую секунды.
Я бы рекомендовал хранить какие-то зависимые переменные в game mode, если что-то между уровнями передавать, то в game instance.
TommYMoonlight
такие вещи в контроллере должны быть
1. Создай виджет в уровне, объяви как переменную, обращайся к функциям внутри виджета.
2. Создай виджет где угодно (в любом блупринте), выдели в редакторе блупринт, перейди в блупринт уровня, нажми правой кнопкой мыши и объяви его там, либо через GetAllActorsOfClass, обращайся к фунуциям внутри виджета.
3. Создай переменную в PlayerController типа string, добавь функцию со входным параметром числа внутри преобразовывай число в строку и присваивай своей переменной, в самом виджете на Create - GetPlayerController - объяви переменную (от PlayerController). Теперь ты добавь текстовое поле где ты должен выводить отсчет и в правой части станет доступна та переменная которую ты создал в PlayerController. Она будет меняться автоматически с изменением в PlayerController. Все что тебе осталось это в блупринте уровня прописать ображение к функции которая находится в плеер контроллере. GetPlayerController - Cast to (Название твоего контроллера) и вызов функции которую ты там создал для передачи параметра. Тоже самое можно делать с GameInstance, если нужно сохранить параметры между уровнями, ну или какую либо статистику.
3 варианта.