Event Interact not working in VR

Hi,

In a world I’m working on I created a udon script that’s a simple event interact that turns on 3 different game objects that have audio. If I load up VRC in desktop mode the button works fine but if I’m in VR when i try to click the button the blue interact box doesn’t exist and I cant trigger the event.

anyone know what would cause this? i have multiple other udon event interacts in the world that are setup the same like mirror toggles and what not and they all work fine. this one just is not working in vr for some reason.

if it’s an (ui) canvas they’ll need the VRC UI Shape script on it as well as be on the Walkthrough layer to work

Hi thanks for the reply.
Its not a UI element, its just an event interact on a static object in the world. like a basic mirror toggle.

might help if you add screenshots or snippets of your code/object setup then… Since it can be a million and 1 reasons it’s acting weird

ignore the variable names it was a late night haha



.data_start

.export Turnon1
.export thingthatgetsturnedoff
.export thisturnoff

instance_0: %UnityEngineGameObject, this
value_0: %SystemBoolean, null
instance_1: %UnityEngineGameObject, this
value_1: %SystemBoolean, null
instance_2: %UnityEngineGameObject, this
value_2: %SystemBoolean, null
Turnon1: %UnityEngineGameObject, this
thingthatgetsturnedoff: %UnityEngineGameObject, this
thisturnoff: %UnityEngineGameObject, this

.data_end

.code_start

.export _interact

_interact:

    PUSH, Turnon1
    PUSH, instance_0
    COPY
    PUSH, instance_0
    PUSH, value_0
    EXTERN, "UnityEngineGameObject.__SetActive__SystemBoolean__SystemVoid"
    PUSH, thingthatgetsturnedoff
    PUSH, instance_1
    COPY
    PUSH, instance_1
    PUSH, value_1
    EXTERN, "UnityEngineGameObject.__SetActive__SystemBoolean__SystemVoid"
    PUSH, thisturnoff
    PUSH, instance_2
    COPY
    PUSH, instance_2
    PUSH, value_2
    EXTERN, "UnityEngineGameObject.__SetActive__SystemBoolean__SystemVoid"
    JUMP, 0xFFFFFFFC

.code_end

Make sure the interact GameObject is not within any collider that is marked as “Is Trigger”, as it will interfere with VR users’ raycaster, inhibiting the ability to highlight and interact with it.

Mhh, I’m not using Udon Graph but it looks okay to me.
Maybe try to up the proximity a bit and check if the Box Collider is big enough.

I’m sure you know this already, and since it’s working on desktop it shouldnt be the problem, but just to mention it aswell - make sure you dont use the “Ignore Raycast” Layer for interact objects.

Edit:
I’m a bit confused about the Text Placement Bracket tho - I dont have that with my Interact objects :o but I havent updated in a while so… maybe thats why I dont have it…? Just to mess around a little bit you could try filling that with the object itself.
Maybe the behavior gets halted because its missing that part, probably not tho, idk.

Another Reason could be that the Raycast gets halted by another object obstructing it.

Is the Console spitting out any errors?

yeaaaaaa, that would be the problem then. dident know that was a thing. Is there a way to make it work if its in a trigger box or do i need to get more creative.

If you change the Is Trigger Collider’s layer to the Mirror Reflection layer then the VR Raycaster will not be blocked by it. Note however that anything using this layer will not be rendered by the player’s camera.

Depending on what you’re doing with the Is Trigger collider, there could be other workarounds.