This project aims to provide the most comprehensive and physically accurate buttons and switches on the VRChat market.
Online documentation for the Immersive Interactions package can be found here.
If you’d like to test out the system yourself, join the following world: Immersive Interactions
- Udon Sharp
- TextMeshPro (for debugging)
-
Add this project to VCC with this url
https://Janooba.github.io/immersive-interactions/index.json
or by clicking the Add to VCC button here Here -
Alternatively, check out the Releases page for old-school package access.
VRChat_5t5WTBdNGB.mp4
vlc_nQUxJYmD37.mp4
vlc_Aqfyln1PJV.mp4
vlc_1HzluIqsop.mp4
VRChat_2PxfQv588Q.mp4
vlc_7gozprRbMd.mp4
vlc_cmIlD3iy4x.mp4
- Drag the PlayerSkeletonInfo prefab located in
Packages/Immersive Interactions/Runtime/PlayerSkeletonInfo
into your scene. - Ensure the Bone Prefab is set.
- Drag one of the button prefabs located in
Packages/Immersive Interactions/Runtime/Button Prefabs
into your scene. - Once positioned where you’d like, select the child object with a Pressable_Button or Flippable_Switch component on it.
- Click Find Nearby Colliders To Ignore under // RUNTIME & DETECTION. This will make sure the button doesn’t get stuck in the wall or objects behind it. If this still happens, you may have to manually add the collider to the Ignored Colliders list.
- Scroll to the // EVENTS section and add something to the list of receivers.
- Toggle on one of the Send toggles and note the events that will be sent below.
- Change the event name to match your own script’s Events, or add a public event to your own Udon Behaviour that matches one of the events sent.
Did you make something cool with this package? I'd love to see it! Need help with something? Feel free to contact me on discord as @Janooba or email me at support@janooba.com for support.