UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Tickable.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 Tickable.h: Interface for tickable objects.
5
6=============================================================================*/
7
8#pragma once
9
10#include "CoreMinimal.h"
11#include "Stats/Stats.h"
12#include "Misc/ScopeLock.h"
15
20{
23
25 Always,
26
28 Never,
29
32};
33
38{
39protected:
48
84
87
88public:
95 virtual void Tick( float DeltaTime ) = 0;
96
107
114 virtual bool IsTickable() const { return true; }
115
121 UE_DEPRECATED(5.5, "Use IsTickable for conditional ticks and SetTickableTickType to change the tick type after initial registration")
122 virtual bool IsAllowedToTick() const { return true; }
123
125 virtual TStatId GetStatId() const = 0;
126};
127
135{
137 static ENGINE_API FTickableStatics& GetStatics();
138
139public:
142
152
157
164 virtual bool IsTickableWhenPaused() const
165 {
166 return false;
167 }
168
175 virtual bool IsTickableInEditor() const
176 {
177 return false;
178 }
179
188 {
189 return nullptr;
190 }
191
200
209 static ENGINE_API void TickObjects(UWorld* World, ELevelTick LevelTickType, bool bIsPaused, float DeltaSeconds);
210};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ELevelTick
Definition EngineBaseTypes.h:70
ETickableTickType
Definition Tickable.h:20
::FCriticalSection FTransactionallySafeCriticalSection
Definition TransactionallySafeCriticalSection.h:16
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Tickable.h:135
UE_NONCOPYABLE(FTickableGameObject)
virtual UWorld * GetTickableGameObjectWorld() const
Definition Tickable.h:187
static ENGINE_API void TickObjects(UWorld *World, ELevelTick LevelTickType, bool bIsPaused, float DeltaSeconds)
Definition Tickable.cpp:167
virtual bool IsTickableWhenPaused() const
Definition Tickable.h:164
virtual ENGINE_API ~FTickableGameObject()
Definition Tickable.cpp:147
ENGINE_API void SetTickableTickType(ETickableTickType NewTickType)
Definition Tickable.cpp:154
virtual bool IsTickableInEditor() const
Definition Tickable.h:175
Definition Tickable.h:38
virtual TStatId GetStatId() const =0
virtual bool IsAllowedToTick() const
Definition Tickable.h:122
static ENGINE_API void SimpleTickObjects(FTickableStatics &Statics, TFunctionRef< void(FTickableObjectBase *)> TickFunc)
Definition Tickable.cpp:110
virtual ETickableTickType GetTickableTickType() const
Definition Tickable.h:106
virtual void Tick(float DeltaTime)=0
virtual bool IsTickable() const
Definition Tickable.h:114
Definition Array.h:670
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition World.h:918
ETickableTickType TickType
Definition Tickable.h:44
bool operator==(FTickableObjectBase *OtherObject) const
Definition Tickable.h:46
FTickableObjectBase * TickableObject
Definition Tickable.h:43
ENGINE_API void StartTicking()
Definition Tickable.cpp:67
ENGINE_API void QueueTickableObjectForAdd(FTickableObjectBase *InTickable, ETickableTickType NewTickType=ETickableTickType::NewObject)
Definition Tickable.cpp:9
TArray< FTickableObjectBase::FTickableObjectEntry > TickableObjects
Definition Tickable.h:56
TMap< FTickableObjectBase *, ETickableTickType > NewTickableObjects
Definition Tickable.h:62
FTransactionallySafeCriticalSection TickableObjectsCritical
Definition Tickable.h:53
ENGINE_API void SetTickTypeForTickableObject(FTickableObjectBase *TickableObject, ETickableTickType NewTickType)
Definition Tickable.cpp:19
bool bNeedsCleanup
Definition Tickable.h:68
bool bIsTickingObjects
Definition Tickable.h:65
ENGINE_API void FinishTicking()
Definition Tickable.cpp:97
FTransactionallySafeCriticalSection NewTickableObjectsCritical
Definition Tickable.h:59
Definition LightweightStats.h:416