Search Unity

GetSkeletalActionData is not re-initialized after contrller reset/swap? (SteamVR2)

Discussion in 'AR/VR (XR) Discussion' started by CloudyVR, Nov 17, 2018.

  1. CloudyVR

    CloudyVR

    Joined:
    Mar 26, 2017
    Posts:
    715
    In SteamVR 2.0.1, how do you recover from a controller being power cycled? For instance, if I power cycle any of my active hand controllers, they remain inactive in the game and I get the persistent error:
    Code (CSharp):
    1. GetSkeletalActionData error (/actions/default/in/SkeletonRightHand): InvalidHandle handle: 1152956396921160207
    2. UnityEngine.Debug:LogError(Object)
    3. Valve.VR.SteamVR_Action_Skeleton:UpdateValue(SteamVR_Input_Sources, Boolean) (at Assets/SteamVR/Input/SteamVR_Action_Skeleton.cs:94)
    4. Valve.VR.SteamVR_Input:UpdateSkeletonActions(SteamVR_Input_Sources, Boolean) (at Assets/SteamVR/Input/SteamVR_Input.cs:487)
    5. Valve.VR.SteamVR_Input:UpdateSkeletonActions(Boolean) (at Assets/SteamVR/Input/SteamVR_Input.cs:462)
    6. Valve.VR.SteamVR_Input:LateUpdate() (at Assets/SteamVR/Input/SteamVR_Input.cs:352)
    7. Valve.VR.SteamVR_Behaviour:LateUpdate() (at Assets/SteamVR/Scripts/SteamVR_Behaviour.cs:214)
    This sometimes happens even without a controller resetting (or when starting the game).

    And I often see a steamvr icon (inside of a green circle) stuck in my field of view, which has a line attached to the game origin

    I would appreciate any help, and hope that it is possible to restore a controller after it has been disconnected or swapped?

    Thanks.
     
    Last edited: Nov 17, 2018
  2. _delatime

    _delatime

    Joined:
    Aug 11, 2017
    Posts:
    1
    I don't know if you have solved it. I have encountered the same problem. After I restart my error handle (such as your right hand handle), the problem is solved.
     
  3. CloudyVR

    CloudyVR

    Joined:
    Mar 26, 2017
    Posts:
    715
    I believe the log message was originating from within a try/catch statement, so all I did was comment out the
    //Debug.Logerror(....
    part and never gave it a second thought.
     
    SCUT_310502 likes this.