Adjustables that live on Grabbables! These allow you to associate a value with your grabbable object that users can change, expanding your options when creating grabbable tools.

<aside> ℹ️ Grabbable Adjustables are designed to behave similarly to regular Adjustables. See the Adjustables page for more information.

</aside>

Grabbable Activatables allow you to associate “on” and “off” related behaviour with your grabbables. Grabbable Adjustables go a step further and allow the user to choose a range of values for the object they are grabbing, either by moving the thumbstick in VR or by scrolling in 2D mode.

You can choose which values the adjustable can take on using the value constraint properties, and tweak how the user changes between these values using the scroll settings.

<aside> ⚠️ Much like Grabbable Activatables, you must attach both a V_GrabbableAdjustable and either a V_FreeGrabbable or V_ConstrainedGrabbable to the same GameObject to properly set up a V_GrabbableAdjustable.

</aside>

GrabbableAdjustable Properties

<aside> 🤓 Behind the scenes… Grabbable Adjustables don’t actually inherit from Adjustables as C# does not allow multiple inheritance. For now, they actually instantiate a new programmatic Adjustable “mirror” in the scene at runtime and use it to sync the value and OnValueAdjusted event of the Grabbable Adjustable for networking. You don’t need to do anything to compensate for this, but it might explain the presence of an extra set of game objects in your scene at runtime!

</aside>