public override void Init()
    {
        Script.UnhandledException += UnhandledException; // Catch errors and keep running unless fatal

        //SubscribeToScriptEvent("CollisionData", getCollisionData);

        if (RigidBody == null)
        {
            if (!ObjectPrivate.TryGetFirstComponent(out RigidBody))
            {
                // Since object scripts are initialized when the scene loads, no one will actually see this message.
                ScenePrivate.Chat.MessageAllUsers("There is no RigidBodyComponent attached to this object.");
                return;
            }
        }

        CurPos = RigidBody.GetPosition();
        Log.Write("CurPos: " + CurPos);
        CurCollisionCenter = RigidBody.GetColliderCenter();
        Log.Write("CurCollisionCenter: " + CurCollisionCenter);
        CurCollisionExtents = RigidBody.GetColliderExtents();
        Log.Write("CurCollisionExtents: " + CurCollisionExtents);
        SubscribeToScriptEvent("VRControllerInfo", getVRControllerInfo);
    }