jeudi 8 janvier 2026

Unreal Engine 5 : Tick groups

Introduction

On game it's sometime to have shape who can control tick speed on actor in this shape. Like a streaming system, object which are far for the player but visible don't need to tick as the same speed as actor near the player.

The idea is inspire by Sea of Thieve talk about managing the tick scale (https://www.unrealengine.com/en-US/events/unreal-fest-europe-2019/aggregating-ticks-to-manage-scale-in-sea-of-thieves)

Architecture

The Idea is to use a subsystem call TickGroupSubsystem which will manager the tick group system. A tick group system have shapes where ticking actor are inside. Depend on if player are inside or near theirs volume, tick group volume will have different tick interval.

When game start, Tick group volume get TickGroupSubsystem and register in it. If actor needs to be inside a TickGroupVolume, user have to add GSTickGroupClient. This component will register actor inside a volume

 The Update Tick Group System

When player spawn, tick group system will detect on which Tick Group volume the player is in. The tickgroup volume will tick are full speed (0.0 tick interval) , for the demo surrounding will tick as lower frequency. Because on this demo it's for a linear game , we just take previous and next tick group of the player current tick group volume

 Tick Group video 

 Github : https://github.com/NicolasBunn/UE5TickGroup.git 

 

  

 

 

Aucun commentaire:

Enregistrer un commentaire