Skip to content

Releases: PiMaker/ltcgi

v1.6.2 - Tiny Fix For Audiolink Emitters

08 Sep 18:22
0242d67
Compare
Choose a tag to compare

By popular request, fix audiolink on emitters (specifically with no other screens in the scene).

⬇️ Creator Companion/VPM Install

For standalone Unity, you can import LTCGI as a git package with the URL: https://github.com/PiMaker/ltcgi.git

v1.6.1 - Mochie shader fix, ProTv 2 adapter deprecation

06 Jul 14:39
f04b5bf
Compare
Choose a tag to compare

Just a lil' maintenance release. As a treat.

Download

This release is available via the Creator Companion as a VPM package!

⬇️ Creator Companion/VPM Install

For standalone Unity, you can import LTCGI as a git package with the URL: https://github.com/PiMaker/ltcgi.git

Changelog

  • Fix a shader compilation issue with certain shaders, usually seen on @MochiesCode's shader (this had an attempted fix via #33 in the last release too, but should be fixed better-er now)
  • Deprecate the adapter for @techanon's ProTv 2 - it is recommended to upgrade to ProTv 3 or higher which comes with native LTCGI integration
    • If you are seeing compilation issues related to a TvManager component, simply delete the Assets/_pi_/_LTCGI-Adapters folder!
  • Use correct include path in LTCGI_Simple demo shader

v1.6.0 - Android/Quest compatibility

07 Jun 20:57
718a860
Compare
Choose a tag to compare

Download

This release is available via the Creator Companion as a VPM package!

⬇️ Creator Companion/VPM Install

For standalone Unity, you can import LTCGI as a git package with the URL: https://github.com/PiMaker/ltcgi.git

Android/Quest support!

LTCGI now officially supports Android/Quest! You should be able to use the existing workflows for adding LTCGI to your world. Just set the editor to Android mode and upload your world or build a binary.

LTCGI on Android comes with certain limitations to protect performance:

  • Only 1 screen supported
  • Some config options are forced, like fast sampling on and bicubic lightmaps off
  • AudioLink integration is not available
  • Disables secondary LTC LUT sampling (slightly reduced specular quality at some angles)
  • No avatar lighting support

Performance notes! ⚠️

Android and Quest are still severely performance limited targets - optimize your worlds before considering adding LTCGI, and make sure you test it on device. High vertex-count environments or complex lighting setups can degrade frametimes to unplayable levels if you are not careful!

Big thanks for @KaelanDuck for providing the missing insights for the issues I described on the 1.5.0 release and making this possible! This release contains several changes I picked over from their fork.

Other fixes

  • Performance improvements across platforms (GPU stress testing on my 7900 XTX shows a 4-5% improvement in shader-bound scenarios)
  • Improved visual quality of "Fast Sampling" mode, mainly to accomodate force-enabling this setting on Android, but it works on PC too
  • Fixed some issues with AudioLink detection and paths that could confuse Unity
  • Fixed some compiler issues with certain shaders (e.g. Mochie's) - see #33, thanks @techanon!

This release requires at least VRChat SDK version 3.5.2!

v1.5.0 - Maintainence Release and Unity 2022 Compatibility

27 Apr 20:43
f2f0c74
Compare
Choose a tag to compare

Download

This release is available via the Creator Companion as a VPM package!

⬇️ Creator Companion/VPM Install

For standalone Unity, you can import LTCGI as a git package with the URL: https://github.com/PiMaker/ltcgi.git

Breaking Changes

  • LTCGI now requires Unity 2022.3!
    • On the bright side, this means LTCGI has been fully upgraded to support Unity 2022 and should no longer produce any warnings
    • Fixes #28
  • Changed LTCGI_RuntimeAdapter to LTCGI_UdonAdapter even when using LTCGI in standalone mode
    • Should fix #30

Fixes

  • Improve legacy-compat migration code
    • Use cross-platform path APIs and don't rely on AssetDatabase - via #26, thank you @galister (and @shiyouganai for #25)
    • Run migration code on load, not just controller-enable - reported by @MochiesCode
  • Rename shadowmap baking buttons for clarity ("Normal Bake" -> "Standard Bake") - via #29, thank you @fundale
  • Fix "not-available" pathing error when AudioLink is not imported
    • LTCGI supports AudioLink, but should work fine when it isn't imported now
  • Show a warning when no shadowmap-enabled screens are found but a bake was requested
  • Always disable ambient lighting settings during shadowmap baking
    • Fixes built-in Unity lightmap baking producing slightly off results

Android/Quest Support

Hold on! LTCGI is NOT Android/Quest compatible (yet)! If you just want to use it in your mobile content, stop reading here.

I have, however, been able to adjust things to the point where a VRChat Scene set to "Android" will render correctly in the editor. It is limited to 2 screens, obviously won't have avatar lighting support and will only support LTCGI_FAST_SAMPLING mode (that way it can avoid the blur-chain entirely!).

On-device (tested on an Android phone and a Quest 2) it will not render correctly however. This can also be replicated using the -force-opengl flag when launching Unity. If somebody has experience converting shaders to mobile GPUs, feel free to ping me in my Discord Server! Right now I'm pretty clueless as to what causes the breakage, I've checked over texture import settings and precision markings in the generated GLSL code, and it all looks correct.

v1.4.1 - Tiny Patch 🤏

17 Sep 21:20
01079b9
Compare
Choose a tag to compare

Download

This release is available via the Creator Companion as a VPM package!

⬇️ Creator Companion/VPM Install

For standalone Unity, you can import LTCGI as a git package with the URL: https://github.com/PiMaker/ltcgi.git

Adapters

LTCGI adapters are now built-in. Migration should be automatic. You do not need to download anything specific, having USharpVideo or AvPro installed in your project should automatically enable the corresponding adapters.

Double-check your adapters after updating - there is a chance you may need to reconfigure them in your scene, depending on which version you upgraded from.

APIv2

This contains the first version of the v2 API. Read more here: https://ltcgi.dev/Advanced/Shader_Authors

Fixes

  • adds function _GetGlobalState() to udon adapter (#23)
  • removes com.vrchat.base from VPM dependencies (LTCGI is standalone compatible, I just didn't anticipate that someone would use VCC this way ^^)

v1.4.0 - Fixes and performance improvements ⏩

23 Jul 20:08
cf09e16
Compare
Choose a tag to compare

Download

This release is available via the Creator Companion as a VPM package!

⬇️ Creator Companion/VPM Install

For standalone Unity, you can import LTCGI as a git package with the URL: https://github.com/PiMaker/ltcgi.git

Adapters

LTCGI adapters are now built-in. Migration should be automatic. You do not need to download anything specific, having USharpVideo or AvPro installed in your project should automatically enable the corresponding adapters.

Double-check your adapters after updating - there is a chance you may need to reconfigure them in your scene, depending on which version you upgraded from.

APIv2

This contains the first version of the v2 API. Read more here: https://ltcgi.dev/Advanced/Shader_Authors

Fixes

  • Fix warning spam X4000 use of potentially uninitialized variable by using out variables - thanks @ScruffyRules!
  • Always create shader redirect file from Assets to Packages, not just when controller is placed in scene
  • Fix an issue where single-UV sampling would use the wrong position - it now always uses the exact position on mip0 of the video texture
  • Add 2 performance-related controller options (available in the "advanced settings" part of the LTCGI_Controller, note that these will be reset every update):
    • LTCGI_BLENDED_DIFFUSE_SAMPLING: slightly improves diffuse quality for an extra texture tap (perf) - current versions always do that, for performance it is now behind a default-off flag as the effect was very minimal
    • LTCGI_FAST_SAMPLING: saves a few texture slots and improves performance by using no prefiltering and just using the raw mip-chain of input textures for sampling blurred versions - noticeable reduces specular quality, but has a slight impact on perf (not huge, but measurable) - I recommend considering hardcoding this define for avatar shader authors, or trying it in your world to see if it makes a big visual impact and leaving it on if not
  • Generally improve performance of UV sampling - behaviour should be unchanged, but I noticed about a 10% raw throughput improvement for textured reflections (stress-tested with 128 screens on LTCGI_Surface, 7900 XTX; I do not recommend using more screens than absolutely necessary even with this improvement)

v1.3.3 - Array Size Hotfix❗

07 Jul 18:23
dce123c
Compare
Choose a tag to compare

Download

This release is available via the Creator Companion as a VPM package!

⬇️ Creator Companion/VPM Install

For standalone Unity, you can import LTCGI as a git package with the URL: https://github.com/PiMaker/ltcgi.git

Adapters

LTCGI adapters are now built-in. Migration should be automatic. You do not need to download anything specific, having USharpVideo or AvPro installed in your project should automatically enable the corresponding adapters.

Double-check your adapters after updating - there is a chance you may need to reconfigure them in your scene, depending on which version you upgraded from.

APIv2

This contains the first version of the v2 API. Read more here: https://ltcgi.dev/Advanced/Shader_Authors

Fixes

  • always allocate arrays of size 16 on GPU side - this avoids capping worlds loaded after on their dynamic LTCGI screens. It is strongly recommended that you update your worlds to this version to avoid your world breaking others!
    Thanks to @4liceD once again.
  • tiny GPU perf improvement courtesy of this blog and liltoon

v1.3.2 - VPM version patches 🔨

14 Jun 00:33
88c1370
Compare
Choose a tag to compare

Download

This release is available via the Creator Companion as a VPM package!

⬇️ Creator Companion/VPM Install

For standalone Unity, you can import LTCGI as a git package with the URL: https://github.com/PiMaker/ltcgi.git

Adapters

LTCGI adapters are now built-in. Migration should be automatic. You do not need to download anything specific, having USharpVideo or AvPro installed in your project should automatically enable the corresponding adapters.

Double-check your adapters after updating - there is a chance you may need to reconfigure them in your scene, depending on which version you upgraded from.

Thanks to @4liceD for helping test this!

APIv2

This contains the first version of the v2 API. Read more here: https://ltcgi.dev/Advanced/Shader_Authors

Other fixes

  • reduced default sampler slots to 1
  • remove lightmap texture slot when not in use (e.g. for avatars)
  • avpro adapter will now show the placeholder graphic of the TV in the LTCGI reflection in editor too
  • fix adapters using outdated paths
  • fix incorrect popup for UdonSharp requirement, now shown in the controller GUI instead
  • larger code cleanups, minor Udon perf improvements

v1.2.4 - The VPM release 🚀

11 Jun 15:50
02e3359
Compare
Choose a tag to compare

Download

This release converts LTCGI to a Creator Companion compatible VPM package! For standalone users, you can use LTCGI as a git package now!

⬇️ Creator Companion/VPM Install

For standalone Unity, you can import LTCGI as a git package with the URL: https://github.com/PiMaker/ltcgi.git

Adapters

LTCGI adapters are still distributed via the Releases tab here.

  • ltcgi-adapter-protv.unitypackage - Adapter package for ProTV video player. Only download if you plan to use that video player!
  • ltcgi-adapter-usharp-video.unitypackage - Adapter package for USharpVideo. Only download if you plan to use that video player!

Migration

Updating should be seamless. Note that you will need to reinstall any adapters you were using after upgrading with the VCC.

Avatar Support

LTCGI now features basic avatar support! 💫 This uses a concept similar to AudioLink, where avatars will need to use LTCGI compatible shaders to receive any lighting. Any of the "supported" shaders should work on avatars too. Simply install the LTCGI package into your avatar projects and use a compatible shader. Optionally, you can drop an LTCGI_Controller and a screen into the scene to test lighting in-editor. Performance hit in non-LTCGI worlds should be minimal.

Worlds will also need to update to at least this version of LTCGI to support avatars. The LTCGI_Screen component has a new setting "Affect Avatars" which will need to be set to true to turn avatar lighting on for that particular screen. Usual rules apply, e.g. setting color to black will disable screen for performance. Note that avatar lighting does not support masking (neither manual nor distance-based), meaning all screens in your world that have "Affect Avatars" on will cause a performance hit on avatars!

Other Changes

  • LTCGI is now distributed as a VPM/Unity compatible package
  • Fix udonless builds and improve handling of screens without mesh renderer (contributed by @shiyouganai)
  • Improve handling of BakeryLightMesh (support is still experimental though)
  • Fix compile issue with totalSpecularIntensity when using LTCGI_SPECULAR_OFF
  • Use VRCShader/Shader globals to improve performance of Update loop and support avatars
  • Remove concept of "dynamic renderers" (no longer needed with shader globals)
  • Move Apply/Revert buttons on LTCGI_Controller advanced settings to top (contributed by @KitKat4191)
  • Minor fixups here and there

v1.0.2 - Maintenance and Docs 📝

04 Feb 18:20
4cb6e24
Compare
Choose a tag to compare

This release fixes some smaller issues and adds links to the docs directly in the editor.

Massive shout-out to both @JLChnToZ and @makifoxgirl for submitting PRs to fix or improve LTCGI - Thank you so much! 💖

Changelog:

  • Fix bug where materials would not reset properly after a shadowmap bake (#12)
  • Support baking with Bakery Light Meshes - simply put a Light Mesh component next to an LTCGI_Screen and it will be used (#13)
  • Add warning when disabling a screen component (related to #14, unfortunately that PR would not work as-is)
  • Add links to documentation wherever it makes sense - RTFM, you guys!
  • Avoid some unnecessary shader reimports when exiting play mode

Advance notice: In the future™️, I want to migrate LTCGI to use the VPM format. This is still some time away though, my initial attempts showed some issues that will need fixing until then.

As always, check out the official documentation on https://ltcgi.dev!

You can give feedback on my Discord Server: https://discord.gg/r38vJd2DuJ

What to download

ltcgi.unitypackage - The core package. Yes, download this.

ltcgi-adapter-protv.unitypackage - Adapter package for ProTV video player. Only download if you plan to use that video player!

ltcgi-adapter-usharp-video.unitypackage - Adapter package for USharpVideo. Only download if you plan to use that video player!