public boolean init(OpenVR api) {
        logger.config("Initialize VR bounds...");

        if( vrChaperone == null ) {
            vrChaperone = new VR_IVRChaperone_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRChaperone_Version, api.hmdErrorStore).getPointer());
            if( vrChaperone != null ) {
                vrChaperone.setAutoSynch(false);
                vrChaperone.read();
                FloatByReference fbX = new FloatByReference();
                FloatByReference fbZ = new FloatByReference();
                vrChaperone.GetPlayAreaSize.apply(fbX, fbZ);
                playSize = new Vector2f(fbX.getValue(), fbZ.getValue());

                logger.config("Initialize VR bounds [SUCCESS]");
                return true; // init success
            }

            logger.warning("Initialize VR bounds [FAILED].");
            return false; // failed to init
        }

        logger.config("Initialize VR bounds already done.");
        return true; // already initialized
    }
Initialize the VR bounds.
@return <code>true</code> if the initialization is a success and <code>false</code> otherwise.
jme3-vr/src/main/java/com/jme3/input/vr/openvr/OpenVRBounds.java