### Sample Verification Request (HTTP GET) Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started Illustrates a sample GET request sent to your endpoint URL for webhook verification. It includes query parameters like `hub.mode`, `hub.challenge`, and `hub.verify_token` that your endpoint must process. ```http GET https://www.your-clever-domain-name.com/webhooks? hub.mode=subscribe& hub.challenge=1158201444& hub.verify_token=meatyhamhock ``` -------------------------------- ### List connected devices and install APK Source: https://developer.android.com/studio/command-line/adb Shows how to list connected Android devices and install an APK on a specific device using its serial number. Includes examples for both emulator and network-connected devices. Requires adb to be installed and devices to be connected. ```bash $ adb devices List of devices attached emulator-5554 device emulator-5555 device 0.0.0.0:6520 device # To install on emulator-5555 $ adb -s emulator-5555 install helloWorld.apk # To install on 0.0.0.0:6520 $ adb -s 0.0.0.0:6520 install helloWorld.apk ``` -------------------------------- ### RunUAT.bat Command Line Example Source: https://dev.epicgames.com/documentation/en-us/unreal-engine/build-operations-cooking-packaging-deploying-and-running-projects-in-unreal-engine This command line shows the equivalent manual setup for RunUAT.bat, mirroring the output from the Project Launcher's 'BuildCookRun' command. It's used for automating build, cook, and run processes for Unreal Engine projects. ```batch RunUAT.bat BuildCookRun -project=MyProject.uproject -clientconfig=Development ``` -------------------------------- ### GET /webhooks (Verification Request) Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started Endpoint used by Meta to verify your webhook subscription. Meta sends a GET request with specific query parameters that you must validate and echo back the challenge value. ```APIDOC ## GET /webhooks ### Description Endpoint used by Meta to verify your webhook subscription. Meta sends a GET request with query parameters; you must validate the token and respond with the challenge value. ### Method GET ### Endpoint https://{your-domain}/webhooks ### Parameters #### Query Parameters - **hub.mode** (string) - Required - Must be "subscribe". - **hub.challenge** (integer) - Required - Random integer that must be echoed back in the response. - **hub.verify_token** (string) - Required - Token set in the App Dashboard to verify the request. ### Request Example GET https://www.your-clever-domain-name.com/webhooks?hub.mode=subscribe&hub.challenge=1158201444&hub.verify_token=meatyhamhock ### Response #### Success Response (200) - **hub.challenge** (integer) - Echoed challenge value. ### Response Example 1158201444 ``` -------------------------------- ### POST /adb/install-multiple Source: https://developer.android.com/studio/command-line/adb Install multiple APK files on connected Android devices or emulators. Useful for split APK installations downloaded from the Play Console. ```APIDOC ## POST /adb/install-multiple ### Description Install multiple APK files on connected Android devices or emulators. Useful for split APK installations. ### Method POST ### Endpoint adb install-multiple path_to_apk1 path_to_apk2 ... ### Parameters #### Path Parameters - **path_to_apk1** (string) - Required - File path to the first APK - **path_to_apk2** (string) - Required - File path to the second APK - **...** (string) - Optional - Additional APK file paths ### Request Example ``` $ adb install-multiple base.apk split1.apk split2.apk ``` ### Response #### Success Response Installation status message #### Response Example ``` Performing Streamed Install Success ``` ### Error Handling - Failed installations return error messages - All APKs must be compatible with the target device ``` -------------------------------- ### POST /adb/install Source: https://developer.android.com/studio/command-line/adb Install APK files on connected Android devices or emulators. Supports single APK installation and test APK installation with the -t option. ```APIDOC ## POST /adb/install ### Description Install APK files on connected Android devices or emulators. Supports both regular and test APK installations. ### Method POST ### Endpoint adb install [-t] path_to_apk ### Parameters #### Path Parameters - **path_to_apk** (string) - Required - File path to the APK to install #### Options - **-t** (flag) - Optional - Required for installing test APKs ### Request Example ``` # Install regular APK $ adb install helloWorld.apk # Install test APK $ adb install -t testApp.apk ``` ### Response #### Success Response Installation status message #### Response Example ``` Performing Streamed Install Success ``` ### Error Handling - Failed installations return error messages - Test APKs require -t flag or will fail ``` -------------------------------- ### Install APK on Android device Source: https://developer.android.com/studio/command-line/adb Demonstrates how to install an APK file on an Android emulator or connected device. Includes the -t option for test APKs and references the install-multiple command for multiple APKs. Works with both physical devices and emulators. ```bash adb install path_to_apk ``` -------------------------------- ### Run Turnkey for Android SDK Installation (Command Line) Source: https://dev.epicgames.com/documentation/en-us/unreal-engine/set-up-android-sdk-ndk-and-android-studio-using-turnkey-for-unreal-engine Executes the Unreal Automation Tool (UAT) to install the Android SDK using the Turnkey command. This command is run from the Unreal Engine installation directory. ```bash RunUAT.bat Turnkey -Command=InstallSDK Platform=Android ``` -------------------------------- ### AWS ALB mTLS Configuration for Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started This outlines the steps for configuring AWS Application Load Balancer (ALB) to enable mTLS for webhooks. It involves setting up the listener with a trust store and verifying the client certificate's CN from an HTTP header. ```plaintext 1. Download the intermediate certificate (DigiCert SHA2 High Assurance Server CA) from DigiCert to a S3 bucket. 2. Configure the HTTPS listener on the ALB to enable mTLS with the trust store containing the certificate in the S3 bucket. 3. In your application code, extract the CN from the HTTP header “X-Amzn-Mtls-Clientcert-Subject”, and verify it equals `“client.webhooks.fbclientcerts.com”`. ``` -------------------------------- ### Sample Event Notification Payload (HTTP POST) Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started Demonstrates a sample POST request payload received by your endpoint when an event occurs. This JSON payload contains details about the change, including the `field`, `value`, `id`, `uid`, and the `object` type. ```json { "entry": [ { "time": 1520383571, "changes": [ { "field": "photos", "value": { "verb": "update", "object_id": "10211885744794461" } } ], "id": "10210299214172187", "uid": "10210299214172187" } ], "object": "user" } ``` -------------------------------- ### Connect Android Emulator Source: https://developer.android.com/studio/command-line/adb Commands to start an Android emulator and ensure it appears in ADB device list. Demonstrates proper command sequence where the ADB server must be started before the emulator to avoid connection issues. Uses valid AVD names from the system. ```shell emulator -avd Nexus_6_API_25 -port 5557 ``` -------------------------------- ### Cook By the Book - Additional Cooker Options Source: https://dev.epicgames.com/documentation/en-us/unreal-engine/build-operations-cooking-packaging-deploying-and-running-projects-in-unreal-engine An example of additional command-line arguments that can be appended to the cooker during the 'Cook By the Book' process. These options allow for fine-tuning the cooking behavior, such as disabling specific features. ```plaintext -nomcp ``` -------------------------------- ### Set up port forwarding with adb Source: https://developer.android.com/studio/command-line/adb Examples of setting up port forwarding using adb forward command. Shows TCP port forwarding and forwarding to local system logging daemon. Useful for debugging network communications with Android devices. ```bash # Forward host port 6100 to device port 7100 adb forward tcp:6100 tcp:7100 # Forward host port 6100 to local:logd adb forward tcp:6100 local:logd ``` -------------------------------- ### Install APK Applications Source: https://developer.android.com/studio/command-line/adb.html Install Android Package (APK) files on connected devices or emulators. Use -t flag for test APKs and install-multiple for multiple APKs. Requires specifying target device with -s flag when multiple devices are connected. ```shell adb install path_to_apk ``` ```shell adb -s emulator-5555 install helloWorld.apk ``` ```shell adb -s 0.0.0.0:6520 install helloWorld.apk ``` -------------------------------- ### Dynamic Responses with Context Variables Source: https://wit.ai/docs/recipes Shows how to insert dynamic information into responses using variables from the context map. The example uses a `favorite_color` variable to personalize a response. It highlights deep value access using JSON paths. ```JSON { "favorite_color": "blue" } ``` -------------------------------- ### Mix FMOD Wrapper and C++ API for Event Control Source: https://fmod.com/docs/unreal/user-guide.html This C++ example demonstrates a mixed approach using both FMOD Studio wrappers and direct FMOD Studio API calls. It first plays an event using a wrapper function and then accesses the returned FMOD::Studio::EventInstance to directly set its volume. ```cpp #include "FMODBlueprintStatics.h" #include "fmod_studio.hpp" // Assuming ThisActor, MyEvent, and MyLocation are defined FFMODEventInstance InstanceWrapper = UFMODBlueprintStatics::PlayEventAtLocation(ThisActor, MyEvent, FTransform(MyLocation), true); FMOD::Studio::EventInstance* Instance = InstanceWrapper.Instance; if (Instance) { Instance->setVolume(0.5f); // The instance handle will be cleaned up automatically when the sound finishes } ``` -------------------------------- ### POST /webhooks (Event Notification) Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started Endpoint that receives event notifications from Meta when subscribed object fields change. Meta sends a POST request with a JSON payload describing the change. ```APIDOC ## POST /webhooks ### Description Endpoint that receives event notifications from Meta when subscribed object fields change. Meta sends a POST request with a JSON payload describing the change. ### Method POST ### Endpoint https://{your-domain}/webhooks ### Parameters #### Header Parameters - **Content-Type** (string) - Required - Must be "application/json". - **X-Hub-Signature-256** (string) - Required - SHA256 HMAC signature of the request body using your app secret. #### Request Body - **entry** (array) - Required - List of entry objects containing change information. - **id** (string) - Identifier of the object. - **time** (integer) - Unix timestamp of the change. - **changes** (array) - List of change objects. - **field** (string) - Name of the field that changed (e.g., "photos"). - **value** (object) - Details of the change. - **verb** (string) - Action performed (e.g., "update"). - **object_id** (string) - ID of the affected object. - **object** (string) - Required - Type of the object (e.g., "user"). ### Request Example POST /webhooks HTTP/1.1\nHost: your-clever-domain-name.com\nContent-Type: application/json\nX-Hub-Signature-256: sha256={super-long-SHA256-signature}\n\n{\n "entry": [\n {\n "id": "10210299214172187",\n "time": 1520383571,\n "changes": [\n {\n "field": "photos",\n "value": {\n "verb": "update",\n "object_id": "10211885744794461"\n }\n }\n ]\n }\n ],\n "object": "user"\n}\n ### Response #### Success Response (200) - **empty body** - Meta expects a 200 OK response with no body to acknowledge receipt. ### Response Example (HTTP 200 OK with no content) ``` -------------------------------- ### Nginx mTLS Configuration for Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started This snippet shows how to configure Nginx to enable mTLS for webhook verification. It involves setting SSL verification options and checking the client certificate's Common Name (CN). ```nginx ssl_verify_client on; ssl_client_certificate /etc/ssl/certs/DigiCert_High_Assurance_EV_Root_CA.pem; ssl_verify_depth 3; if ($ssl_client_s_dn ~ "CN=client.webhooks.fbclientcerts.com") { return 200 "$ssl_client_s_dn"; } ``` -------------------------------- ### Play FMOD Event via C++ API in Unreal Source: https://fmod.com/docs/unreal/user-guide.html This snippet demonstrates how to play an FMOD Studio event using its path directly within Unreal Engine's C++ API. It involves retrieving the Studio System, getting an event description, creating an instance, starting playback, and releasing the instance. Ensure the FMOD Studio module is initialized. ```cpp FMOD::Studio::EventDescription* eventDescription = nullptr; IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime)->getEvent("event:/Ambience/Forest", &eventDescription); FMOD::Studio::EventInstance* eventInstance = nullptr; eventDescription->createInstance(&eventInstance); eventInstance->start(); eventInstance->release(); ``` -------------------------------- ### POST /adb/shell Source: https://developer.android.com/studio/command-line/adb Execute shell commands on Android devices or start interactive shell sessions. Supports both single commands and interactive sessions. ```APIDOC ## POST /adb/shell ### Description Execute shell commands on Android devices or start interactive shell sessions. Supports both single commands and interactive sessions. ### Method POST ### Endpoint adb [-d | -e | -s serial_number] shell [shell_command] ### Parameters #### Path Parameters - **shell_command** (string) - Optional - Shell command to execute - **serial_number** (string) - Optional - Device/emulator serial number ### Request Example ``` # Execute single command $ adb shell ls /sdcard # Start interactive shell $ adb shell # Exit interactive shell Control+D ``` ### Response #### Success Response Command output or interactive shell prompt #### Response Example ``` $ adb shell ls /sdcard Alarms Android DCIM Downloads Movies Music Notifications Pictures Podcasts Ringtones ``` ### Error Handling - Command not found returns error - Permission denied returns error ``` -------------------------------- ### Create App Export JSON Configuration Source: https://wit.ai/docs/recipes This JSON configuration defines the structure of the app.json file for exporting Wit.ai app data, including version, zip command for data archiving, app metadata like name, language, and timezone. The zip command uses wildcards to include all intents, entities, traits, and utterances; it requires execution in a terminal with zip utility installed. Inputs are static strings, outputs a zipped archive; limitations include manual zip execution and non-modifiable version after creation. ```json { "version": 20200513, "zip-command": "zip simple-app-example.zip simple-app-example/app.json simple-app-example/entities/*.json simple-app-example/intents/*.json simple-app-example/traits/*.json simple-app-example/utterances/*.json", "name": "simple-app-example", "lang": "en", "timezone": "America/Los_Angeles" } ``` -------------------------------- ### Initialize and Get FMOD Studio C++ API System Source: https://fmod.com/docs/unreal/user-guide.html This C++ code shows how to check if the FMOD Studio module is available and retrieve the FMOD Studio system instance. It uses 'IFMODStudioModule::IsAvailable()' and 'IFMODStudioModule::Get().GetStudioSystem()' with 'EFMODSystemContext::Runtime' for the game's runtime system. ```cpp #include "FMODStudioModule.h" #include "fmod_studio.hpp" if (IFMODStudioModule::IsAvailable()) { FMOD::Studio::System* StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); if (StudioSystem) { // Use the StudioSystem pointer here } } ``` -------------------------------- ### Handle Emulator Not Listed in ADB Devices Source: https://developer.android.com/studio/command-line/adb.html Restart the adb server and start the emulator with specified ports to ensure visibility in adb devices output. This resolves issues where emulators started before the server aren't detected. Requires Android SDK tools, AVD names, and odd-numbered ports between 5554-5584. Multiple emulators are supported up to 16 by letting ports auto-assign. ```shell adb kill-server emulator -avd Nexus_6_API_25 -port 5555 adb devices adb kill-server emulator -avd Nexus_6_API_25 -port 5557 adb start-server adb devices ``` -------------------------------- ### Issue adb commands with device targeting Source: https://developer.android.com/studio/command-line/adb Syntax for issuing adb commands with optional device targeting parameters. Supports -d for hardware devices, -e for emulators, and -s with serial numbers for specific devices. Shows how to get help information. ```bash # Basic adb command syntax adb [-d | -e | -s serial_number] command # Get detailed help adb --help ``` -------------------------------- ### Delegate Usage Example (Class) Source: https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Delegates Provides an example of declaring a delegate in a class and using it to call a method from anywhere within the class. ```C++ class FLogWriter { void WriteToLog(FString); }; ``` ```C++ class FMyClass { FStringDelegate WriteToLogDelegate; }; ``` -------------------------------- ### Copy files between device and computer Source: https://developer.android.com/studio/command-line/adb Shows how to copy files and directories between a development machine and Android device using pull and push commands. Includes example of copying a specific file to device storage. Works with both files and directory structures. ```bash # Copy file or directory from device to local machine adb pull remote local # Copy file or directory from local machine to device adb push local remote # Example: Copy file to device SD card adb push myfile.txt /sdcard/myfile.txt ``` -------------------------------- ### Query ADB Connected Devices with Details Source: https://developer.android.com/studio/command-line/adb.html Use the adb devices command with -l flag to list all attached devices, including serial numbers, connection states (e.g., device, offline), and descriptions like product, model. This helps identify multiple devices. It assumes adb server is running; no specific dependencies beyond adb installation. Outputs vary by device count and type. ```shell adb devices -l ``` -------------------------------- ### Unity ProfilerMarker Usage Example Source: https://docs.unity3d.com/ScriptReference/Unity.Profiling.ProfilerMarker.html Demonstrates how to use the ProfilerMarker struct in Unity for performance profiling. It shows how to create markers with custom names and categories, and how to use Begin/End or the Auto scope for profiling code blocks. The example highlights that Begin and End methods are conditionally compiled away in non-Development builds, resulting in zero overhead. ```csharp using Unity.Profiling; public class MySystemClass { static readonly ProfilerMarker s_PreparePerfMarker = new ProfilerMarker("MySystem.Prepare"); static readonly ProfilerMarker s_SimulatePerfMarker = new ProfilerMarker(ProfilerCategory.Ai, "MySystem.Simulate"); public void UpdateLogic() { s_PreparePerfMarker.Begin(); // ... s_PreparePerfMarker.End(); using (s_SimulatePerfMarker.Auto()) { // ... } } } ``` -------------------------------- ### Implement Timeline in C++ Source: https://unrealcommunity.wiki/ This example demonstrates how to use the Timeline component in Unreal Engine with C++. It provides a basic class header setup for a custom actor. Requires Unreal Engine's UCLASS and UPROPERTY macros for property declarations. Note that the provided code is truncated. ```cpp UCLASS() class YOURGAME_API AYourClass: public AActor { protected: UPROPERTY() UTimelineComponen ``` -------------------------------- ### Meta Avatars Source: https://developer.oculus.com/downloads/package/meta-xr-audio-unreal Comprehensive guide to integrating and customizing Meta Avatars within Unity projects, covering configuration, SDK management, and runtime usage. ```APIDOC ## Meta Avatars ### Description APIs and tools for integrating and customizing Meta Avatars in your Unity applications, enabling personalized user representation. ### Features - Configure App and Unity Project - Avatars SDK Manager - Prefab Avatars and Editor Integration - OvrAvatarEntity and Loading Avatars - Gaze Targets, Avatar Input Tracking - Custom Hand Poses and Input Handling - Adding Face and Eye Pose - Networking Avatars - Locomotion, Socket Attachables, Optimization - Cross-Play Shaders - Best Practices and Samples ``` -------------------------------- ### Initialize Custom Shape and Color Context Map Source: https://wit.ai/docs/recipes Defines a JSON context map containing initial color values for cube and triangle shapes. This map is used as the starting point for custom context manipulation in the flow. Subsequent context modules copy and clear values based on this structure. ```JSON { "cube": { "color": "green" }, "triangle": { "color": "red" } } ``` -------------------------------- ### Initialize and Get FMOD Studio System in C++ Source: https://www.fmod.com/docs/2.02/unreal/user-guide.html This C++ code shows how to check if the FMOD Studio module is available and retrieve the Studio system instance for runtime use. It utilizes IFMODStudioModule and specifies the EFMODSystemContext to get the correct system. ```cpp #include "fmod_studio.hpp" #include "FMODStudioModule.h" // ... inside your function ... if (IFMODStudioModule::IsAvailable()) { FMOD::Studio::System* StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); if (StudioSystem) { // Use the StudioSystem here // For example: StudioSystem->update(); } } ``` -------------------------------- ### LMKT Device Configuration Example (Android) Source: https://source.android.com/docs/core/perf/lmkd An example of how to set LMKT properties in a device's makefile. This configuration overrides default values for memory killing thresholds and behavior. ```makefile PRODUCT_PROPERTY_OVERRIDES += \ ro.lmk.low=1001 \ ro.lmk.medium=800 \ ro.lmk.critical=0 \ ro.lmk.critical_upgrade=false \ ro.lmk.upgrade_pressure=100 \ ro.lmk.downgrade_pressure=100 \ ro.lmk.kill_heaviest_task=true ``` -------------------------------- ### UnrealEditor-cmd.exe for Cook On the Fly Server Source: https://dev.epicgames.com/documentation/en-us/unreal-engine/build-operations-cooking-packaging-deploying-and-running-projects-in-unreal-engine This command launches the Unreal Editor in command-line mode to act as a Cook Server for the 'Cook On the Fly' method. It specifies the project, enables the 'cook' run, and sets the target platform and cook-on-the-fly mode. ```batch UnrialEditor-cmd.exe [FullAbsolutePathToProject.uproject]-run=cook -targetplatform=Windows -cookonthefly ``` -------------------------------- ### UE4 Client-Server Connection Commands (Unreal Engine) Source: https://github.com/oculus-samples/Unreal-SharedSpaces/blob/main-5.x/Documentation/SharedSpaces Demonstrates the 'open' console command syntax for establishing UE4 client-server connections. It covers both the master client (listen-server) mode and the normal client mode, including parameters for level name, start position, and listen directive. ```unreal_script // Master Client (Listen-Server Mode) open # ? listen // Normal Client Mode open
# ``` -------------------------------- ### Perfetto Trace Configuration Source: https://perfetto.dev/docs/reference/trace-config-proto Configuration options for Perfetto tracing sessions, including file writing, deferred start, flush periods, bugreport integration, and session priorities. ```APIDOC ## Perfetto Trace Configuration Parameters ### Description This section details the various configuration parameters available for Perfetto tracing sessions. These parameters allow fine-grained control over how traces are captured, stored, and managed. ### Method N/A (Configuration parameters) ### Endpoint N/A (Configuration parameters) ### Parameters #### Trace Configuration Options - **file_write_period_ms** (uint32) - Optional. Tunes the write period for trace data. A minimum of 100ms is enforced. - **max_file_size_bytes** (uint64) - Optional. Stops periodic writing once this file size limit is reached, disabling tracing. - **guardrail_overrides** (GuardrailOverrides) - Optional. Overrides for guardrail settings. - **deferred_start** (bool) - Optional. When true, data sources are not started until an explicit `StartTracing()` call. Requires consumer to trigger start. Not for remote statsd configs. - **flush_period_ms** (uint32) - Optional. Periodically issues a `Flush()` to data sources, committing data and ensuring partial ordering. - **flush_timeout_ms** (uint32) - Optional. Timeout duration (default 5s) to wait for producers to acknowledge flush requests. - **data_source_stop_timeout_ms** (uint32) - Optional. Timeout duration (default 5s) to wait for producers to acknowledge stop requests. - **notify_traceur** (bool) - Android-only. Optional. If set, sends an intent to the Traceur system app when the trace ends. - **bugreport_score** (int32) - Android-only. Introduced in S. Optional. If > 0, marks the trace session as a candidate for bugreport attachment. Higher scores have higher priority. - **bugreport_filename** (string) - Optional. Defines the filename for bugreport traces saved under `/data/misc/perfetto-traces/bugreport/`. Introduced in v42 / Android V. - **trigger_config** (TriggerConfig) - Optional. Configuration for triggers. - **activate_triggers** (string[]) - Optional. If non-empty, the Perfetto CLI ignores other configurations and sends these triggers to the service. - **incremental_state_config** (IncrementalStateConfig) - Optional. Configuration for incremental state. - **allow_user_build_tracing** (bool) - No longer needed, tracing is unconditionally allowed on user builds. - **unique_session_name** (string) - Optional. Ensures at most one tracing session with this key exists. - **compression_type** (CompressionType) - Optional. Specifies the compression type for the trace. - **incident_report_config** (IncidentReportConfig) - Optional. Configuration for incident reports. - **statsd_logging** (StatsdLogging) - Android-only. Not for general use. Enables statsd logging for guardrails and checkpoints. - **trace_uuid_msb** (int64) - DEPRECATED (v32). An identifier to tie this trace to other logging. Only respected if gap-less snapshotting is not used. - **trace_uuid_lsb** (int64) - Part of the deprecated trace UUID. - **trace_filter** (TraceFilter) - Optional. Filters for trace data. - **android_report_config** (AndroidReportConfig) - Optional. Configuration for Android reports. - **cmd_trace_start_delay** (CmdTraceStartDelay) - Optional. Configuration for command trace start delay. - **session_semaphores** (SessionSemaphore[]) - Optional. Configuration for session semaphores. - **priority_boost** (PriorityBoostConfig) - Optional. Priority boost to be applied to the traced process. - **exclusive_prio** (uint32) - Optional. If > 0, starts the session in "exclusive mode" (requires root/shell, higher priority than existing sessions, aborts other sessions, rejects lower priority sessions). Introduced in [version/OS]. ### Request Example ```json { "file_write_period_ms": 500, "max_file_size_bytes": 1073741824, "deferred_start": true, "flush_period_ms": 200, "notify_traceur": true, "bugreport_score": 10, "exclusive_prio": 100 } ``` ### Response #### Success Response (200) N/A (Configuration parameters do not return a response in this format) #### Response Example N/A ``` -------------------------------- ### Generate Android Keystore - Command Line Source: https://docs.unrealengine.com/5.2/en-US/signing-android-projects-for-release-on-the-google-play-store-with-unreal-engine Generates a new Android keystore file required for signing your project for release on the Google Play store. This command uses the `keytool` utility to create a keystore with specified parameters, including alias, key algorithm, size, and validity. ```bash keytool -genkey -v -keystore ExampleKey.keystore -alias MyKey -keyalg RSA -keysize 2048 -validity 10000 ``` -------------------------------- ### Launch Unreal Insights from Command Line on Windows Source: https://docs.unrealengine.com/en-us/Engine/Performance/Profiler Execute the prebuilt Unreal Insights application on Windows platforms. Requires a binary installation of Unreal Engine with the executable located in the Engine Binaries directory. ```shell Engine\Binaries\[Platform]\UnrealInsights.exe ``` -------------------------------- ### Analyze ART Execution Profiles Source: https://developer.android.com/studio/command-line/adb.html Retrieves and analyzes Android Runtime (ART) execution profiles for installed apps starting from Android 7.0 (API 24). Used to optimize app performance by identifying frequently executed methods and classes during app startup. Requires root access to retrieve profile files. ```shell adb shell cmd package dump-profiles package ``` ```shell adb pull /data/misc/profman/package.prof.txt ``` -------------------------------- ### GET /message Source: https://wit.ai/docs/quickstart Send text to Wit.ai for natural language processing. Returns recognized intents, entities, and traits from the text utterance. ```APIDOC ## GET /message ### Description Send text to Wit.ai for natural language processing. The API analyzes the utterance and returns recognized intents, entities, and traits. ### Method GET ### Endpoint /message?q={query} ### Parameters #### Query Parameters - **q** (string) - Required - The text utterance to process - **n** (integer) - Optional - Number of n-best intents to return (default: 1) - **verbose** (boolean) - Optional - Whether to return full entity annotations ### Request Example ```bash curl -X GET \ 'https://api.wit.ai/message?q=set%20the%20temperature%20to%2070%20degrees' \ -H 'Authorization: Bearer YOUR_WIT_ACCESS_TOKEN' ``` ### Response #### Success Response (200) - **text** (string) - The processed text utterance - **intents** (array) - Array of recognized intents with confidence scores - **entities** (object) - Extracted entities with their values and metadata - **traits** (object) - Detected traits from the utterance #### Response Example ```json { "text": "set the temperature to 70 degrees", "intents": [ { "id": "228869141559004", "name": "temperature_set", "confidence": 0.9954 } ], "entities": { "wit$temperature:temperature": [ { "id": "957505051332853", "name": "wit$temperature", "role": "temperature", "start": 23, "end": 33, "body": "70 degrees", "confidence": 0.9785, "entities": [], "unit": "degree", "type": "value", "value": 70 } ] }, "traits": {} } ``` ``` -------------------------------- ### GET /achievement_definitions Source: https://developer.oculus.com/documentation/unity/ps-achievements Retrieves achievement definitions, allowing you to get information about achievements to display to your users. You can filter by specific achievement names and include archived achievements. ```APIDOC ## GET /achievement_definitions ### Description Retrieves achievement definitions, allowing you to get information about achievements to display to your users. You can filter by specific achievement names and include archived achievements. ### Method GET ### Endpoint https://graph.oculus.com/$APPID/achievement_definitions ### Parameters #### Query Parameters - **access_token** (string) - Required - Bearer token that contains OC|$APP_ID|$APP_SECRET. - **api_names** (string array) - Optional - The names of the achievement definitions to fetch. If omitted all achievement definitions are returned. - **include_archived** (boolean) - Optional - Boolean that indicates whether to include archived achievements. This may only be used when an App Access Token is used to authenticate. - **fields** (string) - Optional - A comma-separated list of field names to retrieve. Can contain: `api_name`, `achievement_type`, `achievement_write_policy`, `target`, `bitfield_length`, `is_archived`, `title`, `description`, `unlocked_description_override`, `is_secret`, `locked_image_uri`, `unlocked_image_uri`. If omitted, only the IDs are returned. ### Request Example ```curl curl -X GET "https://graph.oculus.com/$APP_ID/achievement_definitions?fields=api_name,achievement_type,achievement_write_policy,target,bitfield_length,is_archived,title,description,unlocked_description_override,is_secret,locked_image_uri,unlocked_image_uri&api_names=\"VISIT_3_CONTINENTS\"&access_token=OC\|$APP_ID\|$APP_SECRET" ``` ### Response #### Success Response (200) - **data** (array) - An array of achievement definition objects. - **id** (string) - The unique identifier for the achievement. - **api_name** (string) - The API name of the achievement. - **achievement_type** (string) - The type of the achievement (e.g., BITFIELD, COUNT, SIMPLE). - **achievement_write_policy** (string) - The server's policy for writing achievement progress. - **target** (number) - The target value for count-based achievements. - **bitfield_length** (number) - The length of the bitfield for bitfield-based achievements. - **is_archived** (boolean) - Indicates if the achievement is archived. - **title** (string) - The title of the achievement. - **description** (string) - The description of how to earn the achievement. - **unlocked_description_override** (string) - An override description shown when the achievement is unlocked. - **is_secret** (boolean) - Indicates if the achievement is secret. - **locked_image_uri** (string) - The URI for the locked achievement image. - **unlocked_image_uri** (string) - The URI for the unlocked achievement image. #### Response Example ```json { "data": [ { "id": "1074233745960170", "api_name": "VISIT_3_CONTINENTS", "achievement_type": "BITFIELD", "achievement_write_policy": "SERVER_AUTHORITATIVE", "target": 3, "bitfield_length": 7, "is_archived": false, "title": "Achievement Title", "description": "How to earn me", "unlocked_description_override": "You did it", "is_secret": false, "locked_image_uri": "https://scontent.oculuscdn.com/...", "unlocked_image_uri": "https://scontent.oculuscdn.com/..." } ] } ``` ``` -------------------------------- ### POST /adb/pull Source: https://developer.android.com/studio/command-line/adb Copy files and directories from Android device to host machine. Supports recursive copying of entire directory structures. ```APIDOC ## POST /adb/pull ### Description Copy files and directories from Android device to host machine. Supports recursive copying of directory structures. ### Method POST ### Endpoint adb pull remote_path local_path ### Parameters #### Path Parameters - **remote_path** (string) - Required - Path to file/directory on device - **local_path** (string) - Required - Destination path on host machine ### Request Example ``` # Pull single file $ adb pull /sdcard/myfile.txt ./myfile.txt # Pull entire directory $ adb pull /sdcard/myphotos ./myphotos ``` ### Response #### Success Response Copy progress and completion status #### Response Example ``` /sdcard/myfile.txt: 1 file pulled. 0.0 MB/s (1234 bytes in 0.001s) ``` ### Error Handling - File not found returns error - Permission denied returns error ``` -------------------------------- ### Configure Android SDK Manager Path in SetupAndroid.bat Source: https://docs.unrealengine.com/5.1/en-US/how-to-set-up-android-sdk-and-ndk-for-your-unreal-engine-development-environment This snippet shows how to modify the `SetupAndroid.bat` script on Windows to point to a specific version of the Android SDK Command-line Tools. It's necessary when the default 'latest' path doesn't contain the required version. ```batch set SDKMANAGER=%STUDIO_SDK_PATH%\cmdline-tools\8.0\bin\sdkmanager.bat ``` -------------------------------- ### getClientAudioSource Source: https://developer.android.com/reference/android/media/AudioRecordingConfiguration Gets the audio source selected by the client application. Available starting API level 24. ```APIDOC ## GET /client/audio/source ### Description Returns the audio source selected by the client. ### Method GET ### Endpoint /client/audio/source ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **int** (int) - the audio source selected by the client. Value is `MediaRecorder.AudioSource.DEFAULT`, `MediaRecorder.AudioSource.MIC`, `MediaRecorder.AudioSource.VOICE_UPLINK`, `MediaRecorder.AudioSource.VOICE_DOWNLINK`, `MediaRecorder.AudioSource.VOICE_CALL`, `MediaRecorder.AudioSource.CAMCORDER`, `MediaRecorder.AudioSource.VOICE_RECOGNITION`, `MediaRecorder.AudioSource.VOICE_COMMUNICATION`, `MediaRecorder.AudioSource.UNPROCESSED`, or `MediaRecorder.AudioSource.VOICE_PERFORMANCE` ``` -------------------------------- ### getFormat Source: https://developer.android.com/reference/android/media/AudioRecordingConfiguration Gets the audio format used for recording on the Android device. Available starting API level 24. ```APIDOC ## GET /format ### Description Returns the audio format at which audio is recorded on this Android device. Note that it may differ from the client application recording format (see `getClientFormat()`) ### Method GET ### Endpoint /format ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **AudioFormat** (AudioFormat) - the device recording format ``` -------------------------------- ### getClientFormat Source: https://developer.android.com/reference/android/media/AudioRecordingConfiguration Gets the audio format used by the client application for recording. Available starting API level 24. ```APIDOC ## GET /client/format ### Description Returns the audio format at which the client application is recording audio. Note that it may differ from the actual recording format (see `getFormat()`) ### Method GET ### Endpoint /client/format ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **AudioFormat** (AudioFormat) - the recording format ``` -------------------------------- ### getAudioSource Source: https://developer.android.com/reference/android/media/AudioRecordingConfiguration Gets the audio source currently used for the capture path. Available starting API level 29. ```APIDOC ## GET /audio/source ### Description Returns the audio source currently used to configure the capture path. It can be different from the source returned by `getClientAudioSource()` if another capture is active. ### Method GET ### Endpoint /audio/source ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **int** (int) - the audio source active on the capture path. Value is `MediaRecorder.AudioSource.DEFAULT`, `MediaRecorder.AudioSource.MIC`, `MediaRecorder.AudioSource.VOICE_UPLINK`, `MediaRecorder.AudioSource.VOICE_DOWNLINK`, `MediaRecorder.AudioSource.VOICE_CALL`, `MediaRecorder.AudioSource.CAMCORDER`, `MediaRecorder.AudioSource.VOICE_RECOGNITION`, `MediaRecorder.AudioSource.VOICE_COMMUNICATION`, `MediaRecorder.AudioSource.UNPROCESSED`, or `MediaRecorder.AudioSource.VOICE_PERFORMANCE` ``` -------------------------------- ### Monetization APIs Source: https://developer.oculus.com/downloads/package/meta-xr-audio-unreal Documentation for implementing monetization strategies, including add-ons (DLC, IAP), subscriptions, and server-side APIs for managing purchases. ```APIDOC ## Monetization APIs ### Description APIs to enable in-app purchases, downloadable content, and subscription models for your application. ### Features - Add-ons (DLC and IAP) - Add-ons Purchase Integration - Add-ons Server APIs - Subscriptions Server APIs for Subscriptions ``` -------------------------------- ### GET /achievements Source: https://developer.oculus.com/documentation/unity/ps-achievements Retrieves a user's progress for an achievement. You can specify which achievements to query. ```APIDOC ## GET /achievements ### Description Retrieves a user's progress for an achievement. You can specify which achievements to query. ### Method GET ### Endpoint https://graph.oculus.com/$USER_ID/achievements ### Parameters #### Query Parameters - **access_token** (string) - Required - Bearer token that contains OC|$APP_ID|$APP_SECRET. - **api_names** (string array) - Optional - The names of the achievement definitions to fetch. If omitted all achievement definitions are returned. ### Response #### Success Response (200) - **data** (array) - An array of achievement progress objects for the specified user and achievements. #### Response Example (Example response not provided in the source text, but would typically include progress details for each queried achievement.) ``` -------------------------------- ### Locomotion Overview Source: https://developers.meta.com/horizon/downloads/package/meta-xr-interaction-sdk-unreal Detailed overview of locomotion methods available for Meta Quest, covering teleport, slide, and step interactions. This section provides guidance on implementing various locomotion techniques. ```APIDOC ## Locomotion Overview ### Description This section details various locomotion methods for Meta Quest. ### Method N/A - Informational ### Endpoint N/A - Informational ### Parameters #### Path Parameters - N/A #### Query Parameters - N/A #### Request Body - N/A ### Request Example { "example": "N/A" } ### Response #### Success Response (200) - **teleport** (boolean) - Indicates teleport functionality. - **slide** (boolean) - Indicates slide locomotion. #### Response Example { "example": "N/A" } ``` -------------------------------- ### Clone Unreal Occlusion Sample Repository Source: https://github.com/oculus-samples/Unreal-OcclusionSample This command clones the Unreal Occlusion Sample repository using Git LFS. Ensure Git LFS is installed before running. ```bash git clone https://github.com/oculus-samples/Unreal-OcclusionSample ``` -------------------------------- ### Interaction SDK Overview Source: https://developers.meta.com/horizon/downloads/package/meta-xr-interaction-sdk-unreal Provides a high-level overview of the Interaction SDK, covering core concepts like interactors, interactables, and interaction lifecycles. It explains how to build immersive interactions using the SDK. ```APIDOC ## Interaction SDK Overview ### Description Provides a high-level overview of the Interaction SDK. ### Method N/A - Informational ### Endpoint N/A - Informational ### Parameters #### Path Parameters - N/A #### Query Parameters - N/A #### Request Body - N/A ### Request Example { "example": "N/A" } ### Response #### Success Response (200) - **description** (string) - Description of the SDK's purpose. #### Response Example { "example": "N/A" } ``` -------------------------------- ### Quest Tools and System Features Source: https://developer.oculus.com/downloads/package/meta-xr-audio-unreal Information on Quest-specific tools, including app deep linking, system deep linking, in-app updates, and cloud storage. ```APIDOC ## Quest Tools and System Features ### Description Tools and functionalities specific to the Meta Quest platform, enhancing app distribution, updates, and data management. ### Features - Quest Tools Overview - App Deep Linking - System Deep Linking - In App Update APIs - Asset Files to Manage Download Size - Cloud Storage (Cloud Backup, Save Game Best Practices) - Shader Compilation - Cross-Device Development with App Groupings - Webhooks ``` -------------------------------- ### View System Overview Source: https://developer.android.com/reference/android/media/AudioRecordingConfiguration This section provides a high-level overview of the Android View System API. It describes the key classes and interfaces involved in building user interfaces. ```APIDOC ## Android View System Overview ### Description Provides a general overview of the components involved in Android's UI system. ### Method N/A ### Endpoint N/A ### Parameters #### Path Parameters - N/A #### Query Parameters - N/A #### Request Body - N/A ### Request Example { "example": "N/A" } ### Response #### Success Response (200) - N/A #### Response Example { "example": "N/A" } ``` -------------------------------- ### Query Achievement Progress (GET) Source: https://developer.oculus.com/documentation/unity/ps-achievements Retrieves a user's current progress for specific achievements. If no achievement names are provided, it returns progress for all achievements associated with the user. ```bash GET https://graph.oculus.com/$USER_ID/achievements ``` -------------------------------- ### Get Available Locales Stream (Java) Source: https://developer.android.com/reference/java/util/Locale.html Returns a stream of installed locales. The returned stream is guaranteed to contain at least a Locale instance equal to Locale.US. Unlike getAvailableLocales(), this method does not create a defensive copy of the Locale array. ```java public static Stream availableLocales () ``` -------------------------------- ### Utilizing Wit.ai Entities in Composer Flows Source: https://wit.ai/docs/recipes Explains how to integrate entities recognized by Wit.ai into a Composer flow. It demonstrates saving an entity to the context map and using its value in a response. This allows for more natural language interaction by leveraging parsed user input. ```JSON { "pizza_type": "pizza_type" } ``` -------------------------------- ### Retrieve Achievement Definitions (GET) Source: https://developer.oculus.com/documentation/unity/ps-achievements Fetches achievement definitions for a given application. Supports filtering by achievement API names and including archived achievements. Returns detailed information about achievements, including URIs for locked and unlocked images. ```bash curl -X GET "https://graph.oculus.com/$APP_ID/achievement_definitions?fields=api_name,achievement_type,achievement_write_policy,target,bitfield_length,is_archived,title,description,unlocked_description_override,is_secret,locked_image_uri,unlocked_image_uri&api_names=\"VISIT_3_CONTINENTS\"&access_token=OC\|$APP_ID\|$APP_SECRET" ``` -------------------------------- ### Initialize Git LFS Source: https://github.com/oculus-samples/Unreal-OcclusionSample This command initializes Git Large File Storage (LFS) for the repository. It is a prerequisite for cloning repositories that use Git LFS. ```bash git lfs install ``` -------------------------------- ### Execute Shell Commands on Android Device Source: https://developer.android.com/studio/command-line/adb.html Run shell commands or start interactive shell sessions on Android devices through ADB. Supports both single command execution and interactive terminal sessions. Exit interactive shell with Control+D. ```shell adb [-d |-e | -s serial_number] shell shell_command ``` ```shell adb [-d | -e | -s serial_number] shell ``` -------------------------------- ### Set Order Confirmation Action with JSON Context Source: https://wit.ai/docs/recipes Demonstrates how to mock an action by updating the context map with an order confirmation ID. The JSON snippet is used in the query section to simulate the action response. This enables the response module to display the order confirmation to the user. ```JSON { "order_confirmation": "PIZZA42" } ``` -------------------------------- ### Specify FMOD Plugins for Deployment Source: https://www.fmod.com/docs/2.02/unreal/user-guide.html Create a 'plugins.txt' file to list FMOD plugins for deployment. This file should reside in the FMODStudio/Binaries/Platform/ directory and contain only the plugin names without extensions. This ensures that necessary plugins, like fmod_gain.dll, are included in the build. ```text fmod_gain ``` -------------------------------- ### Simulate Input Using Console Commands Source: https://dev.epicgames.com/documentation/en-us/unreal-engine/enhanced-input-in-unreal-engine Console commands for injecting simulated input to test input handling without physical devices. Use Input.+key with parameters to start and Input.-key to stop input for a specific key. Requires knowledge of FKey names from InputCoreTypes.cpp or the key picker widget. ```text Input.+key Gamepad_Left2D X=0.7 Y=0.5 Input.-key Gamepad_Left2D ```