LTCGI Screen Setup

LTCGI is a realtime area-lighting system used in VRChat worlds for effects such as glowing video screens, stage panels, and emissive display surfaces. Use Reava_'s walkthrough for the Unity setup, then check the mesh, material, package, and upload details before putting the screen into a live world.

Recommended Setup

Get the world building and uploading cleanly first, then add LTCGI to one simple quad before connecting it to a full video-player setup.

  1. Back up the Creator Companion world project before importing or upgrading LTCGI.
  2. Add LTCGI_Screen to a simple triangle or quad mesh, not a complex TV model.
  3. Use texture/video color mode only after a static color test proves the screen is lighting the scene.
VRChat note

LTCGI is realtime lighting, so it should be treated as both a visual feature and a performance feature. Test it in VRChat, check the target platform, and keep the number of active screens and affected renderers intentional.

Playlist Companion

Creator: Reava_
Watch on YouTube: https://www.youtube.com/watch?v=3_f9Cj4bTaM

Good Fit

Use this when you already have a VRChat world project and need to add an LTCGI-lit screen without missing mesh, material, package, or upload checks.

Before You Start

  • Confirm you are using the supported VRChat Unity version for the project.
  • Open the project through VRChat Creator Companion when possible.
  • Confirm the world already builds or uploads before adding LTCGI.
  • Install LTCGI through its VPM/Creator Companion route when possible.
  • Check for red Console errors before assuming the screen setup is the problem.
  • Make a backup or duplicate scene before changing video players, materials, renderers, or SDK settings.

What LTCGI Screen Actually Controls

The LTCGI_Screen component defines the light source. It does not automatically make the visible mesh look like a video screen. You still need the renderer, material, video player, and texture setup to make the screen surface visually match the light it emits.

For a clean beginner setup, think of the system as four separate pieces:

Piece Job Beginner Check
LTCGI controller Coordinates LTCGI data for the scene. Present in the scene and updating after saves.
Screen mesh Defines the shape of the emitted light. Use a single quad or triangle with simple UVs.
Screen renderer/material Controls what people see on the surface. Material shows the same content or color you expect from the light.
Video/player texture Supplies dynamic content when using video mode. Static lighting works before you connect realtime video.

Screen Setup Checklist

  • Use a mesh with exactly three or four vertices for a normal LTCGI_Screen setup.
  • Start with Unity's built-in Quad when troubleshooting because it removes model and UV uncertainty.
  • Keep the screen object enabled; do not use GameObject/component disabling as the normal LTCGI toggle method.
  • Save the scene after changes so the LTCGI controller can refresh its generated data.
  • Limit affected renderers to the objects that actually need the lighting.

Basic Screen Workflow

  1. Add or select a simple quad in the scene.
  2. Place it where the screen or light-emitting panel should be.
  3. Add the LTCGI_Screen component to the object.
  4. Start with a static color so you can confirm the light is working.
  5. Save the scene and check that the LTCGI controller updates.
  6. Assign receiving renderers intentionally instead of lighting the whole scene by accident.
  7. Switch to texture or video-driven color only after the static screen works.
  8. Build and test the world so you can verify the result in VRChat, not only in the Unity scene view.

Video Screen Notes

If the screen should react to a video player, connect the visual screen and the LTCGI light source carefully. Many creators use a separate quad for LTCGI even when the visible TV, projector, or stage object is a more complex model.

For video-driven lighting:

  • Use Color Mode: Texture when the light should come from a texture or video feed.
  • Keep the texture index aligned with the video texture your player or adapter provides.
  • Position the LTCGI quad to match the visible video surface.
  • Keep the visible material and the light-emitting texture visually consistent.
  • Re-test after swapping video player prefabs because adapter support and texture routing can differ.

Performance Notes

LTCGI can look excellent, but realtime lighting costs scale with how much work the system has to do. Keep it lean:

  • Use fewer screens where one larger screen would look the same in reflections.
  • Avoid lighting transparent or unnecessary renderers.
  • Disable diffuse contribution when specular/reflection is enough for the scene.
  • Be cautious with avatar-affecting options because avatar-side impact can be broader than expected.
  • Check PC and Quest/Android separately before assuming both targets can use the same setup.

Follow-Along Checklist

  • Confirm the scene has a VRC Scene Descriptor when the workflow affects uploadable world content.
  • Confirm the screen mesh is simple enough for LTCGI_Screen.
  • Use a static color test before switching to texture or video lighting.
  • Retest performance on the target platform, especially when the tutorial involves lighting, audio, video, or dense materials.
Help! The video was made for an older SDK or Unity version.

Older tutorial UI labels can drift. Check the current LTCGI package docs, SDK panels, and Builder messages before relying on the setup.

Help! Adding LTCGI_Screen does nothing.

Check that the object has a Mesh Filter using a triangle or quad mesh, that the LTCGI controller exists, that the scene has been saved, and that the material/renderer setup is not hiding the visual result.

Help! The light works, but the screen surface looks wrong.

Remember that LTCGI controls the emitted light, not the visible screen material. Update the renderer material or video-player material so the mesh itself matches the color or video texture used by the light.

Help! I need to turn the screen on and off.

Avoid disabling the GameObject or component as the normal toggle. Use LTCGI-supported toggle/color workflows, such as setting the screen color to black for a single source or using a proper global toggle setup.

Help! I want to apply this to a production world.

Rebuild it in a small test scene first, then move only the confirmed controller, screen, material, and video-player pieces into the production world. That keeps lighting experiments from becoming permanent project clutter.

Official References

Related Docs

Topics: worlds, unity