The October Sale is here! Save 50% on select products now through October 24.

Interactive Flow (VR Controls extension)

GodeffroyValet - Sep 13, 2021
Not Yet Rated

Propagate signals at runtime along cables or anything else, triggering dynamic changes along the way, such as switching lights, openning doors, changing object materials, etc.

  • Supported Platforms
  • Supported Engine Versions
    4.27
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

Requires the VR Controls plugins !


Demo video

Tutorial


Propagate signals at runtime automatically and interactively. The plugin ships some signal emitters, recievers, and transmitters, but you can of course customize them or create your own.


Emitters could be buttons, terminals, pressure plates, events, etc. The plugin provides the following as examples :

  • A lever with 3 positions (top, bottom, middle) and two output plugs (top, bottom). This lever is VR compatible in several ways. First, it supports physics, so you can push it, grab it, throw physics object at it, etc. Then, it implements the InteractableInterface (from VR Controls), so it can be switched at a distance by pointing at it and pressing the trigger (VR motion controller), or clicking (mouse). The output plugs send signal 1 when the lever is switched toward them, else 0.


Receivers could be traps, machines, doors, etc. The plugin provides the following as examples :

  • A door which opens when its input plug receives 1 and shuts when it receives 0.
  • A light which lits up when its input plug receives 1 and shuts when it receives 0.


Transmitters could be wires, pipes, wireless, etc. The plugin provides the following as examples :

  • A first cable propagates the signal instantly from its input plug to its output plug. You can plug, unplug and move it at runtime. Signals are updated accordingly and propagated to all signal actors down the line. The plugs also change material when entering or leaving focus, such as when you are approaching another plug that can connect to it. Both plugs implement the InteractableInterface (from VR Controls), so they can be plugged/unplugged at a distance by pointing at them and pressing the trigger (VR motion controller), or clicking (mouse). They also support physics, so you can grab and move them around.
  • A second cable is the same except it propagates signals with a delay and lights up progressively from its input plug toward its output plug.
  • A signal multiplexer with one input plug and an output plug which can be connected to multiple outputs.

Technical Details

Features (BP=Blueprint, BPC=Blueprint Component):

- The SignalActor class (C++) is the base class of all Actors that can propagate a signal. The following derived classes are provided :

  • BP_SignalCable
  • BP_SignalCableDelayed
  • BP_SignalEmitter_Lever
  • BP_SignalReceiver_Door
  • BP_SignalReceiver_WallLight
  • BP_SignalMultiplexer

- The SignalPlugComponent (C++) is used to connect signal actors together. The following derived classes are provided :

  • BPC_InteractablePlug{In/Out}


Code Modules:

  •  InteractiveFlow (Runtime)


Number of Blueprints: 8

Number of C++ Classes: 2

Network Replicated: Not tested

Supported Development Platforms: Windows 10 (Should also work for other platforms)

Supported Target Build Platforms: Windows 10 (Should also work for other platforms)

Tested Hardware: Valve Index, Mouse/Keyboard (Should also work with other hardware)

Documentation: See the tutorial above for basic usage. Open the blueprints for customization.


Example Project: Coming soon.


Important/Additional Notes: This plugin works out of the box if you have the VR Controls plugin. If you don't have the VR Controls plugin, you will need additional work to link your own events and/or C++ code to this plugin.