CVR LTCGI Adapter
Interface component for setting up and controlling LTCGI in your world.
The component guides you through the LTCGI setup.
- Pick any GameObject, click
Add Component, and search forCVR LTCGI AdapterunderChillout VR. You should see:
- Click
Import LTCGI via UPMto download and install the LTCGI package.
Note 1: If it is already installed, skip this step.
Note 2: If installation fails (for example because git is not installed), use theDownload Unity 2021 LTCGI UnityPackagebutton instead. - Once LTCGI is installed, the inspector looks like:

- Click
Create LTCGI Controllerto add the LTCGI Controller component to the same GameObject. - The finished setup looks like:

- Configure the LTCGI Controller (for example by assigning the Video Player Texture) and any other settings you want.
Controlling during Runtime
Section titled “Controlling during Runtime”Two methods can be invoked from UnityEvents to control LTCGI at runtime when targeting the CVR LTCGI Adapter component. This is optional — LTCGI works without calling them — but gives advanced users extra control.
| Method | Description |
|---|---|
| SetGlobalState(bool state) | Globally enables or disables LTCGI. For best performance, also swap to a material with LTCGI disabled on top of calling this method. |
| SetVideoTexture(Texture texture) | Changes the global realtime video texture input at runtime. This call is fairly expensive — only call it when necessary. |
Example of a button to disable LTCGI
Section titled “Example of a button to disable LTCGI”
Enable LTCGI on Avatars
Section titled “Enable LTCGI on Avatars”Some shaders are LTCGI-compatible but only expose the option when the LTCGI package is installed. Poiyomi, for example, supports it.
Note 1: LTCGI has a noticeable performance impact. Add a toggle to enable or disable it on your avatar.
Note 2: We are not using the original LTCGI repo/package because it does not support Unity 2021; changes to support were requested on the official repo.
The latest Unity-2021-compatible package is here: github.com/kafeijao/ltcgi/releases/latest.
Removing the LTCGI package
Section titled “Removing the LTCGI package”To remove the LTCGI package, open Window → Package Manager, find the LTCGI package, and hit Remove.
Afterwards you may have errors because the scripting define symbol still exists:
- Top menu:
Edit→Project Settings. - Select
Playeron the left. - Scroll almost to the bottom and find the list of
Scripting Define Symbols. - Remove the entry
LTCGI_INCLUDED.
Troubleshooting
Section titled “Troubleshooting”Incompatible LTCGI Package
Section titled “Incompatible LTCGI Package”Library\PackageCache\at.pimaker.ltcgi@0242d67e55\Editor\LTCGI_Controller.cs(151,58): error CS0117: ‘SceneManager’ does not contain a definition for ‘loadedSceneCount’

Solution: You are using an LTCGI version that is not compatible with Unity 2021. Remove the package (Window → Package Manager) and install a Unity-2021-compatible release: https://github.com/kafeijao/ltcgi/releases/latest.
Broken/Incomplete LTCGI installation
Section titled “Broken/Incomplete LTCGI installation”Assets\ABI.CCK\Components\CVRLTCGIAdapter.cs(103,27): error CS0246: The type or namespace name ‘LTCGI_UdonAdapter’ could not be found (are you missing a using directive or an assembly reference?)

Solution: Either install the LTCGI package in your project, or fully remove it.
Data format
Section titled “Data format”The component stores a versioned serialized data blob — currently Versions.V1 with serializedDataV1 (a DataV1 container). DataV1 mirrors the LTCGI runtime inputs: the list of opted-in renderers, lightmaps and their ST vectors, per-renderer masks, screen transforms and counts, the pair of LUTs, LOD textures (including four Texture2DArray static LOD slots), screen vertex arrays, and the blur custom render texture input. A CVRLTCGIAdapterRuntime is created at runtime to handle _SetGlobalState / _SetVideoTexture.
Source
Section titled “Source”CVR-GameFiles/ABI.CCK.Components/CVRLTCGIAdapter.cs