Skip to content
CISV2.0GET IT ON FAB

GET STARTEDTHE DEMO

The demo

The plugin ships a demo map, /CharacterInteractionSystem/Demo/Levels/CISExampleMap. It has a playable character and about twenty interaction objects: doors, levers, a switch, a button, code locks, crates, a gate, a valve, a hand scanner and pick-up items. Open it to see each object work before you build your own, and to find the classes and tags you can reuse.

  1. In the Content Browser, open Settings and turn on Show Plugin Content and Show Engine Content.
  2. Open the map /CharacterInteractionSystem/Demo/Levels/CISExampleMap.
  3. Click Play. The demo character starts at the map’s player start. Walk up to an object: when the character can use it, the prompt E | INTERACT appears above it. Press E to use it.

The demo maps these keys and buttons through its input mapping /CharacterInteractionSystem/Demo/Input/IMC_CISDemo.

  • Move and look with the keyboard and mouse or with the gamepad, through IA_CISDemo_Move and IA_CISDemo_Look. Space jumps (IA_CISDemo_Jump), and Left Shift runs.
  • E uses the object in front of the character. Pressing E a second time interrupts a use that is set to stop on a second press. Letting go of E interrupts a use that is set to stop on release.
  • The gamepad’s bottom face button does the same as E.
  • V switches the camera, and 1 restarts the level.

The walls and the objects on the map are labelled with what they do. The table lists each object by its actor name on the map.

ObjectClassWhat it showsGuide
BP_InteractionDoorBP_InteractionDoorA door that opens and closes from either side, with a walk to the side’s point.Two-sided door
BP_InteractionDoor_LockedBP_InteractionDoor_LockedA door that stays closed until a lever on the map changes its state.Lever and locked door
BP_InteractionDoorWithoutAnimBP_InteractionDoorWithoutAnimA door that opens and closes on a timeline in its own graph, with sound actions instead of montages, and no walk to the door.
BP_Lever3, BP_Lever2BP_LeverA lever that is pulled and pushed back.Lever and locked door
BP_SimpleSwitcherBP_SimpleSwitcherA switch that clicks between off and on.Quick start
BP_Button2BP_ButtonA button that is pressed in. It changes colour with its state, between CIS.Button.SwitchOff and CIS.Button.SwitchOn.
BP_CodeLock2, BP_CodeLockWithAnimationBP_CodeLock, BP_CodeLockWithAnimationA code lock with a keypad. The second one also plays an animation.
BP_Crate, BP_Crate2BP_CrateA crate with a lid that opens and closes.
BP_GateBP_GateA gate that opens.
BP_HandScannerBP_HandScannerA palm scanner on the wall. The character plays one animation when it uses it, and the scanner has no state.
BP_Valve3BP_ValveA valve wheel that turns open and closed.
BP_TestPickItem and six more pick itemsBP_BasePickItemItems on shelves that the character picks up. A picked item is removed from the map.Pickup item
The demo map seen from above, with a grey floor, dark tiled walls and yellow shelves against one wall. Labels on the walls name the objects, including a gate, a crate and a lock.
The demo map from above. The labels on the walls name the objects.
The demo character walks beside a steel door on a dark tiled wall. Wall labels read DOOR, HAND SCANNER and VALVE, and a valve wheel is on the wall to the right.
A door and the labels of the objects along the wall.
The demo character bends over a dark lever on a metal base in a corner of the room, seen from behind and above.
A lever in the corner of the room.
The demo character reaches across two yellow shelves with gold balls on them. A valve wheel is on the wall to the left.
Pick-up items on shelves, with a valve on the wall.
The demo character's arm reaches to a keypad on the wall. The keypad shows the number 7, and wall labels read 7324 and ANIMATION.
Two code locks. The one on the right, labelled ANIMATION, is the one the character uses.
An open crate on the left of a grey room, with a door in the back wall. On a raised platform on the right, the demo character stands beside a pink-lit post, and a lever stands on the platform.
A crate, and a lever on a raised platform.

The demo classes are plugin assets in the folders below. Use them as they are, or as the parent of your own Blueprint.

Each group gives its folder under the plugin’s content root, CharacterInteractionSystem, which holds the demo.

  • Actions, folder Demo/Blueprints/InteractionObjectActions: BP_PlaySoundAction plays a sound (its Sound variable), BP_InteractionObjectActionPlayMontage plays a montage on the character and on the object, BP_InteractionObjectActionPickUp plays one of three pick-up montages, and BP_CodeLockAction is the code lock’s action.
  • Move handlers, folder Demo/Blueprints/InteractionObjecMoveHandlers: BP_BaseMoveHandler is the parent of the other two. BP_MoveToComponentMoveHandler walks the character to a component of the object, and BP_MoveToDistanceMoveHandler walks it a set distance (its Move Distance variable).
  • Conditions, folder Demo/Blueprints/InteractionObjectConditions: BP_InteractionObjectCondition_IsObjectRendered lets only BP_CISCharacter use an object, BP_InteractionObjectConditionDIstanceCheck checks the distance, and BP_InteractionObjectConditionTrace checks that the object is in sight.
  • Use test, folder Demo/Blueprints/DetermineUseObjectTests: BP_DetermineObjectTest_InCameraView scores objects by whether they were recently rendered, and reads the first-person camera of BP_CISCharacter. The distance test BP_DetermineObjectTest_Distance is in the folder Content/Blueprints, not in Demo.
  • Data objects: BP_CISDataObject, in folder Demo/Blueprints, is the data object of the demo character. BP_DataObject_LoackedDoor, in folder Demo/Blueprints/InteractionObjects, is the data object of the locked door.
  • Objects, folder Demo/Blueprints/InteractionObjects: the doors, lever, switch, button, code locks, crates, gate, hand scanner, valve and pick items. BP_InteractionDoor is built on BP_BaseInteractObject.
  • Character and game, folder Demo/Blueprints: BP_CISCharacter is the demo character, BP_CISGameMode is the demo game mode and BP_CISHUD is its HUD, which draws the E | INTERACT prompt.

The plugin defines these 17 tags in its runtime module, so they exist in every project that has the plugin. The demo uses them as object states. To use them in your own objects, pick them in the state fields; you do not need to add them to Project Settings › GameplayTags.

TagMeaning
CIS.Button.SwitchOffThe switch is off.
CIS.Button.SwitchOnThe switch is on.
CIS.CodeLock.ClosedThe code lock is closed.
CIS.CodeLock.OpenedThe code lock is open.
CIS.Crate.ClosedThe crate is closed.
CIS.Crate.OpenedThe crate is open.
CIS.Door.ClosedOnKeyThe door is locked. The demo’s locked door starts in this state.
CIS.Door.HasKeyToOpenDoorDeclared for doors. No demo object starts in it; the demo door’s Animation Blueprint compares the state with it.
CIS.Gate.ClosedThe gate is closed.
CIS.Gate.OpenedThe gate is open.
CIS.Lever.PulledThe lever is pulled.
CIS.Lever.PushedThe lever is pushed.
CIS.Object.Door.ClosedThe door is closed.
CIS.Object.Door.OpenedThe door is open.
CIS.Object.Valve.ClosedThe valve is closed.
CIS.Object.Valve.OpenedThe valve is open.
CIS.PickObject.PickedThe item has been picked up.
  • You can take the demo’s action, condition and data object classes, and its tags, into your own project. The tags come with the plugin. The move handlers work only with BP_CISCharacter.
  • The demo’s objects are tied to the demo character. Its move handlers move only BP_CISCharacter, and most demo objects have BP_InteractionObjectCondition_IsObjectRendered in Usable Conditions, which lets only BP_CISCharacter use them. The camera use test BP_DetermineObjectTest_InCameraView also reads the first-person camera of BP_CISCharacter, so it does not suit another character. Your own character cannot use these objects. Test your character with your own objects, as in Your own character.
  • The E | INTERACT prompt comes from BP_CISHUD, the demo game mode’s HUD. In your own game mode there is no prompt until you add one.