The Quest system is used to unlock various skills, provide experience/skill points and to progress through the game. Each quest can have multiple objectives and optionally include way points that will show up on the compass.
Objectives are modular and may be reused in any quest, for example, returning to a particular character after doing a task, or completing a previous objective. Objectives can be completed by performing specific tasks, which the objectives themselves will be monitoring, as they are blueprints with C++ base classes, they have all the required functionality of any other blueprints. Once all objectives are completed, the Quest itself is completed and any skill/experience points awarded.
Objectives include showing an information popup once the objective has spawned, so the player knows what the current objective is, but also it will update the journal and active quest UI, to indicate which objective is currently active. The below image is a test level, with test characters and a test Quest, with the first objective active.
The InterpActors allow for any mesh, or hierarchy of meshes to have local transformations ( translation, rotation and scale ) interpolated over time, at different, or a constant speed, and by cycling through, or ping-ponging between the beginning and end transforms. It may also be setup to act and interpolate with triggers for opening, and auto closing after a set time using these blueprints.
The DirectMoveActors can move any character, including AI in a specific direction, at a specific speed, and when combined, will increase the movement speed as they move through the objects based on triggers / overlap spheres.