Gah - a solution with more questions. – EntropicLqd

UE3:Actor events (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> Actor (events)


Actor events in other games:
RTNP, U1, UT, U2, U2XMP, UE2Runtime, UT2003, UT2004, UT3
Other member categories for this class:
enums, instance functions, internal variables, native functions, structs



simulated event AnimTreeUpdated (SkeletalMeshComponent SkelMesh)

Notification called when one of our meshes gets his AnimTree updated


event Attach (Actor Other)

Called on this Actor when another Actor used SetBase() to set this to it's Base.


  • Other is the Actor who changed it's Base.


event BaseChange ()

Called when we get our Base set to something else than it was before. This is also called during the destruction process of this Actor.


event BecomeViewTarget (PlayerController PC)

Called when a PlayerController used SetViewTarget() to focus us.


  • PC is the PlayerController focusing us.


event BeginAnimControl (InterpGroup InInterpGroup)

Called when we start an AnimControl track operating on this Actor. Supplied is the set of AnimSets we are going to want to play from.


event BroadcastLocalizedMessage (class<LocalMessageInMessageClass, optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject)


event BroadcastLocalizedTeamMessage (int TeamIndex, class<LocalMessageInMessageClass, optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject)


event Bump (Actor Other, PrimitiveComponent OtherComp, Object.Vector HitNormal)

If bBlockActors or bBlockPlayers is on, this event function gets called for both objects. This event function gets called by the engine only once - at the initial time of the collision.


event CollisionChanged ()

Called when collision values change for this actor (via SetCollision/SetCollisionSize).


simulated event ConstraintBrokenNotify (Actor ConOwner, RB_ConstraintSetup ConSetup, RB_ConstraintInstance ConInstance)

When a constraint is broken we will get this event from c++ land.


event DebugFreezeGame (optional Actor ActorToLookAt)

Debug Freeze Game dumps the current script function stack and pauses the game with PlayersOnly (still allowing the player to move around).


event Destroyed ()

Called during the destruction of the Actor via Destroy().


event Detach (Actor Other)

Called if another Actor uses SetBase() and sets his new Base to another Actor and we were the old Base before. Also called during the destruction of an Actor.


  • Other is the Actor who changed it's Base.


event EncroachedBy (Actor Other)

Called when we get pushed somewhere and there isn't enough space at this location for us to exist.


  • Other is the Actor who pushed us into the encroached location.


event bool EncroachingOn (Actor Other)

Called when this Actor is encroaching on Other and we couldn't find an appropriate place to push Other to


true to abort the move, false to allow it


  • Other is the Actor whe are encroaching on.

Warning: do not abort moves of PHYS_RigidBody actors as that will cause the Unreal location and physics engine location to mismatch


event EndViewTarget (PlayerController PC)

Called when a PlayerController uses SetViewTarget() to focus another Actor or none and we were focused before.


  • PC is the focusing PlayerController.


event Falling ()

Called once when we enter PHYS_Falling.


simulated event FellOutOfWorld (class<DamageTypedmgType)

Called when the actor falls out of the world 'safely' (below KillZ and such)


event FinishAnimControl (InterpGroup InInterpGroup)

Called when we are done with the AnimControl track.


event ForceNetRelevant ()

Forces this actor to be net relevant if it is not already by default, only works on level placed actors (bNoDelete)


event GainedChild (Actor Other)

Called when another Actor used SetOwner() to set ourself as it's Owner. Happens also if we specify the Owner while spawning the Actor.


  • Other is the Actor who is now owned by us.


simulated event GetActorEyesViewPoint (out Object.Vector out_Location, out Object.Rotator out_Rotation)

Returns the point of view of the actor. Note that this doesn't mean the camera, but the 'eyes' of the actor. For example, for a Pawn, this would define the eye height location, and view rotation (which is different from the pawn rotation which has a zeroed pitch component). A camera first person view will typically use this view point. Most traces (weapon, AI) will be done from this view point.


  • out_Location - location of view point
  • out_Rotation - view rotation of actor.


event FaceFXAsset GetActorFaceFXAsset ()

Used by Matinee in-game to mount FaceFXAnimSets before playing animations.


simulated event AudioComponent GetFaceFXAudioComponent ()

Function for allowing you to tell FaceFX which AudioComponent it should use for playing audio for corresponding facial animation.


event bool HealDamage (int Amount, Controller Healer, class<DamageTypeDamageType)

The reverse of TakeDamage(); heals the specified amount


  • Amount - The amount of damage to heal
  • Healer - Who is doing the healing
  • DamageType - What type of healing is it


event HitWall (Object.Vector HitNormal, Actor Wall, PrimitiveComponent WallComp)

If bCollideWorld is on, this event function gets called by the engine, letting the object know the normal to the collision plane between the level polygon and the object (the HitNormal points towards the object), as well as an Actor reference, which would let you know a couple things - if HitWall == WorldInfo, you've hit normal level geometry.


simulated event InterpolationChanged (SeqAct_Interp InterpAction)

called when a SeqAct_Interp action affecting this Actor received an event that changed its properties (paused, reversed direction, etc)


  • InterpAction - the SeqAct_Interp that is affecting the Actor

Note: this function is called on clients for actors that are interpolated clientside via MatineeActor


simulated event InterpolationFinished (SeqAct_Interp InterpAction)

called when a SeqAct_Interp action finished interpolating this Actor


  • InterpAction - the SeqAct_Interp that was affecting the Actor

Note: this function is called on clients for actors that are interpolated clientside via MatineeActor


simulated event InterpolationStarted (SeqAct_Interp InterpAction)

called when a SeqAct_Interp action starts interpolating this Actor via matinee


  • InterpAction - the SeqAct_Interp that is affecting the Actor

Note: this function is called on clients for actors that are interpolated clientside via MatineeActor


event Landed (Object.Vector HitNormal, Actor FloorActor)

If the object physics is PHYS_Falling, this event function gets called by the engine when the object lands on level geometry while falling.


  • HitNormal is the surface normal of the level geometry landed on.


event LostChild (Actor Other)

Called when one of our child Actors changed it's Owner or was destroyed.


  • Other - The Actor that changed his Owner.


simulated event ModifyHearSoundComponent (AudioComponent AC)

called when a sound is going to be played on this Actor via PlayerController::ClientHearSound() gives it a chance to modify the component that will be used (add parameter values, etc)


simulated event NotifySkelControlBeyondLimit (SkelControlLookAt LookAt)


event OnAnimEnd (AnimNodeSequence SeqNode, float PlayedTime, float ExcessTime)

Event called when an AnimNodeSequence (in the animation tree of one of this Actor's SkeletalMeshComponents) reaches the end and stops. Will not get called if bLooping is 'true' on the AnimNodeSequence. bCauseActorAnimEnd must be set 'true' on the AnimNodeSequence for this event to get generated.


  • SeqNode - Node that finished playing. You can get to the SkeletalMeshComponent by looking at SeqNode->SkelComponent
  • PlayedTime - Time played on this animation. (play rate independant).
  • ExcessTime - how much time overlapped beyond end of animation. (play rate independant).


event OnAnimPlay (AnimNodeSequence SeqNode)

Event called when a PlayAnim is called AnimNodeSequence in the animation tree of one of this Actor's SkeletalMeshComponents. bCauseActorAnimPlay must be set 'true' on the AnimNodeSequence for this event to get generated.


  • SeqNode - Node had PlayAnim called. You can get to the SkeletalMeshComponent by looking at SeqNode->SkelComponent


event OnRanOver (SVehicle Vehicle, PrimitiveComponent RunOverComponent, int WheelIndex)

Called each frame (for each wheel) when an SVehicle has a wheel in contact with this Actor. Not called on Actors that have bWorldGeometry or bStatic set to TRUE.


simulated event OnRigidBodySpringOverextension (RB_BodyInstance BodyInstance)

Notification forwarded from RB_BodyInstance, when a spring is over extended and disabled.


event OnSleepRBPhysics ()

RigidBody went to sleep after being awake - only valid if bCallRigidBodyWakeEvents==TRUE


event OnWakeRBPhysics ()

RigidBody woke up after being stationary - only valid if bCallRigidBodyWakeEvents==TRUE


simulated event OutsideWorldBounds ()

called when the Actor is outside the hard limit on world bounds

Note: physics and collision are automatically turned off after calling this function


simulated event bool OverRotated (out Object.Rotator out_Desired, out Object.Rotator out_Actual)

Called by ClampRotation if the rotator was outside of the limits


event PhysicsVolumeChange (PhysicsVolume NewVolume)

Called when an Actor leaves a PhysicsVolume or enters a new one.


  • NewVolume - The PhysicsVolume that we entered now.


event bool PlayActorFaceFXAnim (FaceFXAnimSet AnimSet, string GroupName, string SeqName, SoundCue SoundCueToPlay)

Play FaceFX animations on this Actor. Returns TRUE if succeeded, if failed, a log warning will be issued.


event PlayParticleEffect (const AnimNotify_PlayParticleEffect AnimNotifyData)

Called by AnimNotify_PlayParticleEffect Looks for a socket name first then bone name


  • AnimNotifyData - The AnimNotify_PlayParticleEffect which will have all of the various params on it


event PostBeginPlay ()

Called by the engine pretty soon after the Actor has been spawned or the game has begun.

Most actors use PostBeginPlay() to initialize their UnrealScript values. The actor's PhysicsVolume and Zone are valid but the actor is not yet in any State.


simulated event PostDemoRewind ()

called on all dynamic or net relevant actors after rewinding a demo primarily used to propagate properties to components, since components are ignored for rewinding


event PostInitAnimTree (SkeletalMeshComponent SkelComp)

called after initializing the AnimTree for the given SkeletalMeshComponent that has this Actor as its Owner this is a good place to cache references to skeletal controllers, etc that the Actor modifies


simulated event PostRenderFor (PlayerController PC, Canvas Canvas, Object.Vector CameraPosition, Object.Vector CameraDir)

This function is only called if the Actor is visible as determined by the LocalPlayer's GetActorVisibility function, or either if bPostRenderIfNotVisible is true. To use this functionality your HUD instance must have bDrawOverlays set to true and your Actor must have registered itself by calling its player HUD AddPostRenderedActor function.

This function is called by NativePostRenderFor whom's origin is instigated by the HUD class.


event PostTouch (Actor Other)

Called for PendingTouch Actor after physics completes.


event PreBeginPlay ()

One of the very first functions that gets called after the game started.

The Actor's location and rotation has been set, it's PhysicsVolume to the DefaultPhyiscsVolume, the WorldInfo is already referenced, the Instigator and Owner are set if the Actor has been spawned during the game and physics are already initialized.


event RanInto (Actor Other)

Called if Other collided with this actor while moving.


simulated event ReceivedNewEvent (SequenceEvent Evt)

Called by SeqAct_AttachToEvent when a duplicate event is added to this actor at run-time


simulated event ReplicatedDataBinding (name VarName)

Called when a variable is replicated that has the 'databinding' keyword.


  • VarName - the name of the variable that was replicated.


simulated event ReplicatedEvent (name VarName)

Called whenever a variable is replicated that has the modifier RepNotify.


  • VarName The name of the variable that got replicated. It is recommend to use NameOf whenever possible.


simulated event ReplicationEnded ()

called ONLY for bNoDelete Actors on the client when the server was replicating data on this Actor, but no longer considers it relevant (i.e. the actor channel was destroyed) for !bNoDelete Actors this results in destruction, so cleanup code can be done there, but bNoDelete Actors just keep going with whatever data was last received, so this is their chance to perform any cleanup


event Reset ()

Reset actor to initial state - used when restarting level without reloading.


event RigidBodyCollision (PrimitiveComponent HitComponent, PrimitiveComponent OtherComponent, const out CollisionImpactData RigidCollisionData, int ContactIndex)

Called when a PrimitiveComponent this Actor owns has:

   -bNotifyRigidBodyCollision set to true
   -ScriptRigidBodyCollisionThreshold > 0
   -it is involved in a physics collision where the relative velocity exceeds ScriptRigidBodyCollisionThreshold


  • HitComponent - the component of this Actor that collided
  • OtherComponent - the other component that collided
  • RigidCollisionData - information on the collision itslef, including contact points
  • ContactIndex - the element in each ContactInfos' ContactVelocity and PhysMaterial arrays that corresponds to this Actor/HitComponent


simulated event RootMotionExtracted (SkeletalMeshComponent SkelComp, out Object.BoneAtom ExtractedRootMotionDelta)

Notification called after root motion has been extracted, and before it's been used. This notification can be used to alter extracted root motion before it is forwarded to physics. It is only called when bRootMotionExtractedNotify is TRUE on the SkeletalMeshComponent.

Note: It is fairly slow in Script, so enable only when really needed.


simulated event RootMotionModeChanged (SkeletalMeshComponent SkelComp)

Notification that root motion mode changed. Called only from SkelMeshComponents that have bRootMotionModeChangeNotify set. This is useful for synchronizing movements. For intance, when using RMM_Translate, and the event is called, we know that root motion will kick in on next frame. It is possible to kill in-game physics, and then use root motion seemlessly.


simulated event byte ScriptGetTeamNum ()

Returns 255 in it's default implementation. This gets called by the default implementation of GetTeamNum().


event SetAnimPosition (name SlotName, int ChannelIndex, name InAnimSeqName, float InPosition, bool bFireNotifies, bool bLooping)

Called each from while the Matinee action is running, with the desired sequence name and position we want to be at.


simulated event SetInitialState ()

Called directly after PostBeginPlay().

At this point the actor is concidered "initialized" by the engine (bScriptInitialized is set to True in this event) and the actor's initial state is set. If the InitialState property is set, it will be used, otherwise the actor goes to its auto state. Since SetInitialState() is a simulated function by default this happens on server and clients.

This event uses GotoState to change the state, so during its executing the initial state's BeginState() event is called. The state's state code will however not yet start executing at this point. This will happen after all the events described on this page have finished doing their work.


event SetMorphWeight (name MorphNodeName, float MorphWeight)

Called each frame by Matinee to update the weight of a particular MorphNodeWeight.


event SetSkelControlScale (name SkelControlName, float Scale)

Called each frame by Matinee to update the scaling on a SkelControl.


simulated event ShutDown ()

ShutDown an actor.


event SpawnedByKismet ()

called when this Actor was spawned by a Kismet actor factory (SeqAct_ActorFactory) after all other spawn events (PostBeginPlay(), etc) have been called


event Actor SpecialHandling (Pawn Other)


event StopActorFaceFXAnim ()

Stop any matinee FaceFX animations on this Actor.


event TakeDamage (int DamageAmount, Controller EventInstigator, Object.Vector HitLocation, Object.Vector Momentum, class<DamageTypeDamageType, optional TraceHitInfo HitInfo, optional Actor DamageCauser)

apply some amount of damage to this actor


  • DamageAmount - the base damage to apply
  • EventInstigator - the Controller responsible for the damage
  • HitLocation - world location where the hit occurred
  • Momentum - force caused by this hit
  • DamageType - class describing the damage that was done
  • HitInfo - additional info about where the hit occurred
  • DamageCauser - the Actor that directly caused the damage (i.e. the Projectile that exploded, the Weapon that fired, etc)


event Tick (float DeltaTime)

Called by the engine whenever time passes (i.e. on every frame when the game updates) for all Actors that have bStatic = False.


  • DeltaTime - the time that has passed since the last Tick().


event Timer ()

Called by the engine after a countdown set by SetTimer() reached 0. The Actor must be bStatic = False in order to get this called.


event TornOff ()

Called when the Actor gets torn off by TearOff(). Tearing an Actor off means that it breaks all replication connections so that it is now simulated on each client individually. This was for example used in older engine implementations for the ragdolls, causing them to have different locations on each client.


event Touch (Actor Other, PrimitiveComponent OtherComp, Object.Vector HitLocation, Object.Vector HitNormal)

If bCollideActors is on, this event function gets called by the engine for both objects. This event function gets called every Tick() that the collision still occurs. When collision happens the first time, there is an array of actors, called Touching[], which is a list of other actors touching this one. Other is put into the array if it isn't already there by native code. Touching[] is defined as const, meaning you cannot manually change any values of the array within UScript.

Touch() gets called by Volumes when a new Actor enters them.


  • Other - The Actor we are touching.


event TrailsNotify (const AnimNotify_Trails AnimNotifyData)

Called by AnimNotify_Trails


  • AnimNotifyData - The AnimNotify_Trails which will have all of the various params on it


event TrailsNotifyEnd (const AnimNotify_Trails AnimNotifyData)

Called by AnimNotify_Trails


  • AnimNotifyData - The AnimNotify_Trails which will have all of the various params on it


event TrailsNotifyTick (const AnimNotify_Trails AnimNotifyData)

Called by AnimNotify_Trails


  • AnimNotifyData - The AnimNotify_Trails which will have all of the various params on it


event UnTouch (Actor Other)

If bCollideActors is on, this event function gets called by the engine for both objects. This event function is called when colliding objects are no longer colliding (as soon as the collision isn't occuring any more, this even function is called, but only once).

Touch gets called by Volumes when an Actor leaves them.


  • Other - The Actor that is no longer touching us.