Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrain module · class

UOrreryTerrainFollowSubsystem

Keeps placed foliage and actors on the ground.

Declaration

UCLASS()
class UOrreryTerrainFollowSubsystem : public UTickableWorldSubsystem
Header
#include "OrreryTerrainFollowSubsystem.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrain"); in your module’s Build.cs.
Stability
Stable: changes within a major version only add.
Thread
Game thread.
Derives from
UTickableWorldSubsystem
Blueprint
“Orrery Terrain Follow Subsystem”, a Blueprint type

Description

Tracks every AInstancedFoliageActor's components (the rules come from the foliage type and the UOrreryTerrainFollowSettings overrides), any instanced mesh tagged OrreryTerrain.Follow, and every UOrreryTerrainGroundFollowComponent. Each followed instance keeps a 12-byte record; an edit reaches only the records of the edit tiles it touched, found through the ground change journal with this subsystem's own cursor.

The rule is in Native/GroundFollow.h. Work is spread over frames: registrations and edits share r.OrreryTerrain.Follow.ApplyBudgetMs (0.5 ms) a frame, oldest first. With nothing changed a tick costs one atomic load. Game worlds only; on a server and on clients alike (every machine computes the same result from the same ground).

Note.

Game thread. Writes only the instance and actor transforms; heights are read through the query snapshot.

Functions

Properties

NameTypeDefaultMeaning
OnFollowInstanceReplacedFOnFollowInstanceReplaced—

A hidden or restored instance changed id.

Game thread.

Blueprint