UPrimitiveComponent

PrimitiveComponents are SceneComponents that contain or generate some sort of geometry, generally to be rendered or used as collision data.

Windows
MacOS
Linux

Inheritance Hierarchy

UObjectBase

UObjectBaseUtility

UObject

UActorComponent

USceneComponent

UPrimitiveComponent

PAPER2UPaperTerrainComponent

UArrowComponent

UBillboardComponent

UBrushComponent

UDrawFrustumComponent

UEQSRenderingComponent

UFieldSystemComponent

UFuncTestRenderingComponent

UFXSystemComponent

UNiagaraComponent

UParticleSystemComponent

UCascadeParticleSystemComponent

UGameplayDebuggerRenderingComponent

UImagePlateComponent

ULandscapeComponent

ULandscapeGizmoRenderComponent

ULandscapeHeightfieldCollisionComponent

ULandscapeMeshCollisionComponent

ULandscapeSplinesComponent

ULineBatchComponent

UMaterialBillboardComponent

UMeshComponent

PAPER2UPaperFlipbookComponent

PAPER2UPaperGroupedSpriteComponent

PAPER2UPaperSpriteComponent

PAPER2UPaperTileMapComponent

UCableComponent

UCustomMeshComponent

UGeometryCacheComponent

UGeometryCollectionComponent

UOverlayComponent

UPointCloudComponent

UProceduralMeshComponent

UGoogleARCoreFaceMeshComponent

USkinnedMeshComponent

UDestructibleComponent

UPoseableMeshComponent

USkeletalMeshComponent

UDebugSkelMeshComponent

USkeletalMeshComponentBudgeted

UStaticMeshComponent

UControlPointMeshComponent

UGizmoHandleMeshComponent

UInstancedStaticMeshComponent

UHierarchicalInstancedStaticMeshComponent

UFoliageInstancedStaticMeshComponent

ULandscapeMeshProxyComponent

UMaterialEditorMeshComponent

USplineMeshComponent

UWidgetComponent

UWireframeMeshComponent

UModelComponent

UMotionControllerComponent

UMRMeshComponent

UNavLinkComponent

UNavLinkRenderingComponent

UNavMeshRenderingComponent

UNavTestRenderingComponent

UShapeComponent

UBoxComponent

UCapsuleComponent

USphereComponent

UDrawSphereComponent

USplineComponent

PAPER2UPaperTerrainSplineComponent

UTextRenderComponent

UVectorFieldComponent

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Components/PrimitiveComponent.h

Include

#include "Components/PrimitiveComponent.h"

Syntax

class UPrimitiveComponent :
    public USceneComponent,
    public INavRelevantInterface

Remarks

PrimitiveComponents are SceneComponents that contain or generate some sort of geometry, generally to be rendered or used as collision data. There are several subclasses for the various types of geometry, but the most common by far are the ShapeComponents (Capsule, Sphere, Box), StaticMeshComponent, and SkeletalMeshComponent. ShapeComponents generate geometry that is used for collision detection but are not rendered, while StaticMeshComponents and SkeletalMeshComponents contain pre-built geometry that is rendered, but can also be used for collision detection.

Variables

Name Description

Public variable

uint8: 1

 

AlwaysLoadOnClient

If this is True, this component must always be loaded on clients, even if Hidden and CollisionEnabled is NoCollision.

Public variable

uint8: 1

 

AlwaysLoadOnServer

If this is True, this component must always be loaded on servers, even if Hidden and CollisionEnabled is NoCollision

Public variable

FThreadSafeCoun...

 

AttachmentCounter

Incremented by the main thread before being attached to the scene, decremented by the rendering thread after removal.

Public variable

uint8: 1

 

bAffectDistanceFieldLighting

Controls whether the primitive should affect dynamic distance field lighting methods.

Public variable

uint8: 1

 

bAffectDynamicIndirectLighting

Controls whether the primitive should inject light into the Light Propagation Volume.

Public variable

uint8: 1

 

bAllowCullDistanceVolume

Whether to accept cull distance volumes to modify cached cull distance.

Public variable

uint8: 1

 

bAlwaysCreatePhysicsState

Indicates if we'd like to create physics state all the time (for collision and simulation).

Public variable

uint8: 1

 

bApplyImpulseOnDamage

True for damage to this component to apply physics impulse, false to opt out of these impulses.

Public variable

uint8: 1

 

bAttachedToStreamingManagerAsDynamic

Whether this primitive is referenced by a FDynamicRenderAssetInstanceManager

Public variable

uint8: 1

 

bAttachedToStreamingManagerAsStatic

Whether this primitive is referenced by a FLevelRenderAssetManager

Protected variable

uint8: 1

 

bCachedAllCollideableDescendantsRelative

Result of last call to AreAllCollideableDescendantsRelative().

Public variable

uint8: 1

 

bCastCinematicShadow

Whether this component should cast shadows from lights that have bCastShadowsFromCinematicObjectsOnly enabled.

Public variable

uint8: 1

 

bCastDynamicShadow

Controls whether the primitive should cast shadows in the case of non precomputed shadowing.

Public variable

uint8: 1

 

bCastFarShadow

When enabled, the component will be rendering into the far shadow cascades (only for directional lights).

Public variable

uint8: 1

 

bCastHiddenShadow

If true, the primitive will cast shadows even if bHidden is true.

Public variable

uint8: 1

 

bCastInsetShadow

Whether this component should create a per-object shadow that gives higher effective shadow resolution.

Public variable

uint8: 1

 

bCastShadowAsTwoSided

Whether this primitive should cast dynamic shadows as if it were a two sided material.

Public variable

uint8: 1

 

bCastStaticShadow

Whether the object should cast a static shadow from shadow casting lights.

Public variable

uint8: 1

 

bCastVolumetricTranslucentShadow

Whether the object should cast a volumetric translucent shadow.

Public variable

uint8: 1

 

bEnableAutoLODGeneration

If true, and if World setting has bEnableHierarchicalLOD equal to true, then this component will be included when generating a Proxy mesh for the parent Actor

Public variable

uint8: 1

 

bForceMipStreaming

If true, forces mips for textures used by this component to be resident when this component's level is loaded.

Public variable

uint8: 1

 

bHandledByStreamingManagerAsDynamic

Whether this primitive is handled as dynamic, although it could have no references

Public variable

TEnumAsByte< EH...

 

bHasCustomNavigableGeometry

If true then DoCustomNavigableGeometryExport will be called to collect navigable geometry of this component.

Public variable

uint8: 1

 

bHasMotionBlurVelocityMeshes

True if the primitive has motion blur velocity meshes

Public variable

uint8: 1

 

bHasPerInstanceHitProxies

If true a hit-proxy will be generated for each instance of instanced static meshes

Public variable

uint8: 1

 

bIgnoreRadialForce

Will ignore radial forces applied to this component.

Public variable

uint8: 1

 

bIgnoreRadialImpulse

Will ignore radial impulses applied to this component.

Public variable

uint8: 1

 

bIgnoreStreamingManagerUpdate

When true, texture streaming manager won't update the component state.

Public variable

uint8: 1

 

bLightAttachmentsAsGroup

Whether to light this component and any attachments as a group.

Public variable

uint8: 1

 

bMultiBodyOverlap

If true, this component will generate individual overlaps for each overlapping physics body if it is a multi-body component.

Public variable

uint8: 1

 

bNeverDistanceCull

When enabled this object will not be culled by distance. This is ignored if a child of a HLOD.

Public variable

FBodyInstance

 

BodyInstance

Physics scene information for this component, holds a single rigid body with multiple shapes.

Public variable

uint8: 1

 

bOnlyOwnerSee

If this is True, this component will only be visible when the view actor is the component's owner, directly or indirectly.

Public variable

float

 

BoundsScale

Scales the bounds of the object.

Public variable

uint8: 1

 

bOwnerNoSee

If this is True, this component won't be visible when the view actor is the component's owner, directly or indirectly.

Public variable

uint8: 1

 

bReceiveMobileCSMShadows

Mobile only: If disabled this component will not receive CSM shadows.

Public variable

uint8: 1

 

bReceivesDecals

Whether the primitive receives decals.

Public variable

uint8: 1

 

bRenderCustomDepth

If true, this component will be rendered in the CustomDepth pass (usually used for outlines)

Public variable

uint8: 1

 

bRenderInMainPass

If true, this component will be rendered in the main pass (z prepass, basepass, transparency)

Public variable

uint8: 1

 

bReplicatePhysicsToAutonomousProxy

True if physics should be replicated to autonomous proxies.

Public variable

uint8: 1

 

bReturnMaterialOnMove

If true, component sweeps will return the material in their hit result.

Public variable

uint8: 1

 

bSelectable

If this is True, this component can be selected in the editor.

Public variable

uint8: 1

 

bSelfShadowOnly

When enabled, the component will only cast a shadow on itself and not other components in the world.

Public variable

uint8: 1

 

bSingleSampleShadowFromStationaryLights

Whether the whole component should be shadowed as one from stationary lights, which makes shadow receiving much cheaper.

Public variable

uint8: 1

 

bTraceComplexOnMove

If true, component sweeps with this component should trace against complex collision during movement (for example, each triangle of a mesh).

Public variable

uint8: 1

 

bTreatAsBackgroundForOcclusion

Treat this primitive as part of the background for occlusion purposes.

Public variable

uint8: 1

 

bUseAsOccluder

Whether to render the primitive in the depth only pass.

Public variable

uint8: 1

 

bUseEditorCompositing

Composite the drawing of this component onto the scene after post processing (only applies to editor drawing)

Public variable

uint8: 1

 

bUseMaxLODAsImposter

Use the Maximum LOD Mesh (imposter) instead of including Mesh data from this component in the Proxy Generation process

Public variable

uint8: 1

 

bUseViewOwnerDepthPriorityGroup

True if the primitive should be rendered using ViewOwnerDepthPriorityGroup if viewed by its owner.

Public variable

uint8: 1

 

bVisibleInRayTracing

If true, this component will be visible in ray tracing effects.

Public variable

uint8: 1

 

bVisibleInReflectionCaptures

If true, this component will be visible in reflection captures.

Public variable

float

 

CachedMaxDrawDistance

The distance to cull this primitive at.

Public variable

TEnumAsByte< en...

 

CanCharacterStepUpOn

Determine whether a Character can step up onto this component.

Public variable

uint8: 1

 

CastShadow

Controls whether the primitive component should cast a shadow or not.

Public variable

FPrimitiveCompo...

 

ComponentId

Used by the renderer, to identify a component across re-registers.

Public variable

int32

 

CustomDepthStencilValue

Optionally write this 0-255 value to the stencil buffer in CustomDepth pass (Requires project setting or r.CustomDepth == 3)

Public variable

ERendererStenci...

 

CustomDepthStencilWriteMask

Mask used for stencil buffer writes.

Public variable

TEnumAsByte< en...

 

DepthPriorityGroup

The scene depth priority group to draw the primitive in.

Public variable

FRenderCommandF...

 

DetachFence

A fence to track when the primitive is detached from the scene in the rendering thread.

Public variable

TArray< int32 >

 

ExcludeForSpecificHLODLevels

Which specific HLOD levels this component should be excluded from

Public variable

TEnumAsByte< EI...

 

IndirectLightingCacheQuality

Quality of indirect lighting for Movable primitives.

Protected variable

float

 

LastCheckedAllCollideableDescendantsTime

Last time we checked AreAllCollideableDescendantsRelative(), so we can throttle those tests since it rarely changes once false.

Public variable

float

 

LastSubmitTime

Last time the component was submitted for rendering (called FScene::AddPrimitive).

Public variable

float

 

LDMaxDrawDistance

Max draw distance exposed to LDs.

Public variable

FLightingChanne...

 

LightingChannels

Channels that this component should be in.

Public variable

ELightmapType

 

LightmapType

Controls the type of lightmap used for this component.

Public variable

float

 

LpvBiasMultiplier

Multiplier used to scale the Light Propagation Volume light injection bias, to reduce light bleeding.

Public variable

float

 

MinDrawDistance

The minimum distance at which the primitive should be rendered, measured in world space units from the center of the primitive's bounding sphere to the camera position.

Public variable

TArray< AActor ...

 

MoveIgnoreActors

Set of actors to ignore during component sweeps in MoveComponent().

Public variable

TArray< UPrimit...

 

MoveIgnoreComponents

Set of components to ignore during component sweeps in MoveComponent().

Public variable

FComponentBegin...

 

OnBeginCursorOver

Event called when the mouse cursor is moved over this component and mouse over events are enabled in the player controller

Public variable

FComponentOnCli...

 

OnClicked

Event called when the left mouse button is clicked while the mouse is over this component and click events are enabled in the player controller

Public variable

FComponentBegin...

 

OnComponentBeginOverlap

Event called when something starts to overlaps this component, for example a player walking into a trigger.

Public variable

FComponentColli...

 

OnComponentCollisionSettingsChangedEvent

Event called when collision settings change for this component.

Public variable

FComponentEndOv...

 

OnComponentEndOverlap

Event called when something stops overlapping this component

Public variable

FComponentHitSi...

 

OnComponentHit

Event called when a component hits (or is hit by) something solid.

Public variable

FComponentSleep...

 

OnComponentSleep

Event called when the underlying physics objects is put to sleep

Public variable

FComponentWakeS...

 

OnComponentWake

Event called when the underlying physics objects is woken up

Public variable

FComponentEndCu...

 

OnEndCursorOver

Event called when the mouse cursor is moved off this component and mouse over events are enabled in the player controller

Public variable

FComponentOnInp...

 

OnInputTouchBegin

Event called when a touch input is received over this component when touch events are enabled in the player controller

Public variable

FComponentOnInp...

 

OnInputTouchEnd

Event called when a touch input is released over this component when touch events are enabled in the player controller

Public variable

FComponentBegin...

 

OnInputTouchEnter

Event called when a finger is moved over this component when touch over events are enabled in the player controller

Public variable

FComponentEndTo...

 

OnInputTouchLeave

Event called when a finger is moved off this component when touch over events are enabled in the player controller

Public variable

FComponentOnRel...

 

OnReleased

Event called when the left mouse button is released while the mouse is over this component click events are enabled in the player controller

Protected variable

TArray< FOverla...

 

OverlappingComponents

Set of components that this component is currently overlapping.

Public variable

TArray< URuntim...

 

RuntimeVirtualTextures

Array of runtime virtual textures into which we render the mesh for this actor.

Public variable

FPrimitiveScene...

 

SceneProxy

The primitive's scene info.

Public variable

FSelectionOverr...

 

SelectionOverrideDelegate

Public variable

int32

 

TranslucencySortPriority

Translucent objects with a lower sort priority draw behind objects with a higher priority.

Public variable

TEnumAsByte< en...

 

ViewOwnerDepthPriorityGroup

The scene depth priority group to draw the primitive in, if it's being viewed by its owner.

Public variable

int32

 

VirtualTextureCullMips

Number of lower mips in the runtime virtual texture to skip for rendering this primitive.

Public variable

int32

 

VirtualTextureLodBias

Bias to the LOD selected for rendering to runtime virtual textures.

Public variable

int32

 

VirtualTextureMinCoverage

Set the minimum pixel coverage before culling from the runtime virtual texture.

Public variable

ERuntimeVirtual...

 

VirtualTextureRenderPassType

Render to the main pass based on the virtual texture settings.

Public variable

int32

 

VisibilityId

Used for precomputed visibility

Constructors

Name Description

Public function

UPrimitiveComponent

(
    const FObjectInitializer& ObjectIn...
)

Default UObject constructor.

Functions

Name Description

Public function

void

 

AddAngularImpulseInDegrees

(
    FVector Impulse,
    FName BoneName,
    bool bVelChange
)

Add an angular impulse to a single rigid body. Good for one time instant burst.

Public function Virtual

void

 

AddAngularImpulseInRadians

(
    FVector Impulse,
    FName BoneName,
    bool bVelChange
)

Add an angular impulse to a single rigid body. Good for one time instant burst.

Public function Virtual

void

 

AddForce

(
    FVector Force,
    FName BoneName,
    bool bAccelChange
)

Add a force to a single rigid body.

Public function Virtual

void

 

AddForceAtLocation

(
    FVector Force,
    FVector Location,
    FName BoneName
)

Add a force to a single rigid body at a particular location in world space.

Public function Virtual

void

 

AddForceAtLocationLocal

(
    FVector Force,
    FVector Location,
    FName BoneName
)

Add a force to a single rigid body at a particular location.

Public function Virtual

void

 

AddImpulse

(
    FVector Impulse,
    FName BoneName,
    bool bVelChange
)

Add an impulse to a single rigid body. Good for one time instant burst.

Public function Virtual

void

 

AddImpulseAtLocation

(
    FVector Impulse,
    FVector Location,
    FName BoneName
)

Add an impulse to a single rigid body at a specific location.

Public function Virtual Const

void

 

AddMapBuildDataGUIDs

(
    TSet< FGuid >& InGUIDs
)

Add the used GUIDs from UMapBuildDataRegistry::MeshBuildData.

Public function Virtual

void

 

AddRadialForce

(
    FVector Origin,
    float Radius,
    float Strength,
    enum ERadialImpulseFalloff Falloff,
    bool bAccelChange
)

Add a force to all bodies in this component, originating from the supplied world-space location.

Public function Virtual

void

 

AddRadialImpulse

(
    FVector Origin,
    float Radius,
    float Strength,
    enum ERadialImpulseFalloff Falloff,
    bool bVelChange
)

Add an impulse to all rigid bodies in this component, radiating out from the specified position.

Public function

void

 

AddTorqueInDegrees

(
    FVector Torque,
    FName BoneName,
    bool bAccelChange
)

Add a torque to a single rigid body.

Public function Virtual

void

 

AddTorqueInRadians

(
    FVector Torque,
    FName BoneName,
    bool bAccelChange
)

Add a torque to a single rigid body.

Protected function Virtual Const

bool

 

AreAllCollideableDescendantsRelative

(
    bool bAllowCachedValue
)

Returns true if all descendant components that we can possibly overlap with use relative location and rotation.

Public function Virtual Const

bool

 

AreSymmetricRotations

(
    const FQuat& A,
    const FQuat& B,
    const FVector& Scale3D
)

Returns true if the given transforms result in the same bounds, due to rotational symmetry.

Public function

void

 

BeginComponentOverlap

(
    const FOverlapInfo& OtherOverlap,
    bool bDoNotifies
)

Begin tracking an overlap interaction with the component specified.

Public function Virtual

bool

 

BuildTextureStreamingData

(
    ETextureStreamingBuildType BuildTyp...,
    EMaterialQualityLevel::Type Quality...,
    ERHIFeatureLevel::Type FeatureLevel,
    TSet< FGuid >& DependentResources
)

Update the streaming data of this component.

Public function Virtual

float

 

CalculateMass

(
    FName BoneName
)

Returns the calculated mass in kg.

Public function Virtual Const

bool

 

CanCharacterStepUp

(
    APawn* Pawn
)

Return true if the given Pawn can step up onto this component.

Public function Virtual

bool

 

CanEditSimulatePhysics()

Determines whether or not the simulate physics setting can be edited interactively on this component

Protected function

void

 

ClearComponentOverlaps

(
    bool bDoNotifies,
    bool bSkipNotifySelf
)

Ends all current component overlaps.

Public function

void

 

ClearMoveIgnoreActors()

Clear the list of actors we ignore when moving.

Public function

void

 

ClearMoveIgnoreComponents()

Clear the list of components we ignore when moving.

Public function Virtual Const

bool

 

ComponentIsTouchingSelectionBox

(
    const FBox& InSelBBox,
    const FEngineShowFlags& ShowFlags,
    const bool bConsiderOnlyBSP,
    const bool bMustEncompassEntireComp...
)

Determines whether the supplied bounding box intersects with the component.

Public function Virtual Const

bool

 

ComponentIsTouchingSelectionFrustum

(
    const FConvexVolume& InFrustum,
    const FEngineShowFlags& ShowFlags,
    const bool bConsiderOnlyBSP,
    const bool bMustEncompassEntireComp...
)

Determines whether the supplied frustum intersects with the component.

Public function

bool

 

ComponentOverlapComponent

(
    UPrimitiveComponent* PrimComp,
    const FVector Pos,
    const FRotator Rot,
    const FCollisionQueryParams& Param...
)

Test the collision of the supplied component at the supplied location/rotation, and determine if it overlaps this component.

Public function

bool

 

ComponentOverlapComponent

(
    UPrimitiveComponent* PrimComp,
    const FVector Pos,
    const FQuat& Rot,
    const FCollisionQueryParams& Param...
)

Test the collision of the supplied component at the supplied location/rotation, and determine if it overlaps this component.

Protected function Virtual

bool

 

ComponentOverlapComponentImpl

(
    UPrimitiveComponent* PrimComp,
    const FVector Pos,
    const FQuat& Rot,
    const FCollisionQueryParams& Param...
)

Override this method for custom behavior for ComponentOverlapComponent()

Public function Const

bool

 

ComponentOverlapMulti

(
    TArray< struct FOverlapResult >& O...,
    const UWorld* InWorld,
    const FVector& Pos,
    const FQuat& Rot,
    ECollisionChannel TestChannel,
    const FComponentQueryParams& Param...,
    const FCollisionObjectQueryParams&...
)

Test the collision of the supplied component at the supplied location/rotation, and determine the set of components that it overlaps.

Public function Const

bool

 

ComponentOverlapMulti

(
    TArray< struct FOverlapResult >& O...,
    const UWorld* InWorld,
    const FVector& Pos,
    const FRotator& Rot,
    ECollisionChannel TestChannel,
    const FComponentQueryParams& Param...,
    const FCollisionObjectQueryParams&...
)

Test the collision of the supplied component at the supplied location/rotation, and determine the set of components that it overlaps.

Protected function Virtual Const

bool

 

ComponentOverlapMultiImpl

(
    TArray< struct FOverlapResult >& O...,
    const UWorld* InWorld,
    const FVector& Pos,
    const FQuat& Rot,
    ECollisionChannel TestChannel,
    const FComponentQueryParams& Param...,
    const FCollisionObjectQueryParams&...
)

Override this method for custom behavior for ComponentOverlapMulti()

Public function Virtual

bool

 

ComputePenetration

(
    FMTDResult& OutMTD,
    const FCollisionShape& CollisionSh...,
    const FVector& Pos,
    const FQuat& Rot
)

Computes the minimum translation direction (MTD) when an overlap exists between the component and the given shape.

Public function

TArray< AAct...

 

CopyArrayOfMoveIgnoreActors()

Returns the list of actors we currently ignore when moving.

Public function

TArray< UPri...

 

CopyArrayOfMoveIgnoreComponents()

Returns the list of actors we currently ignore when moving.

Public function Virtual

UMaterialIns...

 

CreateAndSetMaterialInstanceDynamic

(
    int32 ElementIndex
)

Creates a Dynamic Material Instance for the specified element index.

Public function Virtual

UMaterialIns...

 

CreateAndSetMaterialInstanceDynamicFromMaterial

(
    int32 ElementIndex,
    UMaterialInterface* Parent
)

Creates a Dynamic Material Instance for the specified element index.

Public function Virtual

UMaterialIns...

 

CreateDynamicMaterialInstance

(
    int32 ElementIndex,
    UMaterialInterface* SourceMate...,
    FName OptionalName
)

Creates a Dynamic Material Instance for the specified element index, optionally from the supplied material.

Public function Virtual

FPrimitiveSc...

 

CreateSceneProxy()

Creates a proxy to represent the primitive to the scene manager in the rendering thread.

Public function

void

 

DispatchBlockingHit

(
    AActor& OutOwner,
    FHitResult const& BlockingHit
)

Dispatch notifications for the given HitResult.

Public function Static

void

 

DispatchMouseOverEvents

(
    UPrimitiveComponent* CurrentCo...,
    UPrimitiveComponent* NewCompon...
)

Public function

void

 

DispatchOnClicked

(
    FKey ButtonClicked
)

Public function

void

 

DispatchOnInputTouchBegin

(
    const ETouchIndex::Type Key
)

Public function

void

 

DispatchOnInputTouchEnd

(
    const ETouchIndex::Type Key
)

Public function

void

 

DispatchOnReleased

(
    FKey ButtonReleased
)

Public function Static

void

 

DispatchTouchOverEvents

(
    ETouchIndex::Type FingerIndex,
    UPrimitiveComponent* CurrentCo...,
    UPrimitiveComponent* NewCompon...
)

Public function

void

 

DispatchWakeEvents

(
    ESleepEvent WakeEvent,
    FName BoneName
)

Dispatch notification for wake events and propagate to any welded bodies

Public function Virtual Const

bool

 

DoCustomNavigableGeometryExport

(
    FNavigableGeometryExport& GeomExpo...
)

Collects custom navigable geometry of component.

Public function

void

 

EndComponentOverlap

(
    const FOverlapInfo& OtherOverlap,
    bool bDoNotifies,
    bool bSkipNotifySelf
)

Finish tracking an overlap interaction that is no longer occurring between this component and the component specified.

Protected function

void

 

EnsurePhysicsStateCreated()

Ensure physics state created

Public function Virtual Const

float

 

GetAngularDamping()

Returns the angular damping of this component.

Public function Virtual Const

FBodyInstanc...

 

GetBodyInstance

(
    FName BoneName,
    bool bGetWelded
)

Returns BodyInstance of the component.

Public function Virtual

UBodySetup &...

 

GetBodySetup()

Return the BodySetup to use for this PrimitiveComponent (single body case)

Public function Const

FVector

 

GetCenterOfMass

(
    FName BoneName
)

Get the center of mass of a single body.

Public function Const

float

 

GetClosestPointOnCollision

(
    const FVector& Point,
    FVector& OutPointOnBody,
    FName BoneName
)

Returns the distance and closest point to the collision surface.

Public function Const

FName

 

GetCollisionProfileName()

Get the collision profile name

Public function Virtual Const

FCollisionSh...

 

GetCollisionShape

(
    float Inflation
)

Return a CollisionShape that most closely matches this primitive.

Public function Virtual

FTransform

 

GetComponentTransformFromBodyInstance

(
    FBodyInstance* UseBI
)

Called to get the Component To World Transform from the Root BodyInstance This needs to be virtual since SkeletalMeshComponent Root has to undo its own transform Without this, the root LocalToAtom is overridden by physics simulation, causing kinematic velocity to accelerate simulation

Public function Const

const FCusto...

 

GetCustomPrimitiveData()

Get the custom primitive data for this primitive component.

Public function Virtual Const

float

 

GetDiffuseBoost

(
    int32 ElementIndex
)

Gets the diffuse boost for the primitive component.

Public function Const

float

 

GetDistanceToCollision

(
    const FVector& Point,
    FVector& ClosestPointOnCollision
)

Returns Distance to closest Body Instance surface.

Public function Virtual Const

float

 

GetEmissiveBoost

(
    int32 ElementIndex
)

Gets the emissive boost for the primitive component.

Public function Const

bool

 

GetGenerateOverlapEvents()

If true, this component will generate overlap events when it is overlapping other components (eg Begin Overlap).

Public function Virtual Const

uint64

 

GetHiddenEditorViews()

Returns mask that represents in which views this primitive is hidden

Public function Virtual Const

FVector

 

GetInertiaTensor

(
    FName BoneName
)

Returns the inertia tensor of this component in kg cm^2.

Public function Const

float

 

GetLastRenderTime()

Public function Const

float

 

GetLastRenderTimeOnScreen()

Public function Virtual Const

void

 

GetLightAndShadowMapMemoryUsage

(
    int32& LightMapMemoryUsage,
    int32& ShadowMapMemoryUsage
)

Returns the light and shadow map memory for this primitive in its out variables.

Public function Virtual Const

bool

 

GetLightMapResolution

(
    int32& Width,
    int32& Height
)

Returns the lightmap resolution used for this primitive instance in the case of it supporting texture light/ shadow maps.

Public function Virtual Const

float

 

GetLinearDamping()

Returns the linear damping of this component.

Public function Const

UPrimitiveCo...

 

GetLODParentPrimitive()

Gets the LOD Parent, which is used to compute visibility when hierarchical LOD is enabled

Public function Const

FMaskFilter

 

GetMaskFilterOnBodyInstance

(
    FMaskFilter InMaskFilter
)

Get the mask filter checked when others move into us.

Public function Virtual Const

float

 

GetMass()

Returns the mass of this component in kg.

Public function Virtual Const

float

 

GetMassScale

(
    FName BoneName
)

Returns the mass scale used to calculate the mass of a single physics body

Public function Virtual Const

UMaterialInt...

 

GetMaterial

(
    int32 ElementIndex
)

Returns the material used by the element at the specified index

Public function Virtual Const

UMaterialInt...

 

GetMaterialFromCollisionFaceIndex

(
    int32 FaceIndex,
    int32& SectionIndex
)

Try and retrieve the material applied to a particular collision face of mesh.

Public function Const

const TArray...

 

GetMoveIgnoreActors()

Returns the list of actors (as WeakObjectPtr) we currently ignore when moving.

Public function Const

const TArray...

 

GetMoveIgnoreComponents()

Returns the list of components we currently ignore when moving.

Public function Const

FMaskFilter

 

GetMoveIgnoreMask()

Get the mask filter we use when moving.

Public function Virtual Const

int32

 

GetNumMaterials()

Return number of material elements in this primitive

Public function Const

const TArray...

 

GetOverlapInfos()

Returns list of components this component is overlapping.

Public function Const

void

 

GetOverlappingActors

(
    TSet< AActor* >& OverlappingA...,
    TSubclassOf< AActor > ClassFilter
)

Returns the set of actors that this component is overlapping.

Public function Const

void

 

GetOverlappingActors

(
    TArray< AActor* >& Overlappin...,
    TSubclassOf< AActor > ClassFilter
)

Returns a list of actors that this component is overlapping.

Public function Const

void

 

GetOverlappingComponents

(
    TArray< UPrimitiveComponent* >...
)

Returns unique list of components this component is overlapping.

Public function Const

void

 

GetOverlappingComponents

(
    TSet< UPrimitiveComponent* >&...
)

Returns unique set of components this component is overlapping.

Public function Const

bool

 

GetOverlapsWithActor

(
    const AActor* Actor,
    TArray< FOverlapInfo >& OutOverlap...
)

Appends list of overlaps with components owned by the given actor to the 'OutOverlaps' array.

Public function Const

FVector

 

GetPhysicsAngularVelocityInDegrees

(
    FName BoneName
)

Get the angular velocity of a single body, in degrees per second.

Public function Const

FVector

 

GetPhysicsAngularVelocityInRadians

(
    FName BoneName
)

Get the angular velocity of a single body, in radians per second.

Public function

FVector

 

GetPhysicsLinearVelocity

(
    FName BoneName
)

Get the linear velocity of a single body.

Public function

FVector

 

GetPhysicsLinearVelocityAtPoint

(
    FVector Point,
    FName BoneName
)

Get the linear velocity of a point on a single body.

Public function Virtual Const

FMatrix

 

GetRenderMatrix()

Returns the matrix that should be used to render this component.

Public function

bool

 

GetRigidBodyState

(
    FRigidBodyState& OutState,
    FName BoneName
)

Get the state of the rigid body responsible for this Actor's physics, and fill in the supplied FRigidBodyState struct based on it.

Public function Virtual Const

TArray< URun...

 

GetRuntimeVirtualTextures()

Get the array of runtime virtual textures into which we render the mesh for this actor.

Public function Virtual Const

bool

 

GetShadowIndirectOnly()

Disable dynamic shadow casting if the primitive only casts indirect shadows, since dynamic shadows are always shadowing direct lighting

Public function Virtual Const

bool

 

GetSquaredDistanceToCollision

(
    const FVector& Point,
    float& OutSquaredDistance,
    FVector& OutClosestPointOnCollisio...
)

Returns The square of the distance to closest Body Instance surface.

Public function Virtual Const

uint8

 

GetStaticDepthPriorityGroup()

Determines the DPG the primitive's primary elements are drawn in.

Public function Virtual

void

 

GetStaticLightingInfo

(
    FStaticLightingPrimitiveInfo& OutP...,
    const TArray< class ULightComponent...,
    const FLightingBuildOptions& Optio...
)

Requests the information about the component that the static lighting system needs.

Public function Virtual Const

ELightMapInt...

 

GetStaticLightingType()

Requests whether the component will use texture, vertex or no lightmaps.

Public function Virtual Const

int32

 

GetStaticLightMapResolution()

Returns the static lightmap resolution used for this primitive.

Public function Virtual Const

void

 

GetStreamingRenderAssetInfo

Enumerates the streaming textures/meshes used by the primitive.

Public function Const

void

 

GetStreamingRenderAssetInfoWithNULLRemoval

Call GetStreamingRenderAssetInfo and remove the elements with a NULL texture

Public function Virtual Const

void

 

GetUsedMaterials

(
    TArray< UMaterialInterface* > ...,
    bool bGetDebugMaterials
)

Retrieves the materials used in this component

Public function Virtual

void

 

GetUsedTextures

(
    TArray< UTexture* >& OutTextu...,
    EMaterialQualityLevel::Type Quality...
)

Returns the material textures used to render this primitive for the given platform.

Public function Virtual Const

ERuntimeVirt...

 

GetVirtualTextureRenderPassType()

Get the runtime virtual texture pass settings.

Public function Const

const FWalka...

 

GetWalkableSlopeOverride()

Returns the slope override struct for this component.

Public function Virtual

void

 

GetWeldedBodies

(
    TArray< FBodyInstance* >& Out...,
    TArray< FName >& OutLabels,
    bool bIncludingAutoWeld
)

Adds the bodies that are currently welded to the OutWeldedBodies array

Public function Const

EHasCustomNa...

 

HasCustomNavigableGeometry()

If true then DoCustomNavigableGeometryExport will be called to collect navigable geometry of this component.

Public function Const

bool

 

HasStaticLighting()

Return True if a primitive's parameters as well as its position is static during gameplay, and can thus use static lighting.

Public function Virtual Const

bool

 

HasValidSettingsForStaticLighting

(
    bool bOverlookInvalidComponents
)

Returns true if the component is static and has the right static mesh setup to support lightmaps.

Public function

void

 

IgnoreActorWhenMoving

(
    AActor* Actor,
    bool bShouldIgnore
)

Tells this component whether to ignore collision with all components of a specific Actor when this component is moved.

Public function Virtual Const

bool

 

IgnoreBoundsForEditorFocus()

Whether or not the bounds of this component should be considered when focusing the editor camera to an actor with this component in it.

Public function

void

 

IgnoreComponentWhenMoving

(
    UPrimitiveComponent* Component,
    bool bShouldIgnore
)

Tells this component whether to ignore collision with another component when this component is moved.

Public function Virtual Const

void

 

InitSweepCollisionParams

(
    FCollisionQueryParams& OutParams,
    FCollisionResponseParams& OutRespo...
)

Set collision params on OutParams (such as CollisionResponse) to match the settings on this PrimitiveComponent.

Public function Virtual

bool

 

IsAnyRigidBodyAwake()

Returns if any body in this component is currently awake and simulating.

Public function Const

bool

 

IsAttachedToStreamingManager()

Whether this primitive is referenced by the streaming manager and should sent callbacks when detached or destroyed

Public function Const

bool

 

IsComponentIndividuallySelected()

Component is directly selected in the editor separate from its parent actor

Public function Virtual Const

bool

 

IsGravityEnabled()

Returns whether this component is affected by gravity.

Public function Const

bool

 

IsOverlappingActor

(
    const AActor* Other
)

Check whether this component is overlapping any component of the given Actor.

Public function Const

bool

 

IsOverlappingComponent

(
    const FOverlapInfo& Overlap
)

Check whether this component has the specified overlap.

Public function Const

bool

 

IsOverlappingComponent

(
    const UPrimitiveComponent* Oth...
)

Check whether this component is overlapping another component.

Public function Const

bool

 

IsWelded()

Whether the component has been welded to another simulating component

Public function Virtual Const

bool

 

IsZeroExtent()

This isn't bound extent, but for shape component to utilize extent is 0.

Public function

bool

 

K2_BoxOverlapComponent

(
    FVector InBoxCentre,
    const FBox InBox,
    bool bTraceComplex,
    bool bShowTrace,
    bool bPersistentShowTrace,
    FVector& HitLocation,
    FVector& HitNormal,
    FName& BoneName,
    FHitResult& OutHit
)

Perform a box overlap against a single component as an AABB (No rotation)

Public function Const

bool

 

K2_IsCollisionEnabled()

Utility to see if there is any form of collision (query or physics) enabled on this component.

Public function Const

bool

 

K2_IsPhysicsCollisionEnabled()

Utility to see if there is any physics collision enabled on this component.

Public function Const

bool

 

K2_IsQueryCollisionEnabled()

Utility to see if there is any query collision enabled on this component.

Public function

bool

 

K2_LineTraceComponent

(
    FVector TraceStart,
    FVector TraceEnd,
    bool bTraceComplex,
    bool bShowTrace,
    bool bPersistentShowTrace,
    FVector& HitLocation,
    FVector& HitNormal,
    FName& BoneName,
    FHitResult& OutHit
)

Perform a line trace against a single component

Public function

bool

 

K2_SphereOverlapComponent

(
    FVector InSphereCentre,
    float InSphereRadius,
    bool bTraceComplex,
    bool bShowTrace,
    bool bPersistentShowTrace,
    FVector& HitLocation,
    FVector& HitNormal,
    FName& BoneName,
    FHitResult& OutHit
)

Perform a sphere overlap against a single component

Public function

bool

 

K2_SphereTraceComponent

(
    FVector TraceStart,
    FVector TraceEnd,
    float SphereRadius,
    bool bTraceComplex,
    bool bShowTrace,
    bool bPersistentShowTrace,
    FVector& HitLocation,
    FVector& HitNormal,
    FName& BoneName,
    FHitResult& OutHit
)

Perform a sphere trace against a single component

Public function Virtual

bool

 

LineTraceComponent

(
    FHitResult& OutHit,
    const FVector Start,
    const FVector End,
    const FCollisionQueryParams& Param...
)

Trace a ray against just this component.

Protected function Virtual

void

 

OnComponentCollisionSettingsChanged()

Called when the BodyInstance ResponseToChannels, CollisionEnabled or bNotifyRigidBodyCollision changes, in case subclasses want to use that information.

Public function Virtual

bool

 

OverlapComponent

(
    const FVector& Pos,
    const FQuat& Rot,
    const FCollisionShape& CollisionSh...
)

Test the collision of the supplied shape at the supplied location, and determine if it overlaps this component.

Public function

void

 

PushEditorVisibilityToProxy

(
    uint64 InVisibility
)

Sends editor visibility updates to the render thread

Public function

void

 

PushHoveredToProxy

(
    const bool bInHovered
)

Pushes new hover state to the render thread primitive proxy

Public function

void

 

PushSelectionToProxy()

Pushes new selection state to the render thread primitive proxy

Public function Virtual

void

 

PutAllRigidBodiesToSleep()

Force all bodies in this component to sleep.

Public function

void

 

PutRigidBodyToSleep

(
    FName BoneName
)

Force a single body back to sleep.

Public function Virtual

void

 

ReceiveComponentDamage

(
    float DamageAmount,
    FDamageEvent const& DamageEvent,
    AController* EventInstigator,
    AActor* DamageCauser
)

Event called when a component is 'damaged', allowing for component class specific behaviour

Public function Const

bool

 

RigidBodyIsAwake

(
    FName BoneName
)

Returns if a single body is currently awake and simulating.

Public function Virtual Const

FVector

 

ScaleByMomentOfInertia

(
    FVector InputVector,
    FName BoneName
)

Scales the given vector by the world space moment of inertia.

Protected function

void

 

SendPhysicsTransform

(
    ETeleportType Teleport
)

Called to send a transform update for this component to the physics engine

Public function Virtual

void

 

SendRenderDebugPhysics

(
    FPrimitiveSceneProxy* Override...
)

Updates the renderer with the center of mass data

Public function Virtual

void

 

SetAllMassScale

(
    float InMassScale
)

Change the mass scale used fo all bodies in this component

Public function

void

 

SetAllPhysicsAngularVelocityInDegrees

(
    const FVector& NewAngVel,
    bool bAddToCurrent
)

Set the angular velocity of all bodies in this component.

Public function Virtual

void

 

SetAllPhysicsAngularVelocityInRadians

(
    const FVector& NewAngVel,
    bool bAddToCurrent
)

Set the angular velocity of all bodies in this component.

Public function Virtual

void

 

SetAllPhysicsLinearVelocity

(
    FVector NewVel,
    bool bAddToCurrent
)

Set the linear velocity of all bodies in this component.

Public function Virtual

void

 

SetAllPhysicsPosition

(
    FVector NewPos
)

Set the position of all bodies in this component.

Public function Virtual

void

 

SetAllPhysicsRotation

(
    FRotator NewRot
)

Set the rotation of all bodies in this component.

Public function Virtual

void

 

SetAllPhysicsRotation

(
    const FQuat& NewRot
)

Set the rotation of all bodies in this component.

Public function Virtual

void

 

SetAllUseCCD

(
    bool InUseCCD
)

Set whether all bodies in this component should use Continuous Collision Detection

Public function Virtual

void

 

SetAngularDamping

(
    float InDamping
)

Sets the angular damping of this component.

Public function

void

 

SetBoundsScale

(
    float NewBoundsScale
)

Scale the bounds of this object, used for frustum culling.

Public function

void

 

SetCachedMaxDrawDistance

(
    const float NewCachedMaxDrawDistanc...
)

Utility to cache the max draw distance based on cull distance volumes or the desired max draw distance

Public function

void

 

SetCastShadow

(
    bool NewCastShadow
)

Changes the value of CastShadow.

Public function

void

 

SetCenterOfMass

(
    FVector CenterOfMassOffset,
    FName BoneName
)

Set the center of mass of a single body.

Public function Virtual

void

 

SetCollisionEnabled

(
    ECollisionEnabled::Type NewType
)

Controls what kind of collision is enabled for this body

Public function Virtual

void

 

SetCollisionObjectType

(
    ECollisionChannel Channel
)

Changes the collision channel that this object uses when it moves

Public function Virtual

void

 

SetCollisionProfileName

(
    FName InCollisionProfileName
)

Set Collision Profile Name This function is called by constructors when they set ProfileName This will change current CollisionProfileName to be this, and overwrite Collision Setting

Public function Virtual

void

 

SetCollisionResponseToAllChannels

(
    ECollisionResponse NewResponse
)

Changes all ResponseToChannels container for this PrimitiveComponent. to be NewResponse

Public function Virtual

void

 

SetCollisionResponseToChannel

(
    ECollisionChannel Channel,
    ECollisionResponse NewResponse
)

Changes a member of the ResponseToChannels container for this PrimitiveComponent.

Public function Virtual

void

 

SetCollisionResponseToChannels

(
    const FCollisionResponseContainer&...
)

Changes the whole ResponseToChannels container for this PrimitiveComponent.

Public function Virtual

void

 

SetConstraintMode

(
    EDOFMode::Type ConstraintMode
)

Sets the constraint mode of the component.

Public function

void

 

SetCullDistance

(
    float NewCullDistance
)

Changes the value of CullDistance.

Public function

void

 

SetCustomDepthStencilValue

(
    int32 Value
)

Sets the CustomDepth stencil value (0 - 255) and marks the render state dirty.

Public function

void

 

SetCustomDepthStencilWriteMask

(
    ERendererStencilMask WriteMaskBit
)

Sets the CustomDepth stencil write mask and marks the render state dirty.

Public function

void

 

SetCustomNavigableGeometry

(
    const EHasCustomNavigableGeometry::...
)

Set value of HasCustomNavigableGeometry

Public function

void

 

SetCustomPrimitiveDataFloat

(
    int32 DataIndex,
    float Value
)

Set custom primitive data at index DataIndex.

Protected function

void

 

SetCustomPrimitiveDataInternal

(
    int32 DataIndex,
    const TArray< float >& Values
)

Insert an array of floats into the CustomPrimitiveData, starting at the given index

Public function

void

 

SetCustomPrimitiveDataVector2

(
    int32 DataIndex,
    FVector2D Value
)

Set custom primitive data, two floats at once, from index DataIndex to index DataIndex + 2.

Public function

void

 

SetCustomPrimitiveDataVector3

(
    int32 DataIndex,
    FVector Value
)

Set custom primitive data, three floats at once, from index DataIndex to index DataIndex + 3.

Public function

void

 

SetCustomPrimitiveDataVector4

(
    int32 DataIndex,
    FVector4 Value
)

Set custom primitive data, four floats at once, from index DataIndex to index DataIndex + 4.

Public function

void

 

SetDepthPriorityGroup

(
    ESceneDepthPriorityGroup NewDepthPr...
)

Changes the value of DepthPriorityGroup.

Public function Virtual

void

 

SetEnableGravity

(
    bool bGravityEnabled
)

Enables/disables whether this component is affected by gravity.

Public function

void

 

SetGenerateOverlapEvents

(
    bool bInGenerateOverlapEvents
)

Modifies value returned by GetGenerateOverlapEvents()

Public function

void

 

SetLastRenderTime

(
    float InLastRenderTime
)

Public function Virtual

void

 

SetLinearDamping

(
    float InDamping
)

Sets the linear damping of this component.

Public function

void

 

SetLODParentPrimitive

(
    UPrimitiveComponent* InLODPare...
)

Set LOD Parent component, normally associated with an ALODActor

Public function

void

 

SetMaskFilterOnBodyInstance

(
    FMaskFilter InMaskFilter
)

Set the mask filter checked when others move into us.

Public function Virtual

void

 

SetMassOverrideInKg

(
    FName BoneName,
    float MassInKg,
    bool bOverrideMass
)

Override the mass (in Kg) of a single physics body.

Public function Virtual

void

 

SetMassScale

(
    FName BoneName,
    float InMassScale
)

Change the mass scale used to calculate the mass of a single physics body

Public function Virtual

void

 

SetMaterial

(
    int32 ElementIndex,
    UMaterialInterface* Material
)

Changes the material applied to an element of the mesh.

Public function Virtual

void

 

SetMaterialByName

(
    FName MaterialSlotName,
    UMaterialInterface* Material
)

Changes the material applied to an element of the mesh.

Public function

void

 

SetMoveIgnoreMask

(
    FMaskFilter InMoveIgnoreMask
)

Set the mask filter we use when moving.

Public function Virtual

void

 

SetNotifyRigidBodyCollision

(
    bool bNewNotifyRigidBodyCollision
)

Changes the value of bNotifyRigidBodyCollision

Public function

void

 

SetOnlyOwnerSee

(
    bool bNewOnlyOwnerSee
)

Changes the value of bOnlyOwnerSee.

Public function

void

 

SetOwnerNoSee

(
    bool bNewOwnerNoSee
)

Changes the value of bOwnerNoSee.

Public function

void

 

SetPhysicsAngularVelocityInDegrees

(
    FVector NewAngVel,
    bool bAddToCurrent,
    FName BoneName
)

Set the angular velocity of a single body.

Public function Virtual

void

 

SetPhysicsAngularVelocityInRadians

(
    FVector NewAngVel,
    bool bAddToCurrent,
    FName BoneName
)

Set the angular velocity of a single body.

Public function Virtual

void

 

SetPhysicsLinearVelocity

(
    FVector NewVel,
    bool bAddToCurrent,
    FName BoneName
)

Set the linear velocity of a single body.

Public function

void

 

SetPhysicsMaxAngularVelocityInDegrees

(
    float NewMaxAngVel,
    bool bAddToCurrent,
    FName BoneName
)

Set the maximum angular velocity of a single body.

Public function

void

 

SetPhysicsMaxAngularVelocityInRadians

(
    float NewMaxAngVel,
    bool bAddToCurrent,
    FName BoneName
)

Set the maximum angular velocity of a single body.

Public function Virtual

void

 

SetPhysMaterialOverride

(
    UPhysicalMaterial* NewPhysMate...
)

Changes the current PhysMaterialOverride for this component.

Public function

void

 

SetReceivesDecals

(
    bool bNewReceivesDecals
)

Changes the value of bReceivesDecals.

Public function

void

 

SetRenderCustomDepth

(
    bool bValue
)

Sets the bRenderCustomDepth property and marks the render state dirty.

Public function

void

 

SetRenderInMainPass

(
    bool bValue
)

Sets bRenderInMainPass property and marks the render state dirty.

Public function

void

 

SetRigidBodyReplicatedTarget

(
    FRigidBodyState& UpdatedState,
    const FName BoneName
)

Applies RigidBodyState only if it needs to be updated NeedsUpdate flag will be removed from UpdatedState after all velocity corrections are finished

Public function Virtual

void

 

SetSimulatePhysics

(
    bool bSimulate
)

Sets whether or not a single body should use physics simulation, or should be 'fixed' (kinematic).

Public function

void

 

SetSingleSampleShadowFromStationaryLights

(
    bool bNewSingleSampleShadowFromStat...
)

Changes the value of bSingleSampleShadowFromStationaryLights.

Public function

void

 

SetTranslucentSortPriority

(
    int32 NewTranslucentSortPriority
)

Changes the value of TranslucentSortPriority.

Public function Virtual

void

 

SetUseCCD

(
    bool InUseCCD,
    FName BoneName
)

Set whether this component should use Continuous Collision Detection

Public function

void

 

SetViewOwnerDepthPriorityGroup

(
    bool bNewUseViewOwnerDepthPriorityG...,
    ESceneDepthPriorityGroup NewViewOwn...
)

Changes the value of bUseViewOwnerDepthPriorityGroup and ViewOwnerDepthPriorityGroup.

Public function Virtual

void

 

SetWalkableSlopeOverride

(
    const FWalkableSlopeOverride& NewO...
)

Sets a new slope override for this component instance.

Public function Const

bool

 

ShouldComponentAddToScene()

Looking at various values of the component, determines if this component should be added to the scene

Public function Virtual Const

const bool

 

ShouldGenerateAutoLOD

(
    const int32 HierarchicalLevelIndex
)

This function is used to create hierarchical LOD for the level.

Public function Virtual Const

bool

 

ShouldRecreateProxyOnUpdateTransform()

Determines whether the proxy for this primitive type needs to be recreated whenever the primitive moves.

Public function Virtual Const

bool

 

ShouldRenderSelected()

Return true if the owner is selected and this component is selectable

Protected function Virtual Const

bool

 

SupportsStaticLighting()

Whether the component type supports static lighting.

Public function Virtual

bool

 

SweepComponent

(
    FHitResult& OutHit,
    const FVector Start,
    const FVector End,
    const FQuat& ShapeWorldRotation,
    const FCollisionShape& CollisionSh...,
    bool bTraceComplex
)

Trace a shape against just this component.

Public function

void

 

SyncComponentToRBPhysics()

Move this component to match the physics rigid body pose.

Public function Virtual

void

 

UnWeldChildren()

Unwelds the children of this component. Attachment is maintained

Public function Virtual

void

 

UnWeldFromParent()

UnWelds this component from its parent component.

Public function Virtual

void

 

UpdateCollisionProfile()

Protected function Virtual

void

 

UpdatePhysicsToRBChannels()

Internal function that updates physics objects to match the component collision settings.

Public function Virtual Const

bool

 

UsesOnlyUnlitMaterials()

Returns true if only unlit materials are used for rendering, false otherwise.

Public function Virtual

void

 

WakeAllRigidBodies()

Ensure simulation is running for all bodies in this component.

Public function Virtual

void

 

WakeRigidBody

(
    FName BoneName
)

'Wake' physics simulation for a single body.

Public function Virtual

void

 

WeldTo

(
    USceneComponent* InParent,
    FName InSocketName
)

Welds this component to another scene component, optionally at a named socket.

Public function Virtual

bool

 

WeldToImplementation

(
    USceneComponent* InParent,
    FName ParentSocketName,
    bool bWeldSimulatedChild
)

Does the actual work for welding.

Overridden from USceneComponent

Name Description

Public function Virtual Const

ECollisionEn...

 

GetCollisionEnabled()

Returns the form of collision for this component

Public function Virtual Const

ECollisionCh...

 

GetCollisionObjectType()

Gets the collision object type

Public function Virtual Const

ECollisionRe...

 

GetCollisionResponseToChannel

(
    ECollisionChannel Channel
)

Gets the response type given a specific channel

Public function Virtual Const

const FColli...

 

GetCollisionResponseToChannels()

Return const reference to CollsionResponseContainer

Public function Virtual Const

FVector

 

GetComponentVelocity()

Get velocity of the component: either ComponentVelocity, or the velocity of the physics body if simulating physics.

Public function Virtual Const

const int32

 

GetNumUncachedStaticLightingInteractions()

Returns number of lighting interactions that need to be recalculated

Public function Virtual Const

bool

 

IsSimulatingPhysics

(
    FName BoneName
)

Returns whether the specified body is currently using physics simulation

Public function Virtual Const

bool

 

IsWorldGeometry()

Is this component considered 'world' geometry, by default checks if this uses the WorldStatic collision channel

Public function Virtual

bool

 

MoveComponentImpl

(
    const FVector& Delta,
    const FQuat& NewRotation,
    bool bSweep,
    FHitResult* Hit,
    EMoveComponentFlags MoveFlags,
    ETeleportType Teleport
)

Override this method for custom behavior for MoveComponent

Public function Virtual

void

 

OnAttachmentChanged()

Called when AttachParent changes, to allow the scene to update its attachment state.

Public function Virtual

void

 

OnUpdateTransform

(
    EUpdateTransformFlags UpdateTransfo...,
    ETeleportType Teleport
)

Native callback when this component is moved

Public function Virtual

void

 

UpdateBounds()

Update the Bounds of the component.

Public function Virtual

bool

 

UpdateOverlapsImpl

(
    const TOverlapArrayView* NewPe...,
    bool bDoNotifies,
    const TOverlapArrayView* Overl...
)

Queries world and updates overlap tracking state for this component.

Public function Virtual

void

 

UpdatePhysicsVolume

(
    bool bTriggerNotifiers
)

Update current physics volume for this component, if bShouldUpdatePhysicsVolume is true.

Overridden from UActorComponent

Name Description

Public function Virtual

void

 

BeginPlay()

Used to detach physics objects before simulation begins.

Public function Virtual

void

 

CheckForErrors()

Function that gets called from within Map_Check to allow this actor component to check itself for any potential errors and register them with map check dialog.

Public function Virtual

void

 

CreateRenderState_Concurrent()

Used to create any rendering thread information for this component

Public function Virtual

void

 

DestroyRenderState_Concurrent()

Used to shut down any rendering thread structure for this component

Public function Virtual Const

TStructOnSco...

 

GetComponentInstanceData()

Called before we throw away components during RerunConstructionScripts, to cache any data we wish to persist across that operation

Public function Virtual Const

bool

 

HasValidPhysicsState()

Used to check that DestroyPhysicsState() is working correctly

Public function Virtual

void

 

InvalidateLightingCacheDetailed

(
    bool bInvalidateBuildEnqueuedLighti...,
    bool bTranslationOnly
)

Called when this actor component has moved, allowing it to discard statically cached lighting information.

Public function Virtual

void

 

OnActorEnableCollisionChanged()

Called on each component when the Actor's bEnableCollisionChanged flag changes

Public function Virtual

void

 

OnComponentDestroyed

(
    bool bDestroyingHierarchy
)

Called when a component is destroyed

Public function Virtual

void

 

OnCreatePhysicsState()

Used to create any physics engine information for this component

Public function Virtual

void

 

OnDestroyPhysicsState()

Used to shut down and physics engine structure for this component

Public function Virtual

void

 

OnRegister()

Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called.

Public function Virtual

void

 

OnUnregister()

Called when a component is unregistered.

Public function Virtual

void

 

SendRenderTransform_Concurrent()

Called to send a transform update for this component to the rendering thread

Public function Virtual Const

bool

 

ShouldCreatePhysicsState()

Return true if CreatePhysicsState() should be called.

Overridden from UObject

Name Description

Public function Virtual

void

 

BeginDestroy()

Called before destroying the object.

Public function Virtual Const

bool

 

CanEditChange

(
    const UProperty* InProperty
)

Called by the editor to query whether a property of this object is allowed to be modified.

Public function Virtual

void

 

FinishDestroy()

Called to finish destroying the object.

Public function Virtual

void

 

GetResourceSizeEx

(
    FResourceSizeEx& CumulativeResourc...
)

Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific).

Public function Virtual Const

bool

 

IsEditorOnly()

Returns whether this component is an editor-only object or not

Public function Virtual

bool

 

IsReadyForFinishDestroy()

Called to check if the object is ready for FinishDestroy.

Public function Virtual Const

bool

 

NeedsLoadForClient()

Called during saving to determine the load flags to save with the object.

Public function Virtual Const

bool

 

NeedsLoadForServer()

Called during saving to determine the load flags to save with the object.

Public function Virtual

void

 

PostDuplicate

(
    bool bDuplicateForPIE
)

Called after duplication & serialization and before PostLoad.

Public function Virtual

void

 

PostEditChangeChainProperty

(
    FPropertyChangedChainEvent& Proper...
)

This alternate version of PostEditChange is called when properties inside structs are modified.

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostEditImport()

Called after importing property values for this object (paste, duplicate or .t3d import) Allow the object to perform any cleanup for properties which shouldn't be duplicated or are unsupported by the script serialization

Public function Virtual

void

 

PostInitProperties()

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.

Overridden from INavRelevantInterface

Name Description

Public function Virtual Const

FBox

 

GetNavigationBounds()

Get bounds for navigation octree

Public function Virtual Const

bool

 

IsNavigationRelevant()

Are modifiers active?

Typedefs

Name

Description

FSelectionOverride

Override delegate used for checking the selection state of a component

Constants

Name

Description

GlobalOverlapEventsCounter

Count of all component overlap events (begin or end) ever generated for any components.

NextComponentId

Next id to be used by a component.

Deprecated Variables

Name Description

Public variable

uint8: 1

 

bLightAsIfStatic_DEPRECATED

Replaced by LightmapType

Deprecated Functions

Name Description

Public function Virtual

void

 

AddAngularImpulse

(
    FVector Impulse,
    FName BoneName,
    bool bVelChange
)

Use AddAngularImpulseInRadians instead.

Public function

void

 

AddTorque

(
    FVector Torque,
    FName BoneName,
    bool bAccelChange
)

Use AddTorqueInRadians instead.

Public function Const

FVector

 

GetPhysicsAngularVelocity

(
    FName BoneName
)

Use GetPhysicsAngularVelocityInDegrees instead.

Public function

void

 

SetPhysicsAngularVelocity

(
    FVector NewAngVel,
    bool bAddToCurrent,
    FName BoneName
)

Use SetPhysicsAngularVelocityInDegrees instead.

Public function

void

 

SetPhysicsMaxAngularVelocity

(
    float NewMaxAngVel,
    bool bAddToCurrent,
    FName BoneName
)

Use SetPhysicsMaxAngularVelocityInDegrees instead.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback