CyanTrigger V0.3.1
Added 2021-07-17 00:46:00 +0000 UTCVersion 0.3.1 is mainly a bug fix update with no major features added. With that though, this version is compatible with the new Unity 2019 open beta that VRChat just announced.
As mentioned in my last post, CyanTrigger V0.3.1 is now available for $5 and above supporters. CyanTriggers will be available to everyone for free in mid August. Supporters will still get first access to new features.
Unity 2019
With 2019, everyone now has access to the dark theme.

OnVariableChanged Event
CyanTriggers has always had an OnVariableChanged event that you can use to handle when a variable's value is updated. VRChat has update the Udon runtime to work with proper OnVariableChange events. This means that if using SetProgramVariable on a CyanTrigger, the change event will now be properly executed! This always worked with synced variables changed over the network, but the cross Udon support is nice. Another update to OnVariableChanged events is that you now have access to the previous value in case you wanted to update logic based on it. This really helps in creating synced toggles where you display different objects for On and Off.

Changes and Bug Fixes
- Fixed compile errors for Unity 2019
- Fixed some style issues with Unity 2019
- VRChat builds no longer include CyanTrigger scripts, saving small amount of space and prevents log spam of “Missing component”.
- OnVariableChanged works with SetProgramVariable from any Udon/CyanTrigger.
- OnVariableChanged provides previous value as a usable variable.
- Fixed bug were inputs would be cleared while reordering actions with the action editor open.
- Fixed bug with global variable types breaking on reordering.
- Fixed bug where null variables always force the scene to have changes even after saving.
- Changing Event or Event Variant will no longer clear the event comment.
- Removed everything related to OnAnimatorMove "auto fix" now that VRChat fixed it themselves.
- CyanTrigger version is now displayed in the CyanTrigger Settings window and at the bottom of every CyanTrigger.
- Added a few favorite actions/events to keep up with what VRChat added. (OnPostSerialization, PostLateUpdate, RequestSerialization, Set DisableInteracts, ...)
- Examples moved to CyanTriggerExamples/GeneralExamples. Please delete the current CyanTrigger/Examples folder in your project before importing the new version.
- Added PlayerFadeController prefab to general examples. This prefab allows you to fade the player's screen to a color, perform an action such as teleporting the player, and then fade out the color. See the example scene for how to setup and use.
- Set all player tracked prefabs to PostLateUpdate.
- Added Custom actions for OnTriggerStay to check for LayerMask, NameContains, and Specific GameObject.
- Added Custom Actions for OnStationEntered and OnStationExit to gate for local or remote players.
What's Next?
I mentioned in my last update post that I would be working on learning resources. This is the plan for the next month as well. First example downloadable world is progressing nicely. It is an Escape Room focusing on simple puzzles. Assets are done and most logic is ready. Mainly working on testing and commenting to help in understanding the logic and reasoning behind it.
