Search…
⌃K

Adding Interactivity

Reactor is Mona's approach to interactivity as custom scripting is currently not supported due to security concerns in a WebGL environment.
If you feel you have a good understanding of the Unity Animation and Animator tools, you could jump to Reactor Overview in order to go over the Reactor process.

What is Reactor?

The Reactor system allows you to use an event to trigger an animation on an asset.
In a little more detail, an event (a player walking into a collider) would trigger a command in the Reactor component (the Mona Reactor script) to change a parameter (that the builder sets) in the Unity Animator component (or the location where all the animations on an asset reside) that then plays a specific animation.
The Reactor System
There are several parts to the Reactor system and understanding each is important to setting up an interactive element. That said, once you understand these elements the scope of your spaces increases significantly.
The two main areas that you will need to understand is :
  • Reactor component + colliders
  • Animation + Animator component
The Reactor component will check for events in regard to a collider. This could include the player interacting, walking into or away from, looking at or away from a collider for example.
Once triggered, the Reactor component would then send a message to the Animator Component on an asset. The Animator component has access to all the animations on an asset and has Parameters that you can create to help trigger those animations as you see fit.
The Reactor Component tells the Animator component what to do. Both are important in order to create a Reactor system.
If you have not used the Animation tools, and especially the Animator Window/component, we recommend going over the basics in the following tutorials to learn the skills needed to create amazing interactive assets.
It is better to build a Reactor system from the animation side first, as the Animator parameters are what you will use in the Reactor component. Let's start with some animations to use!