Fully Graph based spatial menu prefab that allows you to grab menus from either side of your head & or hips, change the offset of the distance from the center of your head & hips, & change the size of the “trigger area” on either side of your head & hips. Options for making a VRChat Settings menu style menu or a VRChat emote style menu where you can have something different on each hand. All easily accessible in the inspector window for the menus.
I made this a few SDK versions back but it still works! feel free to cannibalize it for whatever you need! I haven’t updated the project in a while so some of the graphs could probably be optimized & cut down or done different ways to improve on the ideas, have fun messing with it if you like!
It is a self contained tutorial inside of the menu prefab itself, all you have to do is move the unitypackage into your project, open the menu_plugin folder & drag the prefab into your project. & it should work. test build to VR or NON-VR. Push left or right ctrl if you are on keyboard or the VRC menu button if you build it into VR to check out the tutorial & see the binds for the example menu.
Controller / keyboard binds for the example menus are:
(Left or Right Ctrl for keyboard)
VRChat Menu button anywhere around you with either controller to pull up the tutorial menu.
(“Q” & “E” for keyboard)
Left or Right Grip on the left or right of your head or hips respectively for 2 individual hand menus. Just some shapes with Udon Graphs on them that you can interact with that close either menu when you interact with them.
(Note: Head works off of headset position so it feels more natural. The hips work off of your models hip bones so it might feel a little less accurate depending on your model!)
Keep holding or press the grip on your controller or E/Q keys while any menu is open to drag the menus around & reposition them.
Caution: The udon graphs are large & take 1-2 seconds to compile. So every time you move something or change something in the graph you have to wait 1-2 seconds for it to compile. If anyone knows where the heck they moved the option to turn off auto-compiling in graphs LET ME KNOW PLEASE!
This uses the Controller Input prefab from here if you are interested in how it works & want to know how to change the controller binds in the menus Udon Graphs to mess around with this prefab I go into detail there.
List of pre defined names for controller binds can be found in the ControllerInputs -> Primary Gameobject public variables in the inspection tab. Any of the bools should work fine without having to change anything else in the Graphs for the menus!
Direct download link for the UnityPackage:
An example for uses for parts of this project:
I recently tore this project apart & used parts of it to make a prefab that lets you drop pickup items over your shoulder or on your hips to store them in an inventory system & grab them back out when you need them.