Features

Complete list of features.

Moving

  • Moving Actors/Cameras through designer Control Points.
  • Moving Actors/Cameras through Spline.
  • Moving Characters through designer Control Points (using Movement Component).
  • Moving Characters through Spline (using Movement Component or no).
  • Advance settings for pathfinding when moving on spline. 4 possible modes for performance or pathfinding quality.
    1. In simple mode you can additionally enable floor finding or not, which gives you extra opportunity with performance impact.
  • Support for Character movement types.
  • Moves for any kind of objects can be mixed between Control Points and Spline in the same path.
  • Move Order of every moving objects can be set alternately eg.
    1. One object move sequentially between Control Points
    2. Second object by spline on the same Control Points
    3. Third object move randomly between the same Control Points
  • Move Order has 3 different types of treating Control Points Priority.
  • Move Order can treat occupied or targetted next Control Point in 4 different behaviors.
  • In Move Order Randomly there is a possibility to setup nearest visible Control Points.
  • In Move Order Sequentially there is possible to setup whether movement is looping or not.
  • When object moving – it can occupy current Control Point in 3 different ways (Occupied Procedure). It is very important when design eg. group of AI on the same path.
  • During objects movement there can be a variety of 7 different types of rotation. Some of them working differently for Characters and for pure Actors or Cameras.
  • Movement to the next Control Point can be finished in random distance to it – this can make very natural random behavior
  • Movement can be rough or smooth or something between. You can easly change Characters Acceleration, Deceleration, Breaking Friction. If you prefer completly smooth move you can setup continuous movement without even one frame brake. In the other way if you prefer pixel-perfect precision, it’s also possible.
  • Setting movement speed for Characters and for a simple Actors or Cameras is possible. For simple Actors, Advanced Control Points Component partially replaces Movement Component but with a significant advantage in favor of performance.
  • Advanced Control Points System has 8 different Actions for movement. Every one of them has individual pack of fully configurable settings. System has also additional 4 different Actions for supporting movement.

Animation/Montage

  • Sequence Animation play on Characters
  • Sequence Animation Stop/Play Rate/Reverse/Notifiers/Looping and more
  • Sequence Animation reset possibility to default Animation Blueprint State (previous animation)
  • Montage play on Characters
  • Montage Stop/Play Rate/Reverse/Sections and more

Sounds

  • You can Play Sound 2D as raw audio or cue
  • Sound 2D can be setup by:
    1. Volume
    2. Pitch
    3. Start Time
    4. Concurrency settings
  • Sound 3D can be spawn as raw audio or cue
  • Sound 3D can be setup by:
    1. Volume
    2. Pitch
    3. Start Time
    4. Attenuation settings
    5. Concurrency settings

Particles

  • Spawn Particle Cascade with set of parameters.
    1. LIfespawn is implemented (officialy in unreal don’t exist)
  • Spawn Particle Niagara with set of parameters
    1. LIfespawn is implemented (officialy in unreal don’t exist)
  • Change existing Particle Cascade parameters:
    1. change template
    2. act on Emitter behavior in 4 possibilites: Activation/Deactivation/Reset
    3. set array of params in one of 11 types
    4. set array of beam params in one of 6 types
    5. act on Emitter trails in 3 possibilities, every with it’s own set of parameters
    6. set any particular Emitters Enable/Disable state
    7. set Custom Time Dilation
    8. set Seconds Before Inactive
  • Change existing Particle Niagara parameters:
    1. act on Emitter behavior in 4 possibilites: Activation/Deactivation/Reset
    2. set array of params in one of 31 types
    3. set Custom Time Dilation
    4. set Paused
    5. Reset Niagara System
    6. Set Destroy on system finish
    7. set Niagara Static Mesh
    8. set Texture 2D Array
    9. set Volume Texture
    10. set UObject Reader Property Remap
    11. set Skeletal Mesh Data Interface Sampling Regions
  • If you put Particle on the level and add Advanced Control Points Component to it, you can use any General or Pure Actor Action on in.

Spawning / Destroying Actions

  • Spawn any Actor with set of parameters
  • Spawn Sound 3D with set of parameters (mentioned in Sounds)
  • Spawn Particle Niagara (mentioned in Particles)
  • Spawn Particle Cascade (mentioned in Particles)
  • Every spawned Object has special set of parameters:
    1. Align method:
      1. To Concerned Actor (actor which running Spawn Action)
      2. To Control Point (current control point)
      3. To World (setting coordinates manually)
      4. To Scene Actor (chosen actor on the scene)
    2. Transform Offset: which add vector offset to any Align method Source
    3. Lifespan which set custom lifetime on any spawned object. Event if object type has not implemented this possibilities in unreal (eg. Particles)
    4. Object Related Behavior: decide whether to destroy spawned object when spawning actor destroy or ignore
  • Destroy array of Actors on the level
  • Destroy Actor which run special Action
  • Destroy Actor which run special Action but only NOT visible by current camera
  • Destroy All Related Objects which were spawned by this Actor

Rotating

  • Rotating as general behavior during movement between Control Points is implemented by “Rotation Procedure”:
    1. Ignore rotation – Completly ignore rotation of Cameras and pure Actors but Characters have their own movement component, so they will be rotated towards movement direction.
    2. Look Instantly in the Custom Direction – Object instantly and permanently look into one point in space
    3. Look Instantly in the Direction of Movement – Object instantly and permanently look in the direction of movement with desired offset
    4. Look Instantly in the Direction of Object – Object instantly and permanently look in the direction of custom object in the level. Object we are looking at can move.
    5. Look Smoothly in the Custom Direction – Object smoothly with specific Rotation Rate look into one point in space. If direction of movement will rapidly change then actor rotation will also adapt smoothly in time.
    6. Look Smoothly in the Direction of Movement – Object smoothly with specific Rotation Rate look in the direction of movement with desired offset. If direction of movement will rapidly change then actor rotation will also adapt smoothly in time.
    7. Look Smoothly in the Direction of Object – Object smoothly with specific Rotation Rate look the direction of custom object in the level. If direction of movement will rapidly change then actor rotation will also adapt smoothly in time. Object we are looking at can move.
  • Rotating can be also implemented as Action:
    1. Rotate to the custom angle with custom Rotation Rate.
    2. Rotate to the desired object with custom Rotation Rate. Object we are looking at can move.
    3. Rotate infinitely with custom speed in selected, random or infinite amount of time.

Flow of actions

  • Generally Actions are core of design in Advanced Control Points System. 90% of functionalities are in Actions. You can freely manipulate them, rearrange their order, manipulate if they run or no.
  • Normally Actions run sequentially but you can change it by Action “Back to Action”
  • You also can change order of running action by variables First Execution and Max Executions, which give you control when first time Action will run and how many times it run.
  • Using Trigger or manually you can run concurrent action on selected group of Actors

Easy to plug-in your custom code everywhere

  • Every crucial part of a system have Event Dispatchers called on every important situation:
    1. Component (6 Event Dispatchers)
    2. Control Point (2 Event Dispatchers)
    3. Spawn Point (3 Event Dispatchers)
    4. Trigger (2 Event Dispatchers)
    5. Every Action (2 Event Dispatchers)

Control Points

  • Control Points are part of the core of design in Advanced Control Points System. They are constructed as independent and very fast actor for placing them on the level. They are 3D points on which paths or splines are built. In most cases Actors/Cameras/Characters will walking/flying/swimming/driving/etc between them.
  • Every particular Control Point has array of Actions to run when some Actor will come to it.
  • Every particular Control Point has Maximum possible actors concurrently occupied it.
  • Every particular Control Point has Priority which is usefull when using Random Move Order with taking into account the priority.
  • Every particular Control Point has range in which actor heading to it accept to stop moving and start occupy.
  • Every particular Control Point has possibility to Override Settings of concerning Actor. This can be useful when we need to redirect Actor to another path or simply change some Advanced Control Points Component settings.

Trigger

  • Trigger is an independent actor on the level. It can exist in with:
    1. Box Collision
    2. Sphere Collision
    3. without collision (use this kind of Trigger to manually run its tasks)
  • Trigger has counter of maximum activations.
  • Core of the Trigger are Tasks:
    1. Start – Start Advanced Control Points System in selected Actors, Spawn Points or all Actors spawned by Spawn Points.
    2. Stop – Stop Advanced Control Points System in selected Actors. Spawn Points or all Actors spawned by Spawn Points
    3. Destroy – Destroy all selected Actors or all Actors spawned by chosen Spawn Points
    4. Player Enable Input – Enable or Disable player input (usable for starting sequence)
    5. Settings Override – Change settings of all selected Actors or all Actors spawned by chosen Spawn Points
    6. Run Action – Run Concurrent Action on all selected Actors or all Actors spawned by chosen Spawn Points
    7. Modify Trigger – for modify any selected Trigger setting runtime easly
    8. Print String – Print debug string on screen and to log

Spawn Point

  • Spawning any Actors/Characters/Cameras from the array on the basis of Spawn Chooser in one of the manner:
    1. Sequentially – which one by one spawn selected class of Actor with possibility of looping or not
    2. Random – which randomly select class of Actor from array
  • Spawning time is chosen by Spawn Triggerator in one of the manner:
    1. Custom Interval – when you fulfill array of custom times
    2. Randomized Interval – when time is randomized between Min and Max with special Stard Delay. Also Maximum spawn number is available option.
  • Spawn Positioner parameter gives you a choice of 14 possibilites to randomly spawn in specific region:
    1. Point
    2. Ball
    3. Circle
    4. Circumference of Circle
    5. Cuboid
    6. Edges of Cuboid
    7. Surface of Cuboid
    8. Cylinder
    9. Quadrilateral
    10. Edges of Quadrilateral
    11. Line
    12. Line between Points
    13. Sphere
    14. Spline
  • Spawn Rotator parameter gives you a choice of 6 possibilities to decide of newly spawner object rotation:
    1. Fixed
    2. Same as Spawn Point
    3. To Object
    4. Forward Vector from Spawn Point (to position of newly spawned Actor)
    5. Forward Vector to Spawn Point (from position of newly spawned Actor)
    6. Random
      In Every above possibilities you also have internal parameters eg. random in cone of selected rotation.
      Rotation can be set separately for every axis.
  • Maximum Number of Concurrent Actors – is a special functionality which limits number of currently existing Actors on the scene spawned by this particular Spawn Point
  • When spawning class don’t have Advanced Control Points Component, then is added automatically.
  • When spawning class inherits from Pawn and don’t have AIController – then it’s automatically added to it from previously chosen parameter.
  • For spawed Actor also can be set Life Span and Collision on Spawn.
  • Main portion of settings of Spawn Point are settings for Advanced Control Points Component: Move Order, Occupied Procedure, Rotation Procedure, Control Points, Begin Actions.
  • Special Button Visualize Positioner Area show for short amount of time current Spawn Positioner area of spawning
  • Special Button Visualize Control Points show for short amount of time current Control Points mentioned in this Spawn Point

Validation

  • Validating any particular Action parameters
  • Validating any particular Control Point parameters with selected Actions
  • Validating any particular Spawn Point parameters with selected Control Points and Begin Actions
  • Validating any particular Advanced Control Points Component parameters with selected Control Points and Begin Actions
  • Internal Validating is also build in into Settings Override, Spawn Chooser, Spawn Triggerator, Occupied Procedure, Rotation Procedure and Move Order
  • In Global Manager by one click you can:
    1. Validate all Control Points on level
    2. Validate all Spawn Points on level
    3. Validate all Actors with Advanced Control Points Component on the level
  • Every Validating result is written out to the log
  • Every Control Point, Spawn Point and Component has bool “Is Should Validate”:
    1. TRUE – on Advanced Control Points System start (mostly on begin play) object is validating – and if pass validation then run normally. If do not pass validation then do not start the System and print error to log.
    2. FALSE – nothing is validating, nothing is checked. But if you configurate something wrong: your project can working bad or even crash.
  • In Global Manager by two clicks you can change parameters “Is Should Validate” on all objects on the level. This is very usefull when prepare shipping version and don’t want validate on begin play in builded version for performance.

Visualizers

  • Special Button Visualize Control Points show for short amount of time current Control Points mentioned in selected Component or Spawn Point
  • Special Button Visualize Positioner Area show for short amount of time current Spawn Positioner area of spawning in selected Spawn Point

Global Manager Window

  • Global Manager is a special window for parametrize every object on the level, validate all or change general settings. Window has 6 tabs:
    1. General
      • Change general settings of whole Advanced Control Points System
    2. Control Points
      • Validate all Control Points
      • Refresh all Control Points style
      • Change selected parameters on all Control Points
      • Create default style for newly put Control Points on the scene
    3. Spawn Points
      • Validate all Spawn Points
      • Refresh all Spawn Points style
      • Change selected parameters on all Spawn Points
      • Create default style for newly put Spawn Points on the scene
    4. Actors
      • Validate all Actors with Advanced Control Points Component
      • Change selected parameters on all Actors with Advanced Control Points Component
    5. Splines
      • Refresh all splines positions depends on selected Points of every Spline
      • Refresh all Splines style
      • Change selected parameters on all Splines
      • Create default style for newly put Splines on the scene
    6. Triggers
      • Refresh all Triggers collision
      • Change selected parameters on all Triggers

Easy to extend and modular

  • Whole Advanced Control Points System is Modular and very easy to extend. In fact is desined to be extended for any kind of project. So ease of expandability is the primary and core functionality of the plugin.
  • Most of the choices and functionalities are made by specially designed UObjects. So that you can add new functionality simply by doing child of proper Base Class. Advanced Control Points System automatically detect new object in project and become instantly available. Here are the the possibilities:
    1. Action
    2. Move Order
    3. Occupied Procedure
    4. Rotation Procedure
    5. Settings Override
    6. Spawn Chooser
    7. Spawn Triggerator
    8. Styles of Control Points, Spawn Points, Splines and Spline Points
    9. Trigger Collision
    10. Trigger Task
  • Whole C++ code and Blueprint are very well commented. Starting with self-describing names, going through sophisticated tooltips and comments in code and ending with good arranged blueprint nodes. So write something new to core functionality is also very easy.

Other features

  • Action “Set Skeletal Mesh Material” on Character
  • Action “Player Change Camera” – blend player camera to new target (very useful for sequences)
  • Action “Player Enable Input” – Enable/Disable player input
  • Action “Print String” – print debug message on screen and to log
  • Action “Set Actor Parameters” – change some Actors parameters
  • Action “Trigger” duplicate some functionality of external Trigger
  • Action “Modify Trigger” – change settings of any selected Trigger
  • Action “Wait”
  • Action “Execute Console Command”
  • System is designed to be inherited (eg. useful when want to extend functionality)
  • Blueprint Function Library and Blueprint Macro Library have 40 new functions and macros designed for many purpose to speed up development.
  • Advanced Control Points System can be easly integrated with Behavior Tree. But if you won’t it’s an independent AI moving system.

If you think something is missing here, adding it requires only a simple knowledge of blueprints.

You can also request it in the contact form and chances are there will be new functionality in the official release of Advanced Control Points.