XR Interactions

Flexalon has built-in input providers for Unity's XR Interaction Toolkit (XRI) and Oculus Interaction SDK. When using these providers, the drag movement is handled by the respective SDK, and Flexalon Interactable is used to insert and remove objects from layouts.

Limitations

Since Flexalon does not control the dragged gameObjects, several features of Flexalon Interactable will be disabled when using XR input providers:

Flexalon Interactable with XR Input Provider

Using Flexalon with XR Interaction Toolkit

  • Follow Unity's documentation to set up XR Interaction Toolkit. Ensure you can grab and move objects with hands or controllers before proceeding.
  • If using XR Hand Grab Interactable, uncheck the Retain Transform Parent property. Flexalon Interactable will decide if to retain the parent.
  • Flexalon will detect that XR Interaction Toolkit is installed and add the Flexalon XR Input Provider component. Add this component to all gameObjects with XR Interactable components that you want to add or remove from layouts.
  • Add and configure Flexalon Interactable components to the same gameObjects.
  • Add and configure Flexalon Drag Target components to any layouts which should support inserting, removing, or reordering objects.
  • Optionally, add a Flexalon Lerp Animator or Flexalon Rigid Body Animator components to make objects under the drag targets reorder smoothly.
  • Your component list should look something like this:
  • XRI Component List

Using Flexalon with Oculus Interaction SDK

  • Follow Meta's documentation to set up Oculus Interaction SDK. Ensure you can grab and move objects with hands or controllers before proceeding.
  • Add the FLEXALON_OCULUS Script Define Symbol so that Flexalon needs to know that Oculus Interaction SDK has been installed. To do this, go to Project Settings > Player > Other Settings and find Scripting Define Symbols
  • Flexalon should now have a Flexalon Oculus Input Provider component. Add this component to all gameObjects with Interactable components that you want to add or remove from layouts.
  • Add and configure Flexalon Interactable components to the same gameObjects.
  • Add and configure Flexalon Drag Target components to any layouts which should support inserting, removing, or reordering objects.
  • Optionally, add a Flexalon Lerp Animator or Flexalon Rigid Body Animator components to make objects under the drag targets reorder smoothly.
  • Your component list should look something like this:
  • Oculus Component List