Skip to content
CISV2.0GET IT ON FAB

GET STARTEDINTRODUCTION

Introduction

Character Interaction System lets a character use things in the world: doors, gates, levers, buttons, crates, hand scanners, pickups and code locks. You set up an object in the Details panel: the sides it can be used from, the states it has, how the character moves to it and what happens when it is used. The same setup works in single player and online: by default, the server checks every use a client asks for, and the use runs on the user’s machine, on the server and on every client that shows it.

SystemWhat it doesMain type
Character interaction componentGoes on the character: finds the objects in reach, picks the one to use and runs the hold and the use.UCISCharacterInteractionComponent
Interaction object componentMakes an actor usable: the sides it is used from, its state as a gameplay tag, and what each side does in each state.UCISInteractionObjectComponent
ActionsWhat a use does, such as playing a montage or picking up an item. A finished Action can set the object's next state.UCISInteractionObjectAction
Move handlersBring the character into place before or while the Action runs.UCISInteractionObjectMoveHandler
ConditionsDecide whether a character may use an object. The server can check them again before it accepts a use.UCISInteractionObjectCondition
Choosing the objectTests that score the objects in reach, so the character uses the best one.UCISDetermineUseObjectTest
Data objectsLink one character to one object it can use: the side it uses and Blueprint events at each stage of a use.UCISInteractionDataObject
Widgets and iconsShow an object's icon on screen with the widget component and the plugin's widgets.UCISWidgetComponent
Component referencesName a component of an actor, and a socket, in the Details panel; the plugin finds it at run time.FCISSceneComponentsOnActor
Animation helpersAttach a mesh to a socket for the length of an anim notify, and move a character with root motion.UCISAnimNotifyStateAttachMesh
MultiplayerWhere Actions and MoveHandlers run, how the server checks a use, and the project's network settings.ECISNetExecutionPolicy

The demo in /CharacterInteractionSystem/Demo has a character and ready objects built this way.

ModuleTypeWhat it holds
CharacterInteractionSystemRuntimeEverything a game uses: the components, Actions, MoveHandlers, Conditions, tests and settings.
CharacterInteractionSystemEditorEditorThe Details panel pickers for component references: a component of the actor and its socket.