UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PrimitiveComponent.h File Reference

Go to the source code of this file.

Classes

struct  FSpriteCategoryInfo
 
struct  FRendererStencilMaskEvaluation
 
struct  FPredicateOverlapHasSameActor
 
struct  FPredicateOverlapHasDifferentActor
 
struct  FPrimitiveComponentInstanceData
 

Namespaces

namespace  PrimitiveComponentCVars
 

Enumerations

enum  ECanBeCharacterBase : int { UMETA =(DisplayName="No") , UMETA =(DisplayName="No") , UMETA =(DisplayName="No") , ECB_MAX }
 
enum class  ERendererStencilMask : uint8 {
  UMETA =(DisplayName = "Default") , UMETA =(DisplayName = "All bits (255), ignore depth") , UMETA =(DisplayName = "First bit (1), ignore depth") , UMETA =(DisplayName = "Second bit (2), ignore depth") ,
  UMETA =(DisplayName = "Third bit (4), ignore depth") , UMETA =(DisplayName = "Fourth bit (8), ignore depth") , UMETA =(DisplayName = "Fifth bit (16), ignore depth") , UMETA =(DisplayName = "Sixth bit (32), ignore depth") ,
  UMETA =(DisplayName = "Seventh bit (64), ignore depth") , UMETA =(DisplayName = "Eighth bit (128), ignore depth")
}
 
enum class  ERayTracingGroupCullingPriority : uint8 {
  UMETA =(DisplayName = "0 - Never cull") , UMETA =(DisplayName = "1") , UMETA =(DisplayName = "2") , UMETA =(DisplayName = "3") ,
  UMETA =(DisplayName = "4 - Default") , UMETA =(DisplayName = "5") , UMETA =(DisplayName = "6") , UMETA =(DisplayName = "7") ,
  UMETA =(DisplayName = "8 - Quickly cull")
}
 
enum class  EFirstPersonPrimitiveType : uint8 { UMETA =(DisplayName = "None") , UMETA =(DisplayName = "First Person") , UMETA =(DisplayName = "World Space Representation") }
 
enum class  EComponentPhysicsStateChange : uint8 { Created , Destroyed }
 

Functions

 DECLARE_CYCLE_STAT_EXTERN (TEXT("BeginComponentOverlap"), STAT_BeginComponentOverlap, STATGROUP_Game, ENGINE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("MoveComponent FastOverlap"), STAT_MoveComponent_FastOverlap, STATGROUP_Game, ENGINE_API)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_FiveParams (FComponentHitSignature, UPrimitiveComponent, OnComponentHit, UPrimitiveComponent *, HitComponent, AActor *, OtherActor, UPrimitiveComponent *, OtherComp, FVector, NormalImpulse, const FHitResult &, Hit)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_SixParams (FComponentBeginOverlapSignature, UPrimitiveComponent, OnComponentBeginOverlap, UPrimitiveComponent *, OverlappedComponent, AActor *, OtherActor, UPrimitiveComponent *, OtherComp, int32, OtherBodyIndex, bool, bFromSweep, const FHitResult &, SweepResult)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_FourParams (FComponentEndOverlapSignature, UPrimitiveComponent, OnComponentEndOverlap, UPrimitiveComponent *, OverlappedComponent, AActor *, OtherActor, UPrimitiveComponent *, OtherComp, int32, OtherBodyIndex)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams (FComponentWakeSignature, UPrimitiveComponent, OnComponentWake, UPrimitiveComponent *, WakingComponent, FName, BoneName)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams (FComponentSleepSignature, UPrimitiveComponent, OnComponentSleep, UPrimitiveComponent *, SleepingComponent, FName, BoneName)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam (FComponentCollisionSettingsChangedSignature, UPrimitiveComponent, OnComponentCollisionSettingsChangedEvent, UPrimitiveComponent *, ChangedComponent)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams (FComponentPhysicsStateChanged, UPrimitiveComponent, OnComponentPhysicsStateChanged, UPrimitiveComponent *, ChangedComponent, EComponentPhysicsStateChange, StateChange)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam (FComponentBeginCursorOverSignature, UPrimitiveComponent, OnBeginCursorOver, UPrimitiveComponent *, TouchedComponent)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam (FComponentEndCursorOverSignature, UPrimitiveComponent, OnEndCursorOver, UPrimitiveComponent *, TouchedComponent)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams (FComponentOnClickedSignature, UPrimitiveComponent, OnClicked, UPrimitiveComponent *, TouchedComponent, FKey, ButtonPressed)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams (FComponentOnReleasedSignature, UPrimitiveComponent, OnReleased, UPrimitiveComponent *, TouchedComponent, FKey, ButtonReleased)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams (FComponentOnInputTouchBeginSignature, UPrimitiveComponent, OnInputTouchBegin, ETouchIndex::Type, FingerIndex, UPrimitiveComponent *, TouchedComponent)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams (FComponentOnInputTouchEndSignature, UPrimitiveComponent, OnInputTouchEnd, ETouchIndex::Type, FingerIndex, UPrimitiveComponent *, TouchedComponent)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams (FComponentBeginTouchOverSignature, UPrimitiveComponent, OnInputTouchEnter, ETouchIndex::Type, FingerIndex, UPrimitiveComponent *, TouchedComponent)
 
 DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams (FComponentEndTouchOverSignature, UPrimitiveComponent, OnInputTouchLeave, ETouchIndex::Type, FingerIndex, UPrimitiveComponent *, TouchedComponent)
 

Variables

float PrimitiveComponentCVars::HitDistanceToleranceCVar = 0.0f
 
float PrimitiveComponentCVars::InitialOverlapToleranceCVar = 0.0f
 
int32 PrimitiveComponentCVars::bAllowCachedOverlapsCVar = 1
 
int32 PrimitiveComponentCVars::bEnableFastOverlapCheck = 1
 

Enumeration Type Documentation

◆ ECanBeCharacterBase

Determines whether a Character can attempt to step up onto a component when they walk in to it.

Enumerator
UMETA 

Character cannot step up onto this Component.

Character can step up onto this Component.

Owning actor determines whether character can step up onto this Component (default true unless overridden in code).

See also
AActor::CanBeBaseForCharacter()
UMETA 

Character cannot step up onto this Component.

Character can step up onto this Component.

Owning actor determines whether character can step up onto this Component (default true unless overridden in code).

See also
AActor::CanBeBaseForCharacter()
UMETA 

Character cannot step up onto this Component.

Character can step up onto this Component.

Owning actor determines whether character can step up onto this Component (default true unless overridden in code).

See also
AActor::CanBeBaseForCharacter()
ECB_MAX 

◆ EComponentPhysicsStateChange

Enumerator
Created 
Destroyed 

◆ EFirstPersonPrimitiveType

Determines how a primitive interacts with first person rendering.

Enumerator
UMETA 

Primitive does not interact with first person rendering.

UMETA 

Primitive is rendered as first person and affected by first person properties on the camera.

UMETA 

Primitive represents a first person primitive in world space. This is the primitive that other players would see and is used to cast shadow onto the ground among other things. Implicitly sets bCastHiddenShadow=false and bOwnerNoSee=true internally, which is required for first person shadow to work correctly with VSM.

◆ ERayTracingGroupCullingPriority

How quickly component should be culled.

Enumerator
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 

◆ ERendererStencilMask

Exposed enum to parallel RHI's EStencilMask and show up in the editor. Has a paired struct to convert between the two.

Enumerator
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 

Function Documentation

◆ DECLARE_CYCLE_STAT_EXTERN() [1/2]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("BeginComponentOverlap")  ,
STAT_BeginComponentOverlap  ,
STATGROUP_Game  ,
ENGINE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/2]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("MoveComponent FastOverlap" ,
STAT_MoveComponent_FastOverlap  ,
STATGROUP_Game  ,
ENGINE_API   
)

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_FiveParams()

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_FiveParams ( FComponentHitSignature  ,
UPrimitiveComponent  ,
OnComponentHit  ,
UPrimitiveComponent *  ,
HitComponent  ,
AActor ,
OtherActor  ,
UPrimitiveComponent *  ,
OtherComp  ,
FVector  ,
NormalImpulse  ,
const FHitResult ,
Hit   
)

Delegate for notification of blocking collision against a specific component.
NormalImpulse will be filled in for physics-simulating bodies, but will be zero for swept-component blocking collisions.

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_FourParams()

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_FourParams ( FComponentEndOverlapSignature  ,
UPrimitiveComponent  ,
OnComponentEndOverlap  ,
UPrimitiveComponent *  ,
OverlappedComponent  ,
AActor ,
OtherActor  ,
UPrimitiveComponent *  ,
OtherComp  ,
int32  ,
OtherBodyIndex   
)

Delegate for notification of end of overlap with a specific component

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam() [1/3]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam ( FComponentBeginCursorOverSignature  ,
UPrimitiveComponent  ,
OnBeginCursorOver  ,
UPrimitiveComponent *  ,
TouchedComponent   
)

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam() [2/3]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam ( FComponentCollisionSettingsChangedSignature  ,
UPrimitiveComponent  ,
OnComponentCollisionSettingsChangedEvent  ,
UPrimitiveComponent *  ,
ChangedComponent   
)

Delegate for notification when collision settings change.

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam() [3/3]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam ( FComponentEndCursorOverSignature  ,
UPrimitiveComponent  ,
OnEndCursorOver  ,
UPrimitiveComponent *  ,
TouchedComponent   
)

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_SixParams()

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_SixParams ( FComponentBeginOverlapSignature  ,
UPrimitiveComponent  ,
OnComponentBeginOverlap  ,
UPrimitiveComponent *  ,
OverlappedComponent  ,
AActor ,
OtherActor  ,
UPrimitiveComponent *  ,
OtherComp  ,
int32  ,
OtherBodyIndex  ,
bool  ,
bFromSweep  ,
const FHitResult ,
SweepResult   
)

Delegate for notification of start of overlap with a specific component

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams() [1/9]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams ( FComponentBeginTouchOverSignature  ,
UPrimitiveComponent  ,
OnInputTouchEnter  ,
ETouchIndex::Type  ,
FingerIndex  ,
UPrimitiveComponent *  ,
TouchedComponent   
)

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams() [2/9]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams ( FComponentEndTouchOverSignature  ,
UPrimitiveComponent  ,
OnInputTouchLeave  ,
ETouchIndex::Type  ,
FingerIndex  ,
UPrimitiveComponent *  ,
TouchedComponent   
)

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams() [3/9]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams ( FComponentOnClickedSignature  ,
UPrimitiveComponent  ,
OnClicked  ,
UPrimitiveComponent *  ,
TouchedComponent  ,
FKey  ,
ButtonPressed   
)

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams() [4/9]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams ( FComponentOnInputTouchBeginSignature  ,
UPrimitiveComponent  ,
OnInputTouchBegin  ,
ETouchIndex::Type  ,
FingerIndex  ,
UPrimitiveComponent *  ,
TouchedComponent   
)

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams() [5/9]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams ( FComponentOnInputTouchEndSignature  ,
UPrimitiveComponent  ,
OnInputTouchEnd  ,
ETouchIndex::Type  ,
FingerIndex  ,
UPrimitiveComponent *  ,
TouchedComponent   
)

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams() [6/9]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams ( FComponentOnReleasedSignature  ,
UPrimitiveComponent  ,
OnReleased  ,
UPrimitiveComponent *  ,
TouchedComponent  ,
FKey  ,
ButtonReleased   
)

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams() [7/9]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams ( FComponentPhysicsStateChanged  ,
UPrimitiveComponent  ,
OnComponentPhysicsStateChanged  ,
UPrimitiveComponent *  ,
ChangedComponent  ,
EComponentPhysicsStateChange  ,
StateChange   
)

Delegate for physics state created

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams() [8/9]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams ( FComponentSleepSignature  ,
UPrimitiveComponent  ,
OnComponentSleep  ,
UPrimitiveComponent *  ,
SleepingComponent  ,
FName  ,
BoneName   
)

Delegate for notification when a sleep event is fired by physics

◆ DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams() [9/9]

DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams ( FComponentWakeSignature  ,
UPrimitiveComponent  ,
OnComponentWake  ,
UPrimitiveComponent *  ,
WakingComponent  ,
FName  ,
BoneName   
)

Delegate for notification when a wake event is fired by physics