SteamVR Issues with Vive Controller Input: trying to call method from GetPressDown, however gives "Object reference not set to an instance of an object" error
Hi first time poster, I have tried several different methods to resolve this and have been stuck on it for days, when I use GetPressDown(SteamVR_Controller.ButtonMask.Trigger), (trigger is arbitrary) i get the error "Object reference not set to an instance of an object". Have tried several ways to fix it but cant any help would be greatly appreciated. ControllerManager
private SteamVR_TrackedObject hand;
private SteamVR_Controller.Device device;
public DeckManager dm;
private bool response;
private bool match;
private bool userCorrect;
// Use this for initialization
void Start()
{
hand = GetComponent<SteamVR_TrackedObject>();
}
// Update is called once per frame
void Update()
{
if (device.GetPressDown(SteamVR_Controller.ButtonMask.Trigger))
{
response = true;
Debug.Log("Trigger Pressed, player has picked " + response);
IsPlayerCorrect();
}
if (device.GetPressDown(SteamVR_Controller.ButtonMask.Touchpad))
{
response = false;
Debug.Log("Touchpad Pressed, player has picked " + response);
IsPlayerCorrect();
}
}
Answer by Kiefy · Aug 24, 2018 at 10:37 AM
Did you add the script to a controller?
Can also try changing your device initialization to be like this.
private SteamVR_Controller.Device device
{
get { return SteamVR_Controller.Input((int)hand.index); }
}
Your answer
Follow this Question
Related Questions
pressing/turning something in VR to do stuff 0 Answers
Help with pour effect script not registering in SteamVR? 0 Answers
Steam VR one object interaction using both controllers 0 Answers
How to Lock Steam VR camera to the head of the Player model 0 Answers
how to disable htc vive pro vr camera rotation and position ? 0 Answers