6labs SDK for Unreal

This section explains how to integrate the 6labs SDK into your Unreal Engine apps on Windows.

1. Download and Import the Module

The 6labs SDK is provided as an Unreal Engine plugin.

Add the module to your Unreal project:

  1. Download the package containing the latest version of 6labs SDK for Unreal Engine.
  2. Extract the plugin into your project’s Plugins directory (YourProject/Plugins/SixLabsSDK/).
  3. Confirm that the plugin is enabled:
    • In the Unreal Editor, go to Edit > Plugins.
    • Search for “6Labs SDK” and confirm it is enabled.
  4. Add module dependency
    • In your game module’s Build.cs, add: PublicDependencyModuleNames.Add("SixLabsSDK");

2. Start Gameplay Capture

Use the Init() method to initialize the SDK and start the gameplay capture process, as illustrated below:

#include "SixLabsSubsystem.h"

 USixLabsSubsystem* SixLabs = GetSubsystem();

 // Start a capture session
 SixLabs->Init(TEXT("optional_player_in_game_id"), TEXT("optional_developer_payload_here"));

 // ... gameplay happens — data is captured and uploaded automatically ...

Important Information

  • Ensure that you obtain user consent before initiating gameplay capture. The SDK does not automatically request permission; consent handling must be implemented in your game logic.
  • As a suggested best practice, you may include a disclosure of gameplay recording in your game’s EULA or privacy policy.
  • To properly test it, you need to create a platform-specific build and run it on a physical device.

Reference

The following is the method reference for the Init() method.

Method Signature

SixLabs->Init(TEXT("optional_player_in_game_id"), TEXT("optional_developer_payload_here"));

Parameters

Parameter Type Required Description
InGameId FString No An optional user identifier within the game. If not passed, it defaults to an empty string.
DeveloperPayload FString No Optional developer-defined metadata associated with the session. This value is forwarded as-is with the capture request and can be used to attach custom tracking or contextual information.
Examples:

  • Acquisition channel
  • Campaign ID
  • User segment (e.g., new, returning, whale)
  • A/B test variant (e.g., variant_a, variant_b) — split users into cohorts and compare gameplay metrics across them in the 6Labs dashboard.
  • Internal reference identifiers

3. Advanced Capture Controls

In most integrations, calling Init() is sufficient to begin the capture flow. For advanced or custom capture control, you may also use StartCapture() and StopCapture() directly.

3.1 Start Capture

Use the StartCapture() method when you want to explicitly control when gameplay capture begins.

#include "SixLabsSubsystem.h"

 USixLabsSubsystem* SixLabs = GetSubsystem();

 // Start a capture session
 SixLabs->StartCapture(TEXT("optional_player_in_game_id"), TEXT("optional_developer_payload_here"));

 // ... gameplay happens — data is captured and uploaded automatically ...

Method Signature

SixLabs->StartCapture(TEXT("optional_player_in_game_id"), TEXT("optional_developer_payload_here"));

Parameters

Parameter Type Required Description
InGameId FString No An optional user identifier within the game. If not passed, it defaults to an empty string.
DeveloperPayload FString No Optional developer-defined metadata associated with the session. This value is forwarded as-is with the capture request and can be used to attach custom tracking or contextual information.

3.2 Stop Capture

Use the StopCapture() method to stop the active gameplay capture session.

// Stop the session
 SixLabs->StopCapture();

Important Information

  • Stops the active gameplay capture session.
  • You can call StartCapture() again later to begin a new session.
×

Table Of Contents

6labs SDK for Unreal

Table Of Contents

Document Rev. 1.0

Text copied to clipboard
Link copied to clipbord
Questions? Please reach out to us at dev-support@now.gg