My current stack:

Headset: Oculus Quest

Unity: v2019.2.19f1

Oculus Integration: v12

OS: MacOs Catilina

I have followed a basic tutorial about teleporting and it was working well: I was able to use the left thumbstick to define the new target & orientation of the avatar teleportation. However, after updating the Oculus Integration for Unity to the latest version (v12), it stopped working.

This is the structure of my LocalPlayerController prefab:

and this was the previous (working) configuration of the LocomotionController object:

after the update, I noticed that 2 scripts changed: LocomotionController.cs and TeleportInputHandlerAvatarTouch.cs :

LocomotionController.cs

if we analyse this script more in detail we can notice that two fields ( CharacterController and PlayerController ) have changed type.

/************************************************************************************ See SampleFramework license.txt for license terms. Unless required by applicable law or agreed to in writing, the sample code is provided “AS IS” WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the license for specific language governing permissions and limitations under the license. ************************************************************************************/ using System; using UnityEngine; using System.Collections; using JetBrains.Annotations; using UnityEngine.Assertions; #if UNITY_EDITOR using UnityEngine.SceneManagement; #endif /// <summary> /// Simply aggregates accessors. /// </summary> public class LocomotionController : MonoBehaviour { public OVRCameraRig CameraRig; //public CharacterController CharacterController; public CapsuleCollider CharacterController; //public OVRPlayerController PlayerController; public SimpleCapsuleWithStickMovement PlayerController; void Start() { /* if (CharacterController == null) { CharacterController = GetComponentInParent<CharacterController>(); } Assert.IsNotNull(CharacterController); */ //if (PlayerController == null) //{ //PlayerController = GetComponentInParent<OVRPlayerController>(); //} //Assert.IsNotNull(PlayerController); if(CameraRig == null) { CameraRig = FindObjectOfType<OVRCameraRig>(); } Assert.IsNotNull(CameraRig); #if UNITY_EDITOR OVRPlugin.SendEvent("locomotion_controller", (SceneManager.GetActiveScene().name == "Locomotion").ToString(), "sample_framework"); #endif } }

I was used to set those fields simply by dragging the LocalPlayerController prefab into the unity editor fields, but now it's not possible. Not sure where should I pick that CapsuleCollider and SimpleCapsuleWithStickMovement . If I touch the left thumbstick my player moves around, which is not the intended behaviour and I don't know how to change it.

TeleportInputHandlerAvatarTouch.cs

This script just add two new fields were added (I guess for the new hand tracking system) but I don't think it's creating problems with the current configuration.

I'm completely stuck and not sure how to proceed from here. No other scripts seem to have been updated with the last upgrade and all my researches were unsuccessful.