diff --git a/Assets/VRTK/Examples/ExampleResources/Scripts/Archery/ArrowSpawner.cs b/Assets/VRTK/Examples/ExampleResources/Scripts/Archery/ArrowSpawner.cs index a906a5f6a..b28bd6d12 100644 --- a/Assets/VRTK/Examples/ExampleResources/Scripts/Archery/ArrowSpawner.cs +++ b/Assets/VRTK/Examples/ExampleResources/Scripts/Archery/ArrowSpawner.cs @@ -37,12 +37,23 @@ private bool NoArrowNotched(GameObject controller) { if (VRTK_DeviceFinder.IsControllerLeftHand(controller)) { - bow = VRTK_DeviceFinder.GetControllerRightHand(true).GetComponentInChildren(); + GameObject controllerRightHand = VRTK_DeviceFinder.GetControllerRightHand(true); + bow = controllerRightHand.GetComponentInChildren(); + if (bow == null) + { + bow = VRTK_DeviceFinder.GetModelAliasController(controllerRightHand).GetComponentInChildren(); + } } else if (VRTK_DeviceFinder.IsControllerRightHand(controller)) { - bow = VRTK_DeviceFinder.GetControllerLeftHand(true).GetComponentInChildren(); + GameObject controllerLeftHand = VRTK_DeviceFinder.GetControllerLeftHand(true); + bow = controllerLeftHand.GetComponentInChildren(); + if (bow == null) + { + bow = VRTK_DeviceFinder.GetModelAliasController(controllerLeftHand).GetComponentInChildren(); + } } + return (bow == null || !bow.HasArrow()); } }