Navigation
API > API/Runtime > API/Runtime/Engine
Abstract Base class for all tick functions.
| Name | FTickFunction |
| Type | struct |
| Header File | /Engine/Source/Runtime/Engine/Classes/Engine/EngineBaseTypes.h |
| Include Path | #include "Engine/EngineBaseTypes.h" |
Syntax
USTRUCT ()
struct FTickFunction
Derived Classes
FTickFunction derived class hierarchy
- FActiveSyncPoint
- FActorComponentTickFunction
- FActorTickFunction
- FAttributeBasedRootMotionComponentPrePhysicsTickFunction
- FCharacterMovementComponentPostPhysicsTickFunction
- FCharacterMovementComponentPrePhysicsTickFunction
- FConstraintTickFunction
- FDeformableEndTickFunction
- FEndPhysicsTickFunction
- FInteractionIsland::FPostTickFunction
- FInteractionIsland::FPreTickFunction
- FLevelEditorSequencerUpdateGizmoTickFunction
- FMassProcessingPhase
- FMoverDynamicBasedMovementTickFunction
- FMoverStandaloneApplyStateTickFunction
- FMoverStandaloneProduceInputTickFunction
- FMoverStandaloneSimulateMovementTickFunction
- FNiagaraWorldManagerTickFunction
- FParticleSystemWorldManagerTickFunction
- FSkeletalMeshComponentClothTickFunction
- FSkeletalMeshComponentEndPhysicsTickFunction
- FSkinWeightProfileManagerTickFunction
- FStartPhysicsTickFunction
- FTickAnimationSharingFunction
- FWorkQueueTickFunction
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FTickFunction() |
Default constructor, intitalizes to reasonable defaults | Engine/EngineBaseTypes.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FTickFunction() |
Destructor, unregisters the tick function | Engine/EngineBaseTypes.h |
Structs
| Name | Remarks |
|---|---|
| FInternalData | Internal Data structure that contains members only required for a registered tick function |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bAllowTickBatching | uint8 | True if we allow this tick to be combined with other ticks for improved performance | Engine/EngineBaseTypes.h | |
| bAllowTickOnDedicatedServer | uint8 | If we allow this tick to run on a dedicated server | Engine/EngineBaseTypes.h |
|
| bCanEverTick | uint8 | If false, this tick function will never be registered and will never tick. | Engine/EngineBaseTypes.h | |
| bDispatchManually | uint8 | True if this is an event that will not execute until it has been manually dispatched (and prerequisites complete) instead of being dispatched at start of the tick group | Engine/EngineBaseTypes.h | |
| bHighPriority | uint8 | Run this tick first within the tick group, presumably to start async tasks that must be completed with this tick group, hiding the latency. | Engine/EngineBaseTypes.h | |
| bRunOnAnyThread | uint8 | If false, this tick will run on the game thread, otherwise it will run on any thread in parallel with the game thread and in parallel with other "async ticks" | Engine/EngineBaseTypes.h | |
| bRunTransactionally | uint8 | (experimental) if true, the tick function will be run transactionally | Engine/EngineBaseTypes.h | |
| bStartWithTickEnabled | uint8 | If true, this tick function will start enabled, but can be disabled later on. | Engine/EngineBaseTypes.h |
|
| bTickEvenWhenPaused | uint8 | Bool indicating that this function should execute even if the game is paused. | Engine/EngineBaseTypes.h |
|
| EndTickGroup | TEnumAsByte< enum ETickingGroup > | Defines the tick group that this tick function must finish in. | Engine/EngineBaseTypes.h |
|
| TickGroup | TEnumAsByte< enum ETickingGroup > | Defines the minimum tick group for this tick function. | Engine/EngineBaseTypes.h |
|
| TickInterval | float | The frequency in seconds at which this tick function will be executed. | Engine/EngineBaseTypes.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bWasDispatchedManually | uint8 | For bDispatchManually functions, if this is set and the task is valid the task has been fully triggered and will execute | Engine/EngineBaseTypes.h | |
| InternalData | TUniquePtr< FInternalData > | Lazily allocated struct that contains the necessary data for a tick function that is registered. | Engine/EngineBaseTypes.h | |
| Prerequisites | TArray< struct FTickPrerequisite > | Prerequisites for this tick function | Engine/EngineBaseTypes.h | |
| TickState | ETickState | If Disabled, this tick will not fire If CoolingDown, this tick has an interval frequency that is being adhered to currently CAUTION: Do not set this directly | Engine/EngineBaseTypes.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddPrerequisite
(
UObject* TargetObject, |
Adds a tick function to the list of prerequisites...in other words, adds the requirement that TargetTickFunction is called before this tick function is | Engine/EngineBaseTypes.h | |
float CalculateDeltaTime
(
float DeltaTime, |
Returns the delta time to use when ticking this function given the delta time and world. | Engine/EngineBaseTypes.h | |
virtual bool CanDispatchManually() |
Returns true if bDispatchManually is set and this has a task that can be triggered right now. | Engine/EngineBaseTypes.h | |
void ClearTaskInformation() |
Clear any current task information such as the completion handle, called after execution | Engine/EngineBaseTypes.h | |
virtual FName DiagnosticContext
(
bool bDetailed |
Function to give a 'context' for this tick, used for grouped active tick reporting | Engine/EngineBaseTypes.h | |
virtual FString DiagnosticMessage () |
Abstract function to describe this tick. | Engine/EngineBaseTypes.h | |
virtual bool DispatchManually () |
If bDispatchManually is set, attempt to start the task based on some event during a frame. | Engine/EngineBaseTypes.h | |
void ExecuteNestedTick
(
float DeltaTime, |
Correctly call ExecuteTick on a nested function, and will set the completion event properly for the duration of the tick function | Engine/EngineBaseTypes.h | |
virtual void ExecuteTick
(
float DeltaTime, |
Abstract function actually execute the tick. Batched tick managers should use ExecuteNestedTick | Engine/EngineBaseTypes.h | |
virtual void ForEachNestedTick
(
TFunctionRef< void(FTickFunction&)> InFunc |
To properly expose nested/batched tick functions to the logging and debugging systems of the tick manager, override this to execute InFunc for every nested tick function that would be executed as part of this tick. | Engine/EngineBaseTypes.h | |
TEnumAsByte< enum ETickingGroup > GetActualEndTickGroup () |
Gets the action tick group that this function will be required to end in. | Engine/EngineBaseTypes.h | |
TEnumAsByte< enum ETickingGroup > GetActualTickGroup () |
Gets the action tick group that this function will be elligible to start in. | Engine/EngineBaseTypes.h | |
FGraphEventRef GetCompletionHandle () |
Gets the current completion handle of this tick function, so it can be delayed until a later point when some additional tasks have been completed. | Engine/EngineBaseTypes.h | |
float GetLastTickGameTime () |
For actively registered tick functions with an interval, return the last time it ticked. | Engine/EngineBaseTypes.h | |
const TArray< struct FTickPrerequisite > & GetPrerequisites () |
Engine/EngineBaseTypes.h | ||
TArray< struct FTickPrerequisite > & GetPrerequisites () |
Engine/EngineBaseTypes.h | ||
bool IsCompletionHandleValid() |
Returns true if it is valid to access this tick function's completion handle | Engine/EngineBaseTypes.h | |
bool IsTickFunctionEnabled() |
Returns whether the tick function is currently enabled | Engine/EngineBaseTypes.h | |
bool IsTickFunctionRegistered() |
See if the tick function is currently registered | Engine/EngineBaseTypes.h | |
void LogTickFunction
(
ENamedThreads::Type CurrentThread, |
Logs function info based on flags | Engine/EngineBaseTypes.h | |
void RegisterTickFunction
(
ULevel* Level |
Adds the tick function to the primary list of tick functions. | Engine/EngineBaseTypes.h | |
void RemovePrerequisite
(
UObject* TargetObject, |
Removes a prerequisite that was previously added. | Engine/EngineBaseTypes.h | |
void SetPriorityIncludingPrerequisites
(
bool bInHighPriority |
Sets this function to hipri and all prerequisites recursively | Engine/EngineBaseTypes.h | |
void SetTickFunctionEnable
(
bool bInEnabled |
Enables or disables this tick function. | Engine/EngineBaseTypes.h | |
void ShowPrerequistes
(
int32 Indent |
Logs the prerequisites | Engine/EngineBaseTypes.h | |
void UnRegisterTickFunction() |
Removes the tick function from the primary list of tick functions. | Engine/EngineBaseTypes.h | |
void UpdateTickIntervalAndCoolDown
(
float NewTickInterval |
Update tick interval in the system and overwrite the current cooldown if any. | Engine/EngineBaseTypes.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FTickFunction & operator=
(
const FTickFunction& |
It is unsafe to copy FTickFunctions and any subclasses of FTickFunction should specify the type trait WithCopy = false. | Engine/EngineBaseTypes.h |