Друзья, приветствую, с Вами Будуев Антон. В этой статье мы обсудим Blueprint-функцию (метод) Set Component Tick Enabled в Unreal Engine (UE4, UE5), управляющую работой тиков компонента.
Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.
Set Component Tick Enabled

Blueprint-функция Set Component Tick Enabled в Unreal Engine — метод класса Actor Component, который включает или выключает выполнение тиков компонента (TickComponent()), если они разрешены для него. Тем самым позволяет включать/выключать обновление логики компонента динамически.
Функция вызывается как из C++, так и из Blueprints.
Перевод официальной справки: функция Set Component Tick Enabled — включает или отключает для компонента функцию тиков.
Параметры функции
- Target (Actor Component) — ссылка на компонент, для которого необходимо включить/выключить выполнение тиков.
- Enabled (bool) — указывает, нужно ли включить или выключить тик: True — тики включены, False — тики отключены.
Как Set Component Tick Enabled работает внутри
Рассмотрим, как функция SetComponentTickEnabled работает внутри движка Unreal Engine.
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void UActorComponent::SetComponentTickEnabled(bool bEnabled)
{
// Проверяем, разрешено ли компоненту вообще тикать.
if (PrimaryComponentTick.bCanEverTick && !IsTemplate())
{
// Вызываем SetTickFunctionEnable
// Данный метод устанавливает состояние тика компонента в структуре PrimaryComponentTick.
// Это влияет на то, будет ли вызываться TickComponent() каждый кадр для текущего компонента.
PrimaryComponentTick.SetTickFunctionEnable(bEnabled);
}
// Если компонент не может тикать (bCanEverTick == false) или это шаблонный объект,
// то ничего не происходит — тик не включается/не выключается.
}
- Проверка возможности тика
Для начала, прежче чем включать/отключать тики, в строке 4 проверяется разрешено ли вообще тикать компоненту:
- PrimaryComponentTick.bCanEverTick — флаг, определяющий, может ли компонент вообще участвовать в тиках. Соответственно, он должен возвращать значение True;
- !IsTemplate() — проверяет, что компонент не является шаблонным.
Только если оба условия истинны — можно безопасно менять состояние тика.
- Включение/отключение тиков
Если проверка пройдена, то можно включать/отключать тики. Производится это внутренним методом SetTickFunctionEnable структуры PrimaryComponentTick, внутрь которого подаётся значение bEnabled (True или False), которое мы определяем в параметре Enabled рассматриваемой функции SetComponentTickEnabled.
* PrimaryComponentTick — это специальная структура в Unreal Engine, которая используется для управления тиками компонента и содержит внутри себя следующую информацию:
- может ли компонент вообще тикать;
- когда он будет тикать (в какой группе тиков);
- как часто (интервал между тиками);
- есть ли зависимости по тику (должен ли он тикать после другого Актора или компонента).
Соответственно, рассматриваемая в этой статье Blueprint-функция Set Component Tick Enabled для начала проверяет разрешён ли тик для текущего компонента и если разрешён, то включает/выключает его, меняя внутренний флаг активности тика в структуре PrimaryComponentTick.
Смежные функции
- Event Tick — вызывается каждый кадр, если компонент имеет включённый тик. Используется для логики обновления.
- Event Async Physics Tick — вызывается при асинхронном физическом тике (если включено).
- Is Component Tick Enabled — проверяет, включён ли тик компонента.
- Set Component Tick Interval — задаёт интервал между тиками компонента (в секундах).
- Set Component Tick Interval And Cooldown — задаёт интервал между тиками компонента (в секундах), а также устанавливает Cooldown для корректной синхронизации.
- Get Component Tick Interval — возвращает текущий интервал между тиками компонента.
- Set Tick Group — устанавливает группу тиков, определяя порядок выполнения.
- Set Tickable When Paused — определяет, должен ли компонент тикать даже когда игра на паузе.
Пример использования функции Set Component Tick Enabled
C++
Включение/отключение тиков компонента движения при нажатии на клавишу F.
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void AMyCharacter::OnFKeyPressed()
{
if (MovementComponent) // Убеждаемся, что компонент существует
{
if (MovementComponent->IsComponentTickEnabled()) // Проверяем тик компонента (включён или выключен)
{
MovementComponent->SetComponentTickEnabled(false); // Если тик включён, выключаем его
}
else
{
MovementComponent->SetComponentTickEnabled(true); // Если тик выключен, включаем его
}
}
}
Blueprints
Рассмотрим небольшой пример включения/отключения тиков компонента передвижения персонажа.
При нажатии на клавишу F (событие Key F) при помощи функции Is Component Tick Enabled проверяем тики компонента движения персонажа Character Movement:
- если тики включены (функция возвращает True), то рассматриваемой функцией SetComponentTickEnabled выключаем их, установив параметр Enabled в значение False;
- если тики выключены (функция возвращает False), то рассматриваемой функцией SetComponentTickEnabled включаем их, установив параметр Enabled в значение True.
В результате при движении персонажа при нажатии на клавишу F его движение будет то останавливаться, то вновь возобновляться, так как тики компонента движения Character Movement будут соответствующим образом включаться и выключаться (а работа этого компонента напрямую завязана на них).

Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.