> ## Documentation Index
> Fetch the complete documentation index at: https://docs.liv.tv/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Troubleshoot common LIV Camera Kit issues in Unity. Installation errors, recording failures, audio problems, tablet issues, and platform-specific fixes.

Common issues and solutions when using LIV Camera Kit in Unity.

***

## Installation Issues

<AccordionGroup>
  <Accordion title="LCK packages do not appear in Unity after installation">
    Close Unity completely, verify the `tv.liv.lck` and `tv.liv.lck-streaming` folders are placed directly inside `{YourProject}/Packages/` (not nested), then reopen Unity.

    **Example**: [https://discord.com/channels/344602581735178260/1364680437485797398](https://discord.com/channels/344602581735178260/1364680437485797398)

    <img src="https://mintcdn.com/liv/SQWqg071c4XHiEXi/images/unity/lck_not_in_package.png?fit=max&auto=format&n=SQWqg071c4XHiEXi&q=85&s=6b61d22aa2dfab8734639e9b8fc7c850" alt="Lck Not In Package" title="Lck Not In Package" style={{ width:"28%" }} width="240" height="268" data-path="images/unity/lck_not_in_package.png" />

    **Solution**

    1. Confirm you've [properly installed LCK](https://docs.liv.tv/installation), noting that the editor must be closed first
    2. Ensure you're not hiding packages. Toggle the 'eye control' to show or hide packages

           <img src="https://mintcdn.com/liv/SQWqg071c4XHiEXi/images/unity/packages_hidden.png?fit=max&auto=format&n=SQWqg071c4XHiEXi&q=85&s=7c4e3b8cedd8169bdd453d7097e9e038" alt="Packages Hidden" width="786" height="61" data-path="images/unity/packages_hidden.png" />
  </Accordion>

  <Accordion title="Errors or crashes when installing LCK">
    Unity was open during installation. Close the editor, delete the partially installed LCK folders from Packages, and re-install with Unity closed. LCK requires native libraries to load at editor startup.
  </Accordion>

  <Accordion title="Errors after upgrading LCK">
    Close Unity before swapping SDK versions. Delete the old `tv.liv.lck` and `tv.liv.lck-streaming` folders first, then add the new versions. Upgrading while Unity is open will fail because Unity never unloads libraries during a session.
  </Accordion>

  <Accordion title="Compilation error: 'Newtonsoft' could not be found">
    **Solution**: Ensure you are using a supported version of Unity, and have `Newtonsoft Json` installed in the package manager.
  </Accordion>

  <Accordion title="Code stripping errors with IL2CPP or high Managed Stripping Level">
    Fixed in v1.4.1+. Update to the latest SDK version.
  </Accordion>

  <Accordion title="LckTopButtonsController Error after installing LCK">
    **Problem**: You get an error

    > Packages\tv.liv.lck\Runtime\Scripts\Streaming\LckStreamingController.cs(392,39): error CS1061: 'LckTopButtonsController' does not contain a definition for 'SetActive' and no accessible extension method 'SetActive' accepting a first argument of type 'LckTopButtonsController' could be found (are you missing a using directive or an assembly reference?)
    >
    > Packages\tv.liv.lck\Runtime\Scripts\Streaming\LckStreamingController.cs(390,64): error CS1061: 'LckTopButtonsController' does not contain a definition for 'activeSelf' and no accessible extension method 'activeSelf' accepting a first argument of type 'LckTopButtonsController' could be found (are you missing a using directive or an assembly reference?)

    **Example** [https://discord.com/channels/344602581735178260/1464258924277665926](https://discord.com/channels/344602581735178260/1464258924277665926)

    <img src="https://mintcdn.com/liv/Qb3MS4Lb3Uc_dVsy/images/unity/troubleshooting/error_setactive.png?fit=max&auto=format&n=Qb3MS4Lb3Uc_dVsy&q=85&s=8894f83bffd3f71c51f18c17ddb618f4" alt="Error Setactive" width="2914" height="210" data-path="images/unity/troubleshooting/error_setactive.png" />

    **Cause**: `tv.liv.lck-streaming` package can't be found in the \Packages folder

    **Solution**:

    1. If you want streaming functionality, the package must be included. It's part of the SDK download. Revivew [Unity Installation](/installation). Unzip and add the package
    2. If it's intended to not include streaming, you will need to modify the below code. A future v1.4.4 patch will include this change but you can do it yourself ahead.

    In LckStreamingController.s Line 390

    ```csharp LckStreamingController.s theme={null}
    if (_topButtonsController && _topButtonsController.activeSelf == true)
    {
    _topButtonsController.SetActive(false);
    }
    ```

    With

    ```csharp LckStreamingController.s theme={null}
    if (_topButtonsControllerGameObject && _topButtonsControllerGameObject.activeSelf == true)
    {
    _topButtonsControllerGameObject.SetActive(false);
    }
    ```
  </Accordion>
</AccordionGroup>

***

## Recording Issues

<AccordionGroup>
  <Accordion title="Tablet screen is grey / LCK Tablet layer 'LCK Tablet' not found in project layers error">
    Cause: Unable to find LCK Tablet layer

    Solution: Check that you've added the 'LCK Tablet' layer to your project layers.

    <img src="https://mintcdn.com/liv/CR3dZgndDJCEQqqp/images/unity/adding_the_lck_tablet_layer.png?fit=max&auto=format&n=CR3dZgndDJCEQqqp&q=85&s=b6e7a4d3b216ca14c3abce7099e487f8" alt="Adding The Lck Tablet Layer" width="609" height="436" data-path="images/unity/adding_the_lck_tablet_layer.png" />
  </Accordion>

  <Accordion title="Recording produces ERROR or fails on Quest with OpenGL">
    Fixed in v1.2.3. Update to the latest SDK. The issue was caused by an EGL context creation problem.
  </Accordion>

  <Accordion title="Recordings not showing up in gallery, videos saving with NaN size">
    **Problem**: Prefab has been added. Recordings are saved but have NaN size when viewed in Meta Quest Developer Hub. The videos do not show up in the Meta Quest gallery app. Fmod audio is used in the project.

    Example of user encountering this issue: [https://discord.com/channels/344602581735178260/1460258207535464501](https://discord.com/channels/344602581735178260/1460258207535464501)

    **Solution**: Disable the option "Disable Unity Audio", add the right ifdefs LCK\_NOT\_UNITY\_AUDIO, then renable the "Disable Unity Audio" option.
  </Accordion>

  <Accordion title="Camera stops recording when the scene changes">
    Enable `DontDestroyOnLoad` on the tablet
  </Accordion>

  <Accordion title="Long recordings become corrupt (video skipping, truncated output)">
    Fixed in v1.3.4. Update to the latest SDK.
  </Accordion>

  <Accordion title="Video and audio artifacts at the beginning of recording">
    Fixed in v1.3.0. Update to the latest SDK.
  </Accordion>

  <Accordion title="Color output does not match the game on Quest">
    Fixed in v1.4.3. Update to the latest SDK.
  </Accordion>
</AccordionGroup>

***

## Audio Issues

<AccordionGroup>
  <Accordion title="Audio artifacts or dropped audio in recordings">
    Set DSP buffer size to **Default** or **1024** in Unity Audio settings. Smaller buffer sizes cause drops that are more noticeable in recordings.
  </Accordion>

  <Accordion title="Audio is not being picked up or you're having other audio issues">
    **Solution**: Ensure that you do not have two or more audio listeners in the scene, as this is not supported by LCK.
  </Accordion>

  <Accordion title="FMOD audio not captured">
    Add the correct scripting define: `LCK_FMOD` for FMOD 2.02, or `LCK_FMOD_2_03` for FMOD 2.03+. Place an `LckAudioMarker` on the target GameObject.
  </Accordion>

  <Accordion title="Wwise audio not captured">
    Add `LCK_WWISE` scripting define. Ensure you are on LCK v1.2.0+ for Wwise support. v1.2.1+ fixes additional Wwise capture issues.
  </Accordion>

  <Accordion title="Microphone conflicts with Photon Voice">
    Use `LCK_FMOD_WITH_UNITY_AUDIO` combined with `LCK_FMOD` if running FMOD alongside Photon Voice. Fixed in v1.2.0+.

    If you're using Photon Voice make sure the microphone type is set to use Photon and disable the fallback option below it.
  </Accordion>

  <Accordion title="While using Photon Voice, other player's voices are not recorded">
    **Solution**:

    As of LCK 1.4.3 there is now an LCK audio source which supports capturing FMOD audio and combining it with Unity audio (e.g. to pick up Photon Voice). The new audio source is `LckAudioCaptureFMODAndUnity`. To use it, ensure you have the following defines set:

    * `LCK_FMOD` (and optionally, `LCK_FMOD_2_03` if you're using FMOD 2.03+)
    * `LCK_FMOD_WITH_UNITY_AUDIO`

    This will be automatically created by LCK on the `GameObject` with an `AudioListener` component in the scene, unless you've manually added an `ILckAudioSource` to your scene.
  </Accordion>

  <Accordion title="Remote user's audio is not being captured when using Vivox Voice">
    **Problem**: Recordings do not capture other player's voices. You can hear them in game but not in the video recordings. Your app is using Vivox.

    **Example**: [https://discord.com/channels/344602581735178260/1461360067919220746](https://discord.com/channels/344602581735178260/1461360067919220746)

    **Solution:** Verify that the audio capture component is instantiated on all client platforms, not just a subset. If the audio tap or capture interface is only initialized on certain platforms (e.g., desktop but not mobile/VR clients), remote audio sources will not be recorded correctly on the missing platforms.

    **Troubleshooting steps:**

    1. Check that audio capture initialization occurs on all target platforms
    2. Verify platform-specific build configurations include necessary audio components
    3. Ensure conditional compilation or platform checks aren't inadvertently excluding audio capture on certain clients
    4. Test audio recording functionality on each platform independently to confirm proper instantiation
  </Accordion>

  <Accordion title="Audio and/or Video does not record in other scenes">
    **Problem:** Video and/or audio stops being recorded when the scene changes.

    Example: [https://discord.com/channels/344602581735178260/1455581743313584190](https://discord.com/channels/344602581735178260/1455581743313584190)

    **Solution:** Use `[DontDestroyOnLoad](https://docs.unity3d.com/6000.3/Documentation/ScriptReference/Object.DontDestroyOnLoad.html)`call on the gameobject with the Audio or Video to ensure the component persists during scene changes.
  </Accordion>
</AccordionGroup>

***

## Tablet Issues

<AccordionGroup>
  <Accordion title="Tablet jitters during movement">
    LCK v1.4.0+ updates tablet position in LateUpdate instead of Update. If jitter persists on v1.4.3+, configure the tablet position update order via `LCKCameraController`.

    **Cause**: The provided tablet prefabs will automatically update camera positioning during `LateUpdate`. Depending on how locomotion / interaction is implemented in your game, you may wish to change this to avoid object jitter in captures.

    **Solution**: Change the **Update Timing**

    To change the update timing of tablet cameras, on the `LCKCameraController` component in your tablet prefab, use the "Camera Position Update Timing Mode" dropdown in the inspector.

    `LCKCameraController` -> `CameraPositionUpdateTimingMode`

    <img src="https://mintcdn.com/liv/zGBO7olNm8tBASsc/images/unity/unitycamerapositionupdatetiming.png?fit=max&auto=format&n=zGBO7olNm8tBASsc&q=85&s=b24c07f42cf7379f046c061296861561" alt="Unitycamerapositionupdatetiming" width="687" height="343" data-path="images/unity/unitycamerapositionupdatetiming.png" />

    To change the update timing of camera stabilizers, on each `LckStabilizer` component in your tablet prefab, use the "Stabilization Update Timing Mode" dropdown in the inspector.

    <img src="https://mintcdn.com/liv/zGBO7olNm8tBASsc/images/unity/unitystabilizerupdatetiming.png?fit=max&auto=format&n=zGBO7olNm8tBASsc&q=85&s=83775e845edd65a813620d12cf34a493" alt="Unitystabilizerupdatetiming" width="1578" height="461" data-path="images/unity/unitystabilizerupdatetiming.png" />

    The available update timing options are:

    * `FixedUpdate`
    * `Update`
    * `LateUpdate`

    For more information on when these updates take place, see [Unity execution order documentation](https://docs.unity3d.com/6000.0/Documentation/Manual/execution-order.html).
  </Accordion>

  <Accordion title="Tablet not responding to input or can't grab the tablet">
    For direct input, verify hand colliders have the `Hand` tag (or your custom tag in Project Settings > LCK > Trigger Enter Tag). For raycast input, confirm Ray Interactor raycast mask includes Default and UI layers.

    <Frame>
      <img src="https://mintcdn.com/liv/quX2GRtpfOt5D6np/images/unity/troubleshooting/tabletgrab.jpg?fit=max&auto=format&n=quX2GRtpfOt5D6np&q=85&s=3715086c77e3e2a536fca8995c351e54" alt="Tabletgrab" width="1163" height="1080" data-path="images/unity/troubleshooting/tabletgrab.jpg" />
    </Frame>

    Also ensure the hand colliders have XR Direct Interactor and a Sphere Trigger Collider if using XR Interaction Toolkit.
  </Accordion>

  <Accordion title="FPV/TPV cameras break after player camera is destroyed">
    Fixed in v1.3.4. The camera now handles player camera destruction after tablet spawn.
  </Accordion>

  <Accordion title="The tablet clips into the LCK capture">
    **Cause**: The tablet cameras being able to see the tablet visuals and is visible especially when smoothing is applied.

    **Solution**: To fix ensure that the "LCK Tablet" layer is set in project settings, and that the LCK Tablet visuals are excluded from the LCK cameras in layer mask by unchecking "LCK Tablet"
  </Accordion>

  <Accordion title="The tablet is clipping into the player model while in first person mode">
    **Cause**: This is usually caused by the lag in camera movement when smoothing is enabled.

    **Solution:**

    * Exclude the facial/head meshes from the LCK first person camera if possible.
    * Increase the near clip plane value for LCK first person camera.
    * Offset the LCK first person camera forward so that it is front of geometry.
  </Accordion>

  <Accordion title="The camera isn't visible to the player when in VR">
    **Problem**: You can see the tablet in the editor but when running the game you can't see the tablet

    **Examples:** 

    [https://discord.com/channels/344602581735178260/1333013981459386430](https://discord.com/channels/344602581735178260/1333013981459386430)

    [https://discord.com/channels/344602581735178260/1479790725670633664](https://discord.com/channels/344602581735178260/1479790725670633664)

    **Cause**: The camera culling mask is probably disabled

    **Solution**: Enable LCK Tablet in the Culling Mask option

    * Select your main camera
    * Select Rendering -> Culling Mask
    * Verify `LCK Tablet` is created and enabled in the main camera Culling Mask

          <img src="https://mintcdn.com/liv/krVlUsicw91ysDic/images/unity/maincameracullingmask.png?fit=max&auto=format&n=krVlUsicw91ysDic&q=85&s=cf8a8d21bb6e21569c40a0ac43705ae7" alt="Maincameracullingmask" width="541" height="580" data-path="images/unity/maincameracullingmask.png" />
  </Accordion>

  <Accordion title="The tablet screen is blank/white at runtime">
    * Check you've initialized the LCK Service by placing the LCK Service Helper prefab in scene or otherwise.
    * The screen will always look white in the editor and start displaying footage in play/runtime.
    * Set Target Architecture target to ARM64
    * \[Android Only] Check you're using Minimum API Level 32 or above.
    * \[Selfie Camera Issue Only] Turn on depth texture for the LCK selfie camera.
  </Accordion>
</AccordionGroup>

***

## Platform Issues

<AccordionGroup>
  <Accordion title="Quest build: microphone permission not requested">
    As of v1.4.3, microphone permission timing is configurable in Project Settings > LCK (Startup, TabletSpawn, Mic Unmute, or Never).
  </Accordion>

  <Accordion title="Quest build: streaming fails (no internet)">
    LCK v1.4.0+ automatically adds internet permission and prevents `ForceRemoveInternetPermission`. Verify this is enabled in Project Settings > LCK.
  </Accordion>

  <Accordion title="Memory leaks on recording stop">
    GL resource leaks on Android and DX11 texture leaks on Windows were fixed in v1.2.2. Update to the latest SDK.
  </Accordion>

  <Accordion title="LCK error: LCK requires the Vulkan, OpenGLCore or DirectX11 graphics API on Windows">
    **Problem**: You're getting the error LCK requires Vulkan, OpenGLCore, or DirectX11 graphics API on Windows but you've already set those options in the project.

    <img src="https://mintcdn.com/liv/iLjU2F4USCIaSRMh/images/unity/troubleshooting/graphics_api_error.png?fit=max&auto=format&n=iLjU2F4USCIaSRMh&q=85&s=d903101b545d3f3a5bcc72578c07a52e" alt="Graphics Api Error" width="1024" height="1365" data-path="images/unity/troubleshooting/graphics_api_error.png" />

    **Example** of user encountering this issue: [https://discord.com/channels/344602581735178260/1459509001690677250](https://discord.com/channels/344602581735178260/1459509001690677250)

    **Solution**: Restart the editor
  </Accordion>

  <Accordion title="UI buttons aren't working when using the AutoHands Unity package">
    **Why aren't UI buttons working correctly with AutoHands?**

    AutoHands' input module only checks clicked objects for the `IPointerClickHandler` interface, which is implemented by standard Unity UI components like Button and Toggle. LCK button scripts (e.g. `LckDoubleButtonTrigger`) use `IPointerDownHandler` and `IPointerUpHandler` instead, which AutoHands does not check by default — causing UI click events to not forward correctly.

    **Resolution:** This should be resolved on the AutoHands side by updating their interaction system to also check for `IPointerDownHandler` and `IPointerUpHandler`. LCK intentionally does not implement `IPointerClickHandler`, as doing so would cause unwanted behaviour with incremental button presses.

    If you are still experiencing this issue, ensure you are on the latest version of AutoHands, as a fix has been issued to check for these additional interfaces.
  </Accordion>
</AccordionGroup>

***

## Still need help?

Join the [LIV Discord community](https://discord.com/invite/liv) for direct support from the LIV team.
