LogoLogo
HomeDiscordVideo TutorialsBuilder Opportunities
  • Welcome to MONA
    • What is a Space?
    • Unity Overview
  • ⬛Create
    • Getting Started Building
    • MONA Crash Course
      • Setting up MONA in Unity
      • Introduction to Unity
      • Setting up Simple Assets
      • Metaverse / WebGL Limitations
      • Creating 3D Assets
      • Applying Materials & Unwrapping UVs
      • Importing Assets into Unity
      • Adding Colliders
      • Adding Lighting
      • Adding a Custom Skybox
      • Setting up Canvases
      • Uploading to your Wallet
    • Building Spaces
      • Space Limitations
      • Create your Space
        • Space Overview
        • Colliders
        • Materials
        • Portals
        • Canvases
        • Artifacts
        • Add a Custom Skybox
        • Test Your Space
        • Troubleshooting
      • Improve your Space
        • Lightmaps (Unity Lightmapper)
        • Light Probes
        • Reflection Probes
        • Animation in Unity
        • Importing Animation
        • Player Property Volumes (PPV's)
        • Warp Volumes
        • Adding Audio
        • VRM Switcher
        • Custom Canvases
        • Embedded Video
        • User Interface (UI)
        • Creating Custom Shaders
        • Imported Assets
        • Lightmaps (Bakery Asset)
      • Optimise your Space
        • Prefabs
        • 3D Asset Specs
        • Optimizing your Space
      • Adding Interactivity
        • Visual Scripting
          • Web Request Node
        • Mona Reactor
          • Creating Animation
          • Using Animator
          • The Reactor Component
          • Reactor Overview
      • MONA Tools
        • Template Utility
        • MONA Capture
        • Light Probe Generator
        • VOX Importer
      • Submit Your Space
        • Submitting your Space
        • Creating an Image & Video Preview
        • QA Process
        • Mint Your Space
      • Update your Space
      • Frequently Asked Questions
      • Troubleshooting
    • Creating Assets
      • Asset Requirements
      • 3D Asset Types
      • Asset Creation Approaches
      • Optimizing your Mesh
      • GLB Considerations
      • Example - Cyberpunk Car
    • Creating Avatars
      • Getting Started with VRM
      • VRM Requirements
      • VRM Creation
        • Using Mixamo for Rigging
        • Adding Custom Bones to the Rig (Optional)
      • Creating your Avatar using UniVRM
        • Importing UniVRM into Unity
        • Creating the VRM using UniVRM
        • Adding Spring Bones in UniVRM (Optional)
      • Creating your Avatar using 'VRM for Blender'
        • Adding 'VRM for Blender' into Blender
        • Using 'VRM for Blender' for Rigging
        • Adding a Material
        • Assigning VRM Details
        • Exporting the Avatar
      • Uploading your VRM
      • Using Avatars in WebAR
      • Submitting your VRM to the Mona Marketplace
      • Mint Your Avatar
      • Troubleshooting
    • Resources
      • MONA Claim Asset Requirements
      • Unity Wallet SDK (Alpha)
      • MONA Playground
      • MONA Tutorials
        • Retrowave Modules
      • Asset Resources
        • 3rd Party Assets
        • Textures
        • Shaders
        • 3D Assets
        • Audio
        • Tools
        • Tutorials
      • MONA Library
        • MONA Library Submission
      • Useful Unity Packages
      • Updating the Template SDK
      • Importing Mozilla Hubs Spaces to MONA
      • Importing AltspaceVR spaces to MONA
    • MONA Marketplace
  • ⬛Explore
    • How to Use MONA
    • Using VRM Avatars
    • Audio Settings
    • Explorer's Frequently Asked Questions
  • ⬛Collect
    • Setting up a wallet
      • Delegating a Wallet
    • Own a Space
      • Host an Event
      • Uploading your Images
      • Add Images to a Canvas
      • Live Music Feed
      • Token Gated Access
      • Minted 3rd Party Assets
    • MONA Create
      • Create FAQ
    • Live Streaming in MONA
      • Setting up OBS Studio
      • Livestream using OBS Studio
      • Livestream using a Mobile Device
      • How to Stream Using Twitch or YouTube
      • Add a Livestream to a Canvas
    • Collector's Frequently Asked Questions
  • General Resources
    • Web3 Introduction
    • How to sell Art in Web3
    • Game Dev Glossary
    • Buildathons / Challenges
      • 3D Asset Buildathon (Current)
        • Frequently Asked Questions
      • Emote/Emoji Challenge (Completed)
      • Stream Challenge (Completed)
      • Custom Avatars (Completed)
      • Build : NY Challenge (Completed)
      • Sculpture Challenge (Completed)
      • Portal Hub (Completed)
      • Interact (Completed)
      • The Renaissance (Completed)
Powered by GitBook
On this page
  • Events
  • Operations
  • Parameters
  • Local
  • Summary

Was this helpful?

  1. Create
  2. Building Spaces
  3. Adding Interactivity
  4. Mona Reactor

The Reactor Component

PreviousUsing AnimatorNextReactor Overview

Last updated 2 years ago

Was this helpful?

The Reactor Component is best added onto it's own gameobject with a collider. This allows you to easily move the asset if need be, and this can be useful when the collider needs to be a child of an elevator (so the reactor moves with the platform).

This also makes things much easier to navigate, especially if you have a complicated scene.

You will also need to adda collider for the event to be triggered by. A box collider is best performance wise, but others are acceptable.

Events
Operation types
Parameter types

OnInteract

Set

Boolean (true/false)

OnEnterTrigger

Addition

Int (-124, 0, 12, 45,231 etc.)

OnExitTrigger

Deletion

Float (-12.432, 5.0, 732.43 etc)

OnPlayerLookStart

Multiplication

Trigger

OnPlayerLookEnd

Division

Invert

Events

The Reactor Component is made up of several event types. Each one can hold multiple triggers.

An example would be if the player walks into a collider, 5 different Animators could trigger a specific animation. One trigger is the most common, however.

OnInteract - When the collider is targeted by the white reticle of the player, you can press the 'E' key to interact with it, which can trigger an animation. The OnInteract event also allows you to customise the text on the asset when the cursor is over it.

OnEnterCollider / OnExitCollider - An event can be triggered when a play first touches the collider or when the player leaves the collider.

OnPlayerLookStart / OnPlayerLookEnd - An event can be triggered when the player first looks at the collider or when they stop looking at the collider.

Operations

The animation can be triggered using different operations such as setting a parameter, adding / subtracting / multiplying / dividing a parameter, or inverting the parameter. Inverting would be making a 1 turn to a -1, or more importantly turn a true to false or vice versa.

With a bit of creativity these operations allow for a lot of interesting approaches to interactive experiences.

In the Reactor Component example above : if the player enters the Box collider, set the 'doorOut' parameter on the DoorPivot Animator component to true. The Animator would then play the door out animation.

A more complex approach would be if the player interacts with a door, invert the 'doorOpen' parameter on the door Animator component. Each time the player interacts with the door the animation would either open, or close, depending on what state it is currently in.

Parameters

The parameter itself can be different types as well. A true/false parameter (boolean), whole number (integer/int), a decimal number (float), or a trigger (as in a simple 'Do this!' state).

These parameters align with the parameters that are set in the Animator.

The boolean, int, and float parameters are pretty self explanatory. The Trigger, on the other hand, is a parameter that allows you to set a parameter, but then it stays in its default state to be triggered again easily. Other parameters would need to be changed back before using it again.

Local

The other element that you have access to is the Local toggle on each event. This means that the event will only happen to the player that triggers it, rather than all users in the space.

Summary

Now that we have looked into the basics of a reactor system, we can start putting them together.

⬛
The Reactor Component with Box Collider