CyanTrigger V0.3
Added 2021-06-23 22:18:46 +0000 UTCVersion 0.3 mainly focuses on error handling and bug fixes. Hopefully with these changes, when you run into an issue it's much easier to figure out how to resolve it. Remember to check the Unity console as some errors and warnings may only be displayed there.
V0.3 is currently only available for $10 and above supporters. V0.3 will be released to $5 tier supporters in mid July and public release in mid August.
New Features
Warnings and Errors
A new section has been added to the top of the CyanTrigger. This section will show warnings and errors for the current trigger. If there are none, this section will not display. Displaying warnings and errors are still a work in progress and more items will be displayed here over time and with better options on how to handle them. These only update after compiling, which you can initiate by saving your scene, or hitting the compile button at the bottom of the CyanTrigger editor.

Empty indicator
To help with discovering errors, actions that have a missing variable or null input will now display an orange box around it to warn you that something could be missing. These should update real time, even when the action editor isn't open. Note that in some cases it is valid to have empty inputs, but most of the time these could cause a crash at run time.

CyanTrigger Comments
In the previous update, comments were added to events and actions. Now you can add a comment at the very top of the CyanTrigger to explain what it is used for or other details about what the trigger does. To add a comment, you need to right click the top of the CyanTrigger and select the Edit Comment option.

Insert actions with right click
It was always possible to add actions through the right click menu, but before those new actions would go to the bottom of the list. Now, when you right click to add an action, they will insert after the element you right clicked. This feature really helps when working with large lists of actions so you don't need to reorganize items that far.

Renaming or deleting variables.
While working with variables, if you decide to update them, the UI will now also update to reflect these changes. If you delete a global or local variable, everything that used them will remove the reference and update the UI to show missing variable. Similarly with renaming local and global variables. This was a major pain-point in the previous version as you could never be sure what variable was actually used, or if it even existed!

Moving actions should remove variables out of scope
When reorganizing your actions, if you move a variable so another action cannot access it, that other action will remove the reference to the variable as it is no longer valid.

Dragging Objects should work for the entire Action
In the last version of CyanTriggers, dragging actions only worked in the lower half of the Action Editor. Now, dragging objects should always work!
Version 0.2.0 - Broken:

Version 0.3.0 - Fixed:

Changes and Bug fixes
- Errors and warnings now displayed at the top of CyanTriggers.
- General improvements to all error checking during compile.
- CyanTriggers with compile errors will not do anything in playmode.
- An orange outline will appear over any Action that has an empty input or missing variable.
- Comments can be added to CyanTriggers and will be displayed at the top of the editor. Use the right click menu to add or edit the comment.
- Actions created through right click menu will insert after the action that was right clicked.
- Renaming a global variable will update all actions that used it.
- Deleting a global variable will remove that variable from all actions that used it.
- Renaming a local variable will update all actions that used it.
- Deleting a local variable will remove that variable from all actions that used it.
- Moving variables and actions will auto remove any local variables that are no longer within scope to use.
- Changing events will remove actions that used event specific variables.
- Copy/pasting a CyanTrigger onto another GameObject will no longer generate two UdonBehaviours
- Dragging GameObjects to inspector fields should work for the entire Action Editor and not just the bottom half
- Double clicking to expand an array global variable will no longer throw errors.
- Fixed a bug where having a previous variable of the same name but different type would break compiling.
- Add data verification when passing to Udon. If data is invalid, it will print an error but use the default value instead.
- You can no longer duplicate Condition and ConditionBody actions.
- You can no longer move items in the same level of Condition and ConditionBody actions (which are only used in If, ElseIf, and While actions)
- Fixed an issue where dragging an object into a CyanTrigger input would leave it as "This CyanTrigger" variable.
- Fixed an issue where dragging an object into an UdonBehaviour input would not add the UdonBehaviour on the object.
- Fixed an issue where reordering or deleting global variables would not properly update options shown in variable selector popups.
- Variables and events can no longer start with a digit and will have an underscore prepended to prevent errors.
- User created Custom Actions will now also display inside categories of the same name, if they exist. (Example: VRCPlayerApi custom actions display with VRChat's actions)
- Added more error checking for Custom Actions at compile time.
What's Next?
My focus for next month will mainly be on creating resources to help people in learning how to use CyanTriggers. This includes tutorial videos, prefabs, and example worlds. I have already started a simple escape room example world with different mechanics on how you could make your own escape rooms.
