.. _7 API interface function list: 7 API interface function list ======================================== 7.1 General function library ------------------------------------------- The SDK supports VR general functions indicated by the red dots in the following engine: .. image:: _static/7.1.1.png Figure 7.1 Supported general functions For their detailed usage, please refer to the official UE4 document at https://docs.unrealengine.com/4.27/en-US/ Among them: 1. Reset Orientation and Position nodes only support the function of resetting the positive direction, and the Yaw parameter values in the function node does not work. 2. Using Get HMDWorn State requires enabling option "Enable Psensor" in Project Setting - PicoXR Settings 7.2 Dedicated function library ------------------------------------------------- For system functions such as volume and brightness, the SDK also provides the corresponding APIs as blueprint nodes. Right-click on the event graph to find APIs in Pico Mobile category: The detailed instructions for APIs are as follows: .. image:: _static/7.2.0.png Figure 7.2 HMD dedicated function library **PXR Get Current Orientation** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get the current orientation of the headset, return value is Quat **Blueprint:** .. image:: _static/7.2.1.png **Input**: None **Output**: None **Return**: - Quat: - Current orientation of the headset **PXR Get Device Model** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get the model of the device,e.g. "Pico Neo 3" **Blueprint:** .. image:: _static/7.2.4.png **Input**: None **Output**: None **Return**: - FString: - Current device model PXR Get Field Of View ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get headset FOV in horizontal and vertical direction. **Blueprint:** .. image:: _static/7.2.5.png **Input**: None **Output**: - Float: - HFOVIn Degrees: horizontal FOV, unit is degree - VFOVIn Degrees: vertical FOV, unit is degree **Return**: - Bool: - true: Success - false: Failure PXR Does Support Positional Tracking ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Check if headset supports positional tracking. Returns true when 6Dof mode is enabled, and false if 3Dof mode **Blueprint:** .. image:: _static/7.2.6.png **Input**: None **Output**: None **Return**: - Bool: - true: Support positional tracking(6DOF) - false: Not support positional tracking(3DOF) PXR Get Current Display Frequency ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get current screen display refresh rate. Currently 72Hz, 90Hz, 120Hz are supported. Default is 72Hz. 90Hz and 120Hz needs to be setup in Settings - Lab. **Blueprint:** .. image:: _static/7.2.7.png **Input**: None **Output**: None **Return**: - Float: - 0: Failed to acquire refresh rate - 72: 72hz Mode - 90: 90hz Mode - 120: 120hz Mode PXR Get HMDWorn State ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get current headset worn state, including Worn, NotWorn, Unknown states. Needs to be set in Plugins - PicoXR Settings. "Enable PSensor" option requires to be enabled. Retunrs Unknown if it's not checked. **Blueprint:** .. image:: _static/7.2.8.png **Input**: None **Output**: None **Return**: - Enum: - EHMDWornState: - Unknown: Enable PSensor disabled,or PSensor detection failed - Worn: Enable PSensor enabled,and PSensor is occuluded - NotWorn: Enable PSensor enabled,and PSensor is not occuluded PXR Reset HMDSensor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Reset headset orientation and position. Similar to Reset Orientation and Position. **Blueprint:** .. image:: _static/7.2.9.png **Input**: None **Output**: None **Return**: - Bool: - true: Success - false: Failure PXR Set CPUAndGPULevels ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set CPU and GPU clock frequency. Available levels are 1/2/3/4/5 where 1 is slowest and battery-saving. Higher levels increase performance but generate more heats and battery consumption. **Blueprint:** .. image:: _static/7.2.10.png **Input**: - Int: - CPU Level: CPU clock frequency level,Int: 1 to 5. - GPU Level: GPU clock frequency level,Int: 1 to 5. **Output**: None **Return**: None PXR Get IPD ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get IPD value of current device. **Blueprint:** .. image:: _static/7.2.26.png **Input**: None **Output**: None **Return**: - Float: - Current IPD PXR IPDChangedDelegates ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Bind IPD changing delegate event. Can be used to update new IPD **Blueprint:** .. image:: _static/7.2.27.png **Input**: - Delegate: - On Pico XRIPDChanged: bind IPD changing callback event as shown below: .. image:: _static/7.2.1.1.1.png - Callback params: - Float: - Ipd: Current IPD value **Output**: None **Return**: None PXR Get Event Manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use blueprint type to acquire current event manager and event manager can be used to bind callback event to delegate. Current support controller connection delegate, IPD change delegate, Long Home key pressing, Refresh Rate Changed Delegate, Resume Delegate. **Blueprint:** .. image:: _static/7.2.28.png **Input**: None **Output**: None **Return**: Reference to singleton of event manager **Each delegate binding method as follow:** Device Connect Changed Delegate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use delegate to bind event for controller connection state change and acquire parameter change, e.g. Handness being 0 and State being 1 indicates Left controller is connected **Blueprint:** .. image:: _static/7.2.1.1.2.png Callback event parameter: - Int: - Handness: Controller ID: - 0: Left controller - 1: Right controller - State connection state: - 0: Connecion lost - 1: Connection established Ipd Changed Delegate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use delegate to bind IPD to change events and acquire IPD value after changing. **Blueprint:** .. image:: _static/7.2.1.1.3.png Callback event params: - Float: - New Ipd: IPD after being changed Long Home Pressed Delegate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use delegate to bind long pressing Home event **Blueprint:** .. image:: _static/7.2.1.1.4.png Refresh Rate Changed Delegate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use delegate to bind refresh rate changing event and acquire refresh rate after the update. **Blueprint:** .. image:: _static/7.2.1.1.5.png Callback event params: - Float: - New Rate: Refresh rate after update Resume Delegate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use delegate to bind resume event. For example, when pressing home event and returns to main menu. Then pressing home event to return to game to trigger this event. .. image:: _static/7.2.1.1.5.png PXR Set See Through Background ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set See Through images as camera background. Note: Not applicable for UE 4.24 and 4.25. Applicable for 4.26, 4.27. **Blueprint:** .. image:: _static/7.2.20.png **Input**: - Bool: - true: Enable camera images as background - false: Disable using camera images as background **Output**: None **Return**: - Int: - 0: Success - -1: Failure PXR Get Dialog State ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get dialog state of Safety Boundary **Blueprint:** .. image:: _static/7.2.22.png **Input**: None **Output**: None **Return**: - Enum: - State(EPicoXRBoundaryState): - GobackDialog: Visible when leaving safety boundary, hidden when back to safety boundary - ToofarDialog: Away from safety boundary for over 3m - LostDialog: 6Dof lost with no reason - LostNoReason: 6Dof lost with no reason - LostCamera: Camera caliberation params incorrect - LostHighLight: Too bright - LostLowLight: Too dark - LostLowFeatureCount: Not enough environment feature points - LostReLocation: Recovering positional tracking - LostInitialization: Initializing boundary - LostNoCamera: Camera data incorrect - LostNoIMU: IMU data incorrect - LostIMUJitter: IMU data jitter - LostUnknown: Unknown lost - NothingDialog: Positional tracking disabled with no Dialog 7.3 Input relevent libary --------------------------------------------------------------------------------------- The following APIs are available in PXRInput category: .. image:: _static/7.3.1.1.1.1.png Figure 7.3 Input relevent libary PXR Get Controller Device ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get controller type of connected controller **Blueprint:** .. image:: _static/7.3.1.1.1.2.png **Input**: None **Output**: - Enum: - Controller Type(EPicoXRControllerDeviceType): - UnKnown: Unkown controller - Neo3: Pico Neo3 controller **Return**: None PXR Get Controller Power ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get controller power **Blueprint:** .. image:: _static/7.3.1.1.1.3.png **Input**: - Enum: - Controller Type(EPicoXRControllerType): - Pico Neo LeftHand: Left controller - Pico Neo RightHand: Right controller **Output**: - Int: - Power: Power of assigned controller (range: 1-5) **Return**: - Bool: - true: Success - false: Failure PXR Get Controller Connection State ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get controller connection state of specified controller **Blueprint:** .. image:: _static/7.3.1.1.1.4.png **Input**: - Enum: - Controller Type(EPicoXRControllerType): - Pico Neo LeftHand: Left controller - Pico Neo RightHand: Right controller **Output**: - Bool: - true: Connected - false: Not connected **Return**: - Bool: - true: Success - false: Failure PXR Vibrate Controller ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Manipulate controller vibration **Blueprint:** .. image:: _static/7.3.1.1.1.5.png **Input**: - Enum: - Controller Type(EPicoXRControllerType): - Pico Neo LeftHand: Left controller - Pico Neo RightHand: Right controller - Float: - Strength: Vibration strength (Range: 0-1) - Int: - Time: Vibration strength(unit is ms,Range: 0-65535) **Output**: None **Return**: - Bool: - true: Success - false: Failure PXR Get Controller Acceleration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get controller acceleration of specified controller **Blueprint:** .. image:: _static/7.3.1.1.1.6.png **Input**: - Enum: - Controller Type(EPicoXRControllerType ): - Pico Neo LeftHand: Left controller - Pico Neo RightHand: Right controller **Output**: - FVector: - Acceleration: Controller acceleration(Unit: cm/s) **Return**: - Bool: - true: Success - false: Failure PXR Get Controller Angular Velocity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get controller angular velocity of specified controller **Blueprint:** .. image:: _static/7.3.1.1.1.7.png **Input**: - Enum: - Controller Type(EPicoXRControllerType): - Pico Neo LeftHand: Left controller - Pico Neo RightHand: Right controller **Output**: - FVector: - Angular Velocity: Controller angular velocity(rad/s) **Return**: - Bool: - true: Success - false: Failure PXR Get Controller Linear Velocity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get linear velocity of specified controller **Blueprint:** .. image:: _static/7.3.1.1.1.8.png **Input**: - Enum: - Controller Type(EPicoXRControllerType): - Pico Neo LeftHand: Left controller - Pico Neo RightHand: Right controller **Output**: - FVector: - Linear Velocity: Controller linear velocity(cm/s) **Return**: - Bool: - true: Success - false: Failure PXR Set Controller Origin Offset ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set controller origin offset of specified controller **Blueprint:** .. image:: _static/7.3.1.1.1.9.png **Input**: - Enum: - Controller Type(EPicoXRControllerType): - Pico Neo LeftHand: Left controlller - Pico Neo RightHand: Right controller - Vector: - Offset: Controller origin offset(Unit: Meter) **Output**: None **Return**: None PXR Get Controller Predicted Location and Rotation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get controller predicted location and rotation of specified hand **Blueprint:** .. image:: _static/7.3.1.1.1.10.png **Input**: - Enum: - Device Hand(EControllerHand): - Left: Left controller - Right: Right controller - Float: - Predicted Time: Range: 0-100ms **Output**: - FVector: - Location: Predicted controller location by given time - FRotator: - Rotation: Rotation: Predicted controller rotation by given time **Return**: None PXR Get Controller Enable Homekey ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get if controller home key is enabled **Blueprint:** .. image:: _static/7.3.1.1.1.11.png **Input**: None **Output**: None **Return**: - Bool: - true: Enable listening tot home key events - false: Disable listening tot home key events 7.4 Eye Tracking relevant library --------------------------------------------------------------------------------------- The following APIs are available in PXRHMD category. Note: Before using Eye Tracking APIs, refer to chapter 8.2 for eye tracking relevant configurations. .. image:: _static/7.4.1.1.1.1.png Figure 7.4 Eye Tracking relevant libary PXR Get Eye Tracking Data ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get eye tracking data (Only supported on Neo 3 Pro Eye. Requires "Enable Eye Tracking" checked) **Blueprint:** .. image:: _static/7.4.1.1.1.2.png **Input**: None **Output**: None **Return**: - Struct: - FPicoXREyeTrackingData: - Int32: LeftEyePoseStatus: Current left eye pose status - 0: Data available - -1: Data not available - Int32: RightEyePoseStatus: Current right eye pose status - 0: Data available - -1: Data not available - Int32: CombinedEyePoseStatus: Current combined eye pose status - 0: Data available - -1: Data not available - FVector: CombinedEyeGazePoint: Current combined eye gaze point - FVector: CombinedEyeGazeVector: Current combined eye gaze vector(Vector pointing from middle point of both eyes to gazing point) - Float: LeftEyeOpenness: Get current left eye openness - 0.0: Eye closed - 1.0: Eye open - Float: RightEyeOpenness: Get current right eye openness - 0.0: Eye closed - 1.0: Eye open - FVector: LeftEyePositionGuide: Left eye position guide - FVector: RightEyePositionGuide: Righr eye position guide - FVector: FoveatedGazeDirection: Gazing ray direction (center of FFR implemented) 7.5 Foveation Rendering relevant libary --------------------------------------------------------------------------------------- The following APIs are available in PXRHMD category. Note: Before using Foveation Rendering APIs, refer to chapter 8.3 for eye tracking relevant configurations. .. image:: _static/7.4.1.1.1.3.png Figure 7.5 Foveation Rendering relevant libary PXR Enable Foveation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Enable/Disable foveation rendering **Blueprint:** .. image:: _static/7.4.1.1.1.4.png **Input**: - Bool: - Checked: true,Foveation rendering enabled - Unchecked: false,Foveation rendering disbaled **Output**: None **Return**: None PXR Get Foveation Level ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get current foveation rendering level **Blueprint:** .. image:: _static/7.4.1.1.1.5.png **Input**: None **Output**: - Enum: - Foveation Level(EPicoXRFoveationLevel): - Low - Medium - High - TopHigh **Return**: - Bool: - true: Success - false: Failure PXR Set Foveation Level ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ After packaged, this interface can be used to set foveation level in runtime. (Note: "Enable FoveationRendering" has to be enabled before packaging) **Blueprint:** .. image:: _static/7.4.1.1.1.6.png **Input**: - Enum: - Foveation Level(EPicoXRFoveationLevel): - Low - Medium - High - TopHigh **Output**: None **Return**: - Bool: - true: Success - false: Failure PXR Set Foveation Parameter ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set Foveation parameter. It is suggested to use PXR Set Foveation Level interface predefined if not familiar with foveation rendering. **Blueprint:** .. image:: _static/7.2.21.png **Input**: - FVector2D: - Foveation Gain Value: Gain of pixel density in X/Y axis. Higher gain set result in lower density of pixel (ranging in 0-100) - Float: - Foveation Area Value: Original resolution area centered in gazing point. Higher value indicates a larger area of original resolution - Foveation Minimum Value: Minimum pixel density. Floor value of pixels in resolution downgrading area (ranging in 0-100) **Output**: None **Return**: - Bool: - true: Success - false: Failure 7.6 Entitlement check relevant libary --------------------------------------------------------------------------------------- Pico Entitlement Verify App Delegate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Return the result of entitlement verify result. **Blueprint:** .. image:: _static/7.4.1.1.1.7.png **Input**: - Delegate: - On Verify App Callback: 绑Bind event of entitlement check as shown below: .. image:: _static/7.4.1.1.1.8.png - Callback event params: - Int: Varification result code: - 0: Success - -2: Service doesn't exist - -3: Service binding failure - -4: Catch exception code - -5: Time out - 10: The package name is missing - 11: The App ID is missing - 13: The package name and App ID do not match - 20: The user has not logged in - 21: The user has not purchased - 31: The app was not found - 32: The purchase SN number does not match the device SN number **Output**: None **Return**: None 7.7 SplashScreen relevant libary --------------------------------------------------------------- The following APIs are available in PXRHMD category. Note: Before using SplashScreen APIs, refer to chapter 8.7 for eye tracking relevant configurations. .. image:: _static/7.4.1.1.1.9.png Figure 7.6 SplashScreen relevant libary PXR Clear Loading Splash Screens ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Clear current configuration for Splash Screen (Set to not display automatically) **Blueprint:** .. image:: _static/7.4.1.1.1.10.png **Input**: None **Output**: None **Return**: None PXR Enable Auto Show Splash Screen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set whether to display Splash Screen automatically **Blueprint:** .. image:: _static/7.4.1.1.1.11.png **Input**: - Bool: - Enable: - Checked:true,Enable to display automatically - Unchecked:false,Disable to display automatically **Output**: None **Return**: None PXR Add Splash Screen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Add splash screen and set splash screen properties. Note: in Unreal 4.26, using this interface might lead to incorrect behaviors. It's suggested to use Unreal standard API Add Loading Screen Splash to add Splash Screen in Unreal 4.26 and newer versions. .. image:: _static/7.4.1.1.1.12.png **Blueprint:** .. image:: _static/7.4.1.1.1.13.png **Input**: - Texture 2D Object reference: - Texture: The texture that needs to be added to splash screen - FVector: - Translation in Meters: Offset from origin of center of Splash Screen (unit in meter) - FRotator: - Rotation: Initial Splash screen rotation. Origin is splash screen center - FVector2D: - Size in Meters: SplashScreen size in meters - Bool: - Clear Before Add: Whether to clear all splash images before adding a new splash screens **Output**: None **Return**: - Bool: - true: Success in adding splash screen - false: Failure in adding splash screen 7.8 Boundary relevant libary ------------------------------------------------------------------ The following APIs are available in PXRHMD category. .. image:: _static/7.8.1.1.1.png Figure 7.7 Boundary relevant libary PXR Set Boundary Visible ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set result whether the safety border grid is resident **Blueprint:** .. image:: _static/7.8.1.1.2.png **Input**: - Bool: - New Visible: - Checked:true,Safety boundary visible constantly enabled - Unchecked:false,Safety boundary visible constantly disabled **Output**: None **Return**: None PXR Get Boundary Visible ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get result whether the safety border grid is resident **Blueprint:** .. image:: _static/7.8.1.1.3.png **Input**: None **Output**: None **Return**: - Bool: - true:Safety boundary visible constantly enabled - false:Safety boundary visible constantly disabled PXR Get Boundary Dimensions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get the dimension of the customized Safety Boundary **Blueprint:** .. image:: _static/7.8.1.1.4.png **Input**: - Enum: - Boundary Type(EPicoXRBoundaryType): - The Outer Boundary:Safety boundary(i.e. Quick setting of safety boundary) - The Play Area Boundary:Maximum internal rectangle of customized safety boundary(None if using quick setting safety boundary) **Output**: None **Return**: - Vector:Describe rectangle by x and y value of FVecto,x:Long edge,y:1,z:Short edge,For situ safety boundary,Vector is(0,0,0) PXR Get Boundary Through Data ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get the image of the left and right cameras (Not supported for Vulkan) **Blueprint:** .. image:: _static/7.8.1.1.5.png **Input**: - Enum: - Camera Type(EPicoXRCameraType): - Left:Left camera - Right:Right camera **Output**: - Texture2D Object reference: - Camera Image:Camera images acquired **Return**: - Bool: - true:Success - false:Failure PXR Get Boundary Enabled ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get the result of whether safety boundary is on **Blueprint:** .. image:: _static/7.8.1.1.6.png **Input**: None **Output**: None **Return**: - Bool: - true:Safety boundary enabled - false:Safety boundary disabled PXR Get Boundary Configured ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get whether the system has a valid security boundary **Blueprint:** .. image:: _static/7.8.1.1.8.png **Input**: None **Output**: None **Return**: - Bool: - true:Valid safety boundary persist - false:No valid safety boundary persist PXR Get Boundary Geometry ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get an array of safe zone coordinates **Blueprint:** .. image:: _static/7.8.1.1.9.png **Input**: - Enum: - Boundary Type(EPicoXRBoundaryType): - The Outer Boundary:Safety boundary(i.e. Quick setting of safety boundary) - The Play Area Boundary:Maximum internal rectangle of customized safety boundary(None if using quick setting safety boundary) **Output**: None **Return**: - Vector array: - TArray:Safety boundary coordinates PXR Boundary Test Node ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Check is a tracking node collides with safety boundary (Left hand, Right hand, Head). Return to the state in which the tracking node triggers a secure boundary **Blueprint:** .. image:: _static/7.8.1.1.10.png **Input**: - Enum: - Device Type(EPicoXRNodeType): - LeftHand:Left hand - RightHand:Right hand - Head:Headset - Enum: - Boundary Type(EPicoXRBoundaryType): - The Outer Boundary:Safety boundary(i.e. Quick setting of safety boundary) - The Play Area Boundary:Maximum internal rectangle of customized safety boundary(None if using quick setting safety boundary) **Output**: - Bool : - Is Triggering:Whether safety boundary is triggered - Float: - Closest Distance:Closest distance of tracked node to safety boundary - FVector : - Closest Point:Closest point of tracking node to specified safety boundary - Closest Point Normal:Normal of closest point of tracking node to specified safety boundary **Return**: - Bool: - true:Success - false:Failure PXR Boundary Test Point ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Return to the state in which the tracking point triggers a secure boundary in Unreal coordinate system. This will out output intersect result if safety boundary is triggered. **Blueprint:** .. image:: _static/7.8.1.1.11.png **Input**: - FVector: - Point:Tracking test point under Unreal coordinate - Enum: - Boundary Type(EPicoXRBoundaryType): - The Outer Boundary:Safety boundary(i.e. Quick setting of safety boundary) - The Play Area Boundary:Maximum internal rectangle of customized safety boundary(None if using quick setting safety boundary) **Output**: - Bool: - Is Triggering: Whether safety boundary is triggered - Float: - Closest Distance: Closest distance of test node to safety boundary - FVector: - Closest Point:Closest point of test node to specified safety boundary - Closest Point Normal:Normal of closest point of test node to specified safety boundary **Return**: - Bool: - true:Success - false:Failure 7.9 Advanced guardian relevant libary --------------------------------------------------------------------------------------------- The following APIs are available in PXRHMD category. .. image:: _static/7.9.1.1.png Figure 7.8 Large Space relevant libary PXR Set Large Space Enable ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set whether current application supports Large Space **Blueprint:** .. image:: _static/7.9.1.2.png **Input**: - Bool: - Enable: - Checked:true,Support large space - Unchecked:false,Not support large space - Int: - Ext: Preserved for extensions **Output**: None **Return**: None PXR Switch Large Space Scene ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Enable/disable advanced guardian mode at system level. Component PicoXR System API is required. Bind a callback event to acquire switch result. **Blueprint:** .. image:: _static/7.9.1.3.png **Input**: - Delegate: - In Enable Large Space Delegate: Bind event of switching large space as shown: .. image:: _static/7.9.1.4.png - Callback event params: - Bool: - true:Success - false:Failure - Bool: - Open: - Checked:true,Enable large space - Unchecked:false,Disable large space - Int: - Ext: Preserved for extensions **Output**: None **Return**: None PXR Get Switch Large Space Status ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get the current advanced guardian status. "0" means disabled, "1" means enabled. Component PicoXR System API is required. Bind a callback event to acquire large space status. **Blueprint:** .. image:: _static/7.9.1.5.png **Input**: - Delegate: - In Enable Large Space Status Delegate: Bind event of acquiring large space status: .. image:: _static/7.9.1.6.png - Callback event params: - FString: - "0": disabled - "1": enabled - Int: - Ext: Preserved for extensions **Output**: None **Return**: None PXR Save Large Space Maps ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Save Advanced Guardian maps. Component PicoXR System API is required. **Blueprint:** .. image:: _static/7.9.1.7.png **Input**: - Int: - Ext: Preserved for extensions **Output**: None **Return**: - Bool: - true:Success - false:Failure PXR Export Maps ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Export the map file, the exported file is stored in path: internal storage /maps/export Component PicoXR System API is required. Bind a callback event to acquire exported maps. **Blueprint:** .. image:: _static/7.9.1.8.png **Input**: - Delegate: - In Export Maps Delegate: Bind exported map resul event: .. image:: _static/7.9.1.9.png - Callback event params: - FString: - true:Success - false:Failure - Int: - Ext: Preserved for extensions **Output**: None **Return**: None PXR Import Maps ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To import a map file, the file should be copied to the path: internal storage/maps/ beforehand, and then execute the import method. Component PicoXR System API is required. Bind a callback event to acquire exported maps. **Blueprint:** .. image:: _static/7.9.1.10.png **Input**: - Delegate: - In Import Maps Delegate: Bind import map callback event: .. image:: _static/7.9.1.11.png - Callback event params: - FString: - true:Success - false:Failure - Int: - Ext: Preserved for extensions **Output**: None **Return**: None PXR Get Predicted Main Sensor State ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get the posture data of the device in a fixed coordinate system **Blueprint:** .. image:: _static/7.9.1.12.png **Input**: None **Output**: - Struct: - SensorState: FPxrSensorState - Int: status: - 0:pose/globalPose data not available - 1: only pose data available - 3:pose/globalPose available - FQuat:poseQuat:Headset pose - FVector:poseVector:Headset position vector - FQuat:globalPoseQuat:Relative pose of headset to boundary - FVector:globalPoseVector:Relative position of headset to boundary - FVector:angularVelocity:Angular velocity - FVector:linearVelocity:Linear velocity - FVector:angularAcceleration:Angular acceleration - FVector:linearAcceleration:Linear acceleration - Int:poseTimeStampNs: Timestamps acquired from about params (ns) - Int: - Sensor Frame Index: Index of sensor data of current frame. **Return**: None 7.10 System related interface -------------------------------------------------------------------- Through system related interface, developers can obtain and set the configuration. Developers can use this function in accordance with their needs; however, this function is generally not needed. **Supporting equipment:** ============================== ==================== Devices PUI Version ============================== ==================== Neo 3 Pro/Neo 3 Pro Eye All PUI versions ============================== ==================== Before calling the system interface, it is required to add the "PicoSystemToolService" component to the blueprint of the system interface. The system related interfaces are implemented in this component. .. image:: _static/7.10.1.png Figure 7.9 Add PicoXRSystemAPI component The following APIs are available in PXRSystem API category. .. image:: _static/7.10.2.png Figure 7.10 Pico XRSystem API Blueprint libary .. image:: _static/7.10.3.png Figure 7.11 Sample for calling 7.10.1 Common interface ---------------------------------------------------------------- PXR Get Device Info ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get info of currently using device. **Blueprint:** .. image:: _static/7.10.4.png **Input**: Device info type is shown in the following table: ======================================== ========================= ESystemInfoEnum Implication ======================================== ========================= ELECTRIC_QUANTITY Battery level ---------------------------------------- ------------------------- PUI_VERSION PUI version ---------------------------------------- ------------------------- EQUIPMENT_MODEL Device model ---------------------------------------- ------------------------- EQUIPMENT_SN Device SN ---------------------------------------- ------------------------- CUSTOMER_SN Customer SN ---------------------------------------- ------------------------- INTERNAL_STORAGE_SPACE_OF_THE_DEVICE Storage space of the device ---------------------------------------- ------------------------- DEVICE_BLUETOOTH_STATUS Bluetooth status ---------------------------------------- ------------------------- BLUETOOTH_NAME_CONNECTED Name of bluetooth connection ---------------------------------------- ------------------------- BLUETOOTH_MAC_ADDRESS Mac address of bluetooth ---------------------------------------- ------------------------- DEVICE_WIFI_STATUS WIFI connection status ---------------------------------------- ------------------------- WIFI_NAME_CONNECTED Name of connected WiFi ---------------------------------------- ------------------------- WLAN_MAC_ADDRESS Mac address of WLAN ---------------------------------------- ------------------------- DEVICE_IP Device IP ---------------------------------------- ------------------------- SystemInfoEnum.CHARGING_STATUS Charging status charged-2,uncharged-3 ======================================== ========================= **Output**: None **Return**: - FString: Return device info string based on given ESystemInfoEnum enum. e.g. Using EQUIPMENT_SN returns SN code PXR Set Auto Connect Wifi ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Connect to a specified Wi-Fi. Bind delegate event to get the setup result. **Blueprint:** .. image:: _static/7.10.5.png **Input**: - FString: - Wifi Name: ID of specified WiFi - Wifi PSD: password of specified WiFi - Int: - Ext: Preserved for extensions - Delegate: - Set Auto Connect Wifi Delegate: Event for auto connecting WiFi .. image:: _static/7.10.6.png - Callback event params: - Bool: - True: Success - False: Failure **Output**: None **Return**: None PXR Clear Auto Connect Wifi ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Disable auto- connect to a specified WiFi **Blueprint:** .. image:: _static/7.10.7.png **Input**: - Delegate: - Clear Auto Connect Wifi Delegate: clear setup for auto-connect to specified Wifi as shown below: .. image:: _static/7.10.8.png - Callback event params: - Bool: - True: Success - False: Failure **Output**: None **Return**: None PXR Set Home Key ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set Home key customized function. It will redefine Home key and affect the function of Home key defined by the system. Please use this function with discretion. Set EventEnum for single click and double click correspondingly. Set FunctionEnum to configure the expected function. Bind the callback to get set result. **Blueprint:** .. image:: _static/7.10.9.png **Input**: - Enum: - EventEnum( EHomeEventEnum): - HOME_SINGLE_CLICK ("Single Click"): Single click on Home button - HOME_DOUBLE_CLICK ("Double Click") : Single click on Home button - FunctionEnum(EHomeFunctionEnum): - VALUE_HOME_GO_TO_SETTING ("Open Setting"):Open setting - VALUE_HOME_RECENTER ( "Recenter"):Recenter - VALUE_HOME_DISABLE ("Disable"):Disable Home key - VALUE_HOME_GO_TO_HOME ("Open Launcher"):Open launcher - Delegate: - Set Home Key Delegate: Bind delegate event for Home Key configuration as shown below: .. image:: _static/7.10.10.png - Callback event params: - Bool: - True: Success - False: Failure **Output**: None **Return**: None PXR Home Key All ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set Home key customized function. It will redefine Home key and affect the function of Home key defined by the system. Please use this function with discretion. Set EventEnum for single click and double click correspondingly. Set TimeSetup to configure the interval of double click. Set FunctionEnum to configure the expected function. Bind the callback to get set result. **Blueprint:** .. image:: _static/7.10.11.png **Input**: - Enum: - EventEnum( EHomeEventEnum): - HOME_SINGLE_CLICK ("Single Click"): Single click on Home button - HOME_DOUBLE_CLICK ("Double Click") : Single click on Home button - FunctionEnum(EHomeFunctionEnum): - VALUE_HOME_GO_TO_SETTING ("Open Setting"):Open setting - VALUE_HOME_RECENTER ( "Recenter"):Recenter - VALUE_HOME_DISABLE ("Disable"):Disable Home key - VALUE_HOME_GO_TO_HOME ("Open Launcher"):Open launcher - Int: - TimeSetup only double click and long pressing (long pressing has been deprecated) requires time setup, use 0 if it's single click - FString: - Package: When function is set as "open application", input specified package name (deprecaed). - ClassName: When function is set as "open application", input specified class name (deprecaed). - Delegate: - SetHomeKeyAllDelegate: Bind event of calling SetHomeKeyAll: .. image:: _static/7.10.12.png - Callback event params: - Bool: - True: Success - False: Failure **Output**: None **Return**: None PXR Disable Power Key ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set Power Key function. Bind delegate event to return the set result **Blueprint:** .. image:: _static/7.10.13.png **Input**: - Bool: - isSingleTap: Whether to set single-tap - Checked: true: Single-tap to trigger - Unchecked: false: Double-tap to trigger - Enable: Whether power key is enabled - Checked: true: Enable PowerKey - Unchecked: false: Disable PowerKey - Delegate: - Disable Power Key Delegate: Bind delegate event for calling DisablePower blueprint: .. image:: _static/7.10.14.png - Callback event params: - Int: - 0: Success - 1: Failure **Output**: None **Return**: None PXR Set Screen Off Delay ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set duration of screen off delay **Blueprint:** .. image:: _static/7.10.15.png **Input**: - Enum: - TimeEnum(ESleepDelayTimeEnum): - FIFTEEN:15 seconds - THIRTY:30 seconds - SIXTY:1 minute - THREE_HUNDRED:5 minute - SIX_HUNDRED:10 minute - ONE_THOUSAND_AND_EIGHT_HUNDRED:30 minute - NEVER:Never turn off screen **Output**: None **Return**: None PXR Set Sleep Delay ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set duration of sleep off delay **Blueprint:** .. image:: _static/7.10.16.png **Input**: - Enum: - TimeEnum(ESleepDelayTimeEnum): - FIFTEEN:15 seconds - THIRTY:30 seconds - SIXTY:1 minute - THREE_HUNDRED:5 minute - SIX_HUNDRED:10 minute - ONE_THOUSAND_AND_EIGHT_HUNDRED:30 minute - NEVER:Never sleep - Delegate: - SetScreenOffDelayDelegate: Set delegate for sleep delay setup as shown below: .. image:: _static/7.10.17.png - Callback event params: - Int: - 0: Success - 1: Failure - 10: Time to set is too long **Output**: None **Return**: None PXR Switch System Function ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Switch commonly used system options **Blueprint:** .. image:: _static/7.10.18.png **Input**: - Enum: - SystemFunction(ESystemFunctionSwitchEnum): - SFS_USB ("USB Debug"):USB debugging switch - SFS_AUTOSLEEP ("Auto Sleep"):Auto sleep switch - SFS_SCREENON_CHARGING ("ScreenOn Charging"):Screenon charging switch - SFS_OTG_CHARGING ("OTG Charging"):OTG charging switch - SFS_RETURN_MENU_IN_2DMODE ("Show Back Menu in 2D mode"):Show Back Menu in 2D mode switch - SFS_COMBINATION_KEY ("Combination Key"):Combination key switch - SFS_CALIBRATION_WITH_POWER_ON ("Calibration wiht power on"):Calibration with power on switch - SFS_SYSTEM_UPDATE ("System Update"):System update switch - SFS_CAST_SERVICE ("Cast Service"):Cast service switch. This property does not take effect when the industry solution switch is on.Cast service switch. This property does not take effect when the industry solution switch is on. - SFS_EYE_PROTECTION ("Eye Protection"):Eye protection switch - SFS_SECURITY_ZONE_PERMANENTLY ("Security Zone Permanently"):Security zone permanently on/ off switch - SFS_Auto_Calibration ("Auto Calibration"):Auto calibration switch - SFS_USB_BOOT ("USB Boot"):USB Boot switch - SwitchEnum(ESwitchEnum): - S_ON("On"):Switch on - S_OFF ("Off") :Switch off - Int: - Ext: Reserved for extensions **Output**: None **Return**: None PXR Set Usb Configuration Option ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set USB configuration (MTP, charging). MTP mode allows transferring media files. Changing mode doesn't allow file transfer. **Blueprint:** .. image:: _static/7.10.19.png **Input**: - Enum: - Usb Config Mode Enum(EUSBConfigModeEnum): - MTP:Media Transfer Protocol mode - CHARGE:Charging mode - Int: - Ext: Preserved for extensions **Output**: None **Return**: None PXR Write Config File to Data Local ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Write configuration file to /data/local/tmp path. Bind delegate event to get set result. Note: only enterprise devices can use **Blueprint:** .. image:: _static/7.10.22.png **Input**: - FString: - Path:Path that the configuration file save - Content:Contents to write into the configuration file - Delegate: - In Write Config Delegate:bind delegate event of writing configuration file .. image:: _static/7.10.23.png - Callback event params: - Bool: - true:Success - false:Failure **Output**: None **Return**: None PXR Reset All Key to Default ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Restore system key configurations. Bind a delegate event to get reset result **Blueprint:** .. image:: _static/7.10.24.png **Input**: - Delegate: - In Reset All Key Delegate: Bind event to check reset all keys event .. image:: _static/7.10.25.png - Callback event params: - Bool: - True: Success - False: Failure **Output**: None **Return**: None PXR Enable Enter Key ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cancel disabling enter key on headset. Call this interface to re-enable headset button if disabled before. **Blueprint:** .. image:: _static/7.10.26.png **Input**: None **Output**: None **Return**: None PXR Disable Enter Key ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Disable enter key on headset. **Blueprint:** .. image:: _static/7.10.27.png **Input**: None **Output**: None **Return**: None PXR Disable Volume Key ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Disable volume key on headset. **Blueprint:** .. image:: _static/7.10.28.png **Input**: None **Output**: None **Return**: None PXR Enable Volume Key ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cancel disabling enter key on headset. Call this interface to re-enable headset button if disabled before. **Blueprint:** .. image:: _static/7.10.29.png **Input**: None **Output**: None **Return**: None PXR Disable Back Key ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Disable back key on headset. **Blueprint:** .. image:: _static/7.10.30.png **Input**: None **Output**: None **Return**: None PXR Enable Back Key ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cancel disabling back key on headset. Call this interface to re-enable headset button if disabled before. **Blueprint:** .. image:: _static/7.10.32.png **Input**: None **Output**: None **Return**: None PXR Get Device SN ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get device SN code **Blueprint:** .. image:: _static/7.10.33.png **Input**: None **Output**: None **Return**: - FString: - SN code string PXR Get Current Brightness ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get current brightness of screen **Blueprint:** .. image:: _static/7.10.34.png **Input**: None **Output**: None **Return**: - Int: - Current brightness(Range:0-255) PXR Set Brightness ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set the current brightness of screen. Note: first time to call this interface requires system permission **Blueprint:** .. image:: _static/7.10.35.png **Input**: - Int: - Brightness: brightness(Range:0-255) **Output**: None **Return**: None PXR Get Current Volume ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get current volume **Blueprint:** .. image:: _static/7.10.36.png **Input**: None **Output**: - Int: - Current volume (range: 1-15) **Return**: None PXR Get Max Volume ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get maximum volume of the headset **Blueprint:** .. image:: _static/7.10.37.png **Input**: None **Output**: None **Return**: - Int: - Maximum volume PXR Set Volume ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Set volume of the headset **Blueprint:** .. image:: _static/7.10.38.png **Input**: - Int: - Volume: volume value (range 1-15) **Output**: None **Return**: None PXR Volume Up ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Increase volume of the headset **Blueprint:** .. image:: _static/7.10.39.png **Input**: None **Output**: None **Return**: None PXR Volume Down ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Decreate volume of the headset **Blueprint:** .. image:: _static/7.10.40.png **Input**: None **Output**: None **Return**: None PXR Kill Background Apps with White List ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Kill background application excluding white listed apps. **Blueprint:** .. image:: _static/7.10.41.png **Input**: - FString Array(TArray): - PackageNames:Array of package names in white list - Int: - Ext:Preserved for extension **Output**: None **Return**: None 7.10.2 Protected interface ------------------------------------------------------------ **Notes**:The following interfaces are protected interfaces. Before calling them, it is required to check the "Use Pico Advance Interface" option in Project Settings→Plugin→PicoXR Settings. If this option is checked, your app will not be available on the Pico Store. If your app needs to be distributed through the Pico Store, please do not check the "Use Pico Advance Interface" option or use these Interfaces. PXR Set Device Action ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Reboot or power off device. Bind delegate event to get result. **Blueprint:** .. image:: _static/7.10.43.png **Input**: - Enum: - Device Control Enum(EDeviceControlEnum): - DEVICE_CONTROL_REBOOT ("Device Reboot"):Reboot device - DEVICE_CONTROL_SHUTDOWN ("Device ShutDown"):Power off device - Delegate: - Set Device Action Delegate:Bind device action callback event: .. image:: _static/7.10.44.png - Callback event params: - int: - 0:Success - 1:Failure **Output**: None **Return**: None PXR App Manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Silent install or uninstall application. Bind delegate event to get installing result. **Blueprint:** .. image:: _static/7.10.45.png **Input**: - Enum: - Package Control Enum(EPackageControlEnum): - PACKAGE_SILENCE_INSTALL ("Install Package"):Silent install apk file - PACKAGE_SILENCE_UNINSTALL ("Uninstall Package"):Silent uninstall apk file - FString: - Path:Path of apk file to install or package name to uninstall - Int: - Ext:Preserved for extensions - delegate - App Manager Delegate:Bind silent install/uninstal callback event .. image:: _static/7.10.46.png - Callback event params: - Int: - 0:Success - 1:Failure **Output**: None **Return**: None PXR Screen On ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Switch screen on **Blueprint:** .. image:: _static/7.10.47.png **Input**: None **Output**: None **Return**: None PXR Screen Off ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Switch screen off. Note: First-time calling will prompt power management permission check. **Blueprint:** .. image:: _static/7.10.48.png **Input**: None **Output**: None **Return**: None