Unreal Kismet Reference
Document Summary: This document provides a reference for the different type of Sequence Objects in UnrealKismet.
Document Changelog: Created; maintained by Ray Davis.
Introduction
This document provides a reference for the various types of Sequence Objects that are used in the Kismet gameplay scripting tool. For more information about creating sequences using Kismet see the UnrealKismetUserGuide? and UnrealKismetTutorial?.
Sequence Object Reference
Actions
Actors
Actor Factory
This action is used to create certain assets in the world at the designers discretion. It takes at least 2 object variables, one null that the asset is assigned to, and can have multiple objects that act as locations to spawn the creature. Its properties allow the selection of type of asset factory, whether to spawn at multiple points in sequence or randomly, the number to spawn, and the delay between spawns. It also returns the name of the spawned actor. When spawning an AIController, it allows the selection of the type of pawn, what team the resulting spawned AI will be on, and what inventory to spawn the AI character with.
Actor Factory FX
Similar to Actor Factory, except there is an outbound "Spawned" node for each actor instead of only the most recently spawned actor. There is also a finished node for each spawned actor.
Assign Controller
This action allows you to override or specify what type of controller is being used with a given object. It takes an object variable as a target.
Attach To Actor
This action is used to monitor an object for certain events and then fire based on that event occurring. This is used most often in conjunction with Actor Factories where events need to be attached to actors that don't exist until runtime (ie adding a Death event to a spawned AI character).
Cause Damage
This action causes damage to all targeted actors, optionally can specify the damage type to use.
Change Collision
Allows you to change bBlockActors and/or bCollideActors to TRUE/FALSE on target actors.
Destroy
Destroys the targeted object when fired.
Get Distance
Returns the distance in Unreal Units (UU) between the "A" actor and "B" actor.
Get Velocity
Returns the velocity of the target actor.
Nuke
Forcefully removes the specified object(s) from the game world.
Set Material
Allows you to change the material assigned to a specified MaterialIndex on the targeted actor(s).
Set SkeletalMesh
Allows you to change the SkeletalMesh assigned to the targeted actor(s).
Set StaticMesh
Allows you to change the StaticMesh assigned to the targeted actor(s).
Teleport
Moves the targeted actors to the destination actor.
AI
Abort Move
Needs a description.
Move To Actor
Action for directing a targeted AI object to move to the specified destination object.
Move To Actor (Latent)
Similar to above. If the above does not work, try this one instead. Includes an option to specify what object a character should face as they walk the path.
Camera
Depth of Field
Allows you to Enable/Disable/Set DOF properties for the choosen target camera.
Look At
Makes the target camera look at a specified actor. You can also set the FOV and interpolation speed.
Set Camera Target
Changes the view target of the targeted actor, useful for non-matinee camera changes.
Cover
Modify Cover
Needs a description.
Event
Activate Remote Event
Allows you to "broadcast" a named event that you specify that will trigger any "Remote Event"s set to the same name. Very useful for passing along events across streamed level files.
Tip: you can also stuff an object that exists in one level as the instigator to pass along that object to be controlled by Kismet in another level that contains the "Remote Event".
Also See: Remote Event
Attach To Event
Allows a Kismet script to listen for an event when it occurs on the attachee. For example, an Attach to Event with the Attachee as an NPC pawn and Event connected to a Death event would occur when this pawn was killed.
Level
Change Level Visibility
Changes the visibility for the specified level.
Stream Level
Allows you to load or unload a specified level.
Trace
Needs a description.
Material Instance
Set ScalarParam
Needs a description.
Set TextureParam
Needs a description.
Set VectorParam
Used to modify the color of a material. For this to work properly you need to have a Material Instance Constant. A Material Instance Constant needs to have a material as a parent. Here are some steps to get you started.
Right click in the generic browser and create a new material. Double click the material to open the Material Editor. In the Material Editor create a VectorParameter, give it a default value, a parameter name and attach it to the diffuse input of the material. Close and save the material. In the Generic Browser right click and create a new Material Instance Constant, set the parent to be the material you just created. Under the VectorParameterValues you should see the parameter you defined in the material. Assign this Material Instance Constant to be the material for your static mesh. In Kismet on the event of your choosing, add the Set VectorParam action. Add your Material Instance Constant to the "MatInst" field. Under "ParamName" add the name of your vector param you used in the material. Under the VectorValue section, change the color value to the color of your choosing.
Misc
Console Command
Console Command allows you to pass a command from Kismet to the console.
Delay
Causes a delay in a sequence with a variable duration. Delays can be paused, restarted, and aborted.
Hot-Key: D+LeftMouseButton will place a Delay box where you clicked.
Finish Sequence
Used inside sub-sequences to expose named outputs to the level above the sequence.
Force Feedback
Allows you to apply a force feeback waveform to the controller.
Force Garbage Collection
Needs a description.
Gate
A Gate allows you to pass through a signal to the Out tab depending on the state of the gate. To change the state of the gate, send a signal to the Toggle input. To open or close the gate, send a signal to the Open or Close input, respectively. The Out tab will be active when there is an 'In' signal AND the gate is opened. This is useful to combine inputs, e.g.: If two conditions must occur for an action to be triggered. This can be achieved by opening the gate when Condition 1 is met and firing 'In' signal when Condition 2 is met.
Log
Writes the contents of all attached variables to the log, and optionally to the screen (bOutputToScreen). To expose a variable connector, right-click on the log action and add the variable connector of your choice. Then hook the var you want to print to that connector.
Timer
The timer allows you to send out a signal at a specified interval by setting the Time variable. The timer can be started and stopped.
ObjectList
Access Objectlist
This allows more control of Objectlist variables. You can get a random element in the list, or the first or last one, as well as a specific one using the index number. This allows for some fairly powerful concepts in Kismet such as LIFO and FIFO stacks!
IsIn Objectlist
This will check to see if the given object(s) are in the specified Objectlist variable.
Modify Objectlist
This will let you to add or remove objects from an Objectlist variable. You may also use this to clear the Objectlist.
Object Property
Get Property
Used to return a given object, int, float, string, or bool from the specified object. The output of a Get Property can in turn be fed into another Get Property if desired. This can be used to ascertain, for example, what StaticMesh is used for a given KActor (by first querying StaticMeshComponent, then StaticMesh).
Particles
Set Particle Param
Needs a description.
Pawn
Give Inventory
Gives a customizable inventory list to the targeted actors.
Possesses Pawn
Allows you to assign a controller from one pawn to another.
Physics
Set BlockRigidBody
Allows you set set the bBlockRigidBody property on the targeted actor(s).
Set Physics
Allows you set set the physics type on the targeted actor(s).
Set RigidBodyIgnoreVehicles
Allows you set set the bRigidBodyIgnoreVehicles property on the targeted actor(s).
Set Variable
Set Bool/Int/Float/Object/Vector
These actions are used to set the contents of attached variables to new values, and can be used to copy the contents of one variable to another.
Sound
Apply Sound Node
Attaches an audio component to the targeted actors, allowing a bit more control over the sound as it plays. Not recommended for heavy use (see PlaySound and AmbientSound for simple cases) since it's cumbersome to setup, but it can be handy for special cases where you need to tweak a specific property that wouldn't otherwise be exposed to Kismet.
CrossFadeMusicTracks
Needs a description.
Play Sound
Plays sound assigned in property editor at bottom of window. Targeting to an object variable will spatialize to that object.
Set Music Track
Needs a description.
Switch
Delayed
Similar to a switch, but automatically progresses to the next output after the number of seconds defined in the float variable attached to the Delay component.
Random
Similar to a switch, but randomly progresses to the next output.
Ranged
Allows you to specify multiple Int index ranges outputs.
Example: a range of 0 through 4 can be assigned to one output, 5-9 to another, and 10 to another.
Switch
Action has a definable number of outputs, and will increment to the next one every time it is fired. Change the LinkCount property to create/remove output links, and then when the switch is activated it looks at the Index variable (or Indices property) to determine which outputs should be activated.
* Note: You must create an integer variable with a value of "1" and attach it to the "Index" for the Switch to work correctly. *
Toggle
Toggle
Used to toggle certain actors, boolean values, or enable/disable events. Some actors that support the generic toggle action include: Emitter, KActor, KAsset, Light, NavigationPoint, PlayerStart, RB_XXXImpulseActor, SkeletalMeshActor, Volume.
Toggle Cinematic Mode
Needs a description.
Toggle God Mode
Enables, disables, or toggles the invulnerability of the given target(s).
Toggle Hidden
Toggles bHidden on the target actor(s).
Toggle HUD
Toggles the game's HUD interface.
Toggle Input
Allows movement and turning input to be toggled on the targeted players.
Matinee
Action for creating a Matinee. Double-click on the Kismet box to access the Matinee tool.
Conditions
Comparison
Compare Bool/Int/Float/Object
Splits the sequence dependent on the comparison of the attached variables. Int/Float also support more comparisons such as >, <, >=, and <=.
Counter
Counter Int/Float
Sequence passes through dependent on whether the counter Int variable is less than, equal to, or greater than the comparison Int variable. Increment value is defined in the properties for the element.
In Combat
Needs a description.
Same Team
Compares if the selected players are on the same team or not.
Server Type
Allows you to fire off a kismet signal based on the type of server running (Standalone, Dedicated Server, Listen Server).
Switch Class
Compares the given object with a list of classes specified in ClassArray. Useful for determining if an unknown object is of a particular class. Default node is always present and occurs if the object does not match any members in ClassArray.
Variable
Bool
Boolean value, valid states are True (1) and False (0)
External Variable
In sub-sequences, an external variable is a variable that can be passed into the sub-sequence from an outside source (i.e. the source that calls the sub-sequence). They inherit their type from what they are connected to in the sub-sequence. The VariableLabel is the name of the external variable as it appears in the sub-sequence box.
Float
Float
Floating point variable.
Random Float
A randomly choosen Float value between the specified Min and Max values.
Int
Int
Integer variable.
Random Int
A randomly choosen Int value between the specified Min and Max values.
Matinee Data
Special variable type designed to hold Matinee data, such as keyframes, tracks, etc. Enables different Matinee sequences to share the same data.
Named Variable
Allows you to pass the value of another variable into this variable based on matching the FindVarName with the VarName value assigned in the original variable.
Object
Object
Object variable, can be assigned to any object in the world, including ones created inside Kismet
Object List
Identical to an Object variable except that it can store multiple objects for easier referencing in Kismet.
Object Volume
Needs a description.
Player
Object variable specifying the player, should only be used as input as anything that attempts to change the value will be ignored.
String
String variable, can contain any combination of alphanumeric characters.
Event
Actor
Destroyed
Fired if the associated object is destroyed.
Take Damage
Fired when the target actor(s) take damage greater than the specified MinDamageAmount.
AI
See Enemy
Needs a description.
LevelLoaded and Visible
This will fire when the given level is loaded and visible.
Level Startup
This is fired once a game is started, NOT when the level is first loaded/game run. Use Sequence Activated if you need to start Kismet as soon as you run the game/load the level.
Misc
Console Event
Fired if the user uses the command `causeevent X' with X being the string defined in the properties for the event.
Pawn
Death
Fired off if the associated object's death occurs.
Get Inventory
Needs a description.
Line of Sight
Needs a description.
See Death
Occurs in the event of a death. Returns the victim, the killer, and any witnesses who saw the death occur.
Physics
Constraint Broken
Fires off when the target constraint is broken.
Mover
Needs a description.
Projectile Landed
Needs a description.
Rigid Body Collision
This event gets triggered when a rigid body collides. Have the Actor selecten when creating this node. Alternatively, right click the node in Kismet while having the actor selected in the scene, and select 'Assign ... To Event(s)'.
NOTE: The actors' bNotifyRigidBodyCollisions attribute needs to be set to true for it to generate Collision Events.
Touch
Fired if the player moves into the collision of the associated object. UnTouched occurs when the player leaves this collision.
Player
Player Spawned
Fired whenever a player is spawned into the world. It will return the player spawned as well as the spawn point.
Remote Event
Remote Event listens for the specified EventName to be called out from an Activate Remote Event action. Used mostly for passing along kismet singals and objects across level files when using level streaming.
Also See: Activate Remote Event
Sequence Activated
Used in subsequences to expose new inputs that can be used for more complex scripting. Add one to a subsequence, set the link name, and then use the new input link on the subsequence to feed in activation.
Used
Event is fired if player performs the `USE' function on the associated script. Deprecated / not functional in recent Unreal builds (as of 3/16/2006)?
Comment
Allows you to create a Comment box that you can use to border Kismet boxes and provide a description that stays visible when zooming out in the Kismet editor.
Hot-Key: C+LeftMouseButton after selecting Kismet boxes.