ViRSE provides a number of prebuilt components that can be attached to your GameObjects to enable a range of functionality. These components are set up to work with ViRSE’s player rig, allowing users to interact with them without the need for plugin developers to write their own code. Since these components are provided by the ViRSE framework, they will automatically receive updates from the core ViRSE team.
Examples of each of these components can be found in two places
<aside> ℹ️ The ViRSE template Unity project contains a number of MonoBehaviour components, many of which are for the internal operation of the framework. All ViRSE components that are intended for use by plugin developers are tagged with the ‘V’ symbol!
</aside>
<aside> 🤓 Many ViRSE components inherit from others, an awareness of this inheritance hierarchy is useful in order to understand how these components operate, and what functionality they provide
The above diagram shows the inheritance hierarchy of the most commonly used ViRSE components. Adjustables inherit all functionality from BaseGrabbable, (grabbing and dropping), which itself inherits all functionality from BaseWorldStateSyncable (which automatically synchronizes the state of the object with other users in the same instance of your ViRSE World)
</aside>