// Video Embeds: https://github.com/requarks/wiki/discussions/4580
The Goal Overlay Widget allows you to display a visual progress bar showing the steps of a single or multi-step goal.
In previous versions of the Goal Overlay Widget, widgets that relied on custom functionality required specifying a Special Identifier to process the amount that is shown. The new version of the Goal Overlay Widget now automatically stores the current total of the goal and no longer requires using a separate Counter or Special Identifier to track the value. If you wish to leverage a counter to track the value still, you can select the Counter type when editing a Goal Overlay Widget.
When creating a goal, there are different types you can selected depending on your purpose:
The Automatic Reset handles performing a reset of your goal back to 0 based on the cadence you have set. This reset check is performed each time the Overlay Widget is initialized, which is typically only once per application launch.
Segments define the various steps of a goal. A minimum, a goal must have at least 1 segment, but you can add as many as you want. Segments will go in the order they are displayed from top to bottom.
Each segment can have it's own command assigned to it that will trigger when the segment's amount has been completed. Whenever any segment is completed the "Segment Completed" command will be triggered. In addition, if that segment also has a dedicated command for it, it will additionally trigger that segment's command.
Segments work in one of two ways depending on the segment type you have selected. This only effects how the amount specified for a segment is treated.
Each segment's amount is treated independently of all others. For example, if you have 3 segments with the following amounts:
The total amount of progress needed to complete all segments is 600 (100 + 200 + 300).
Each segment is progressively more than the previous segment, with the final segment being the total amount needed. For example, if you have 3 segments with the following amounts:
THe total amount of progress needed to complete all segments is 300, with each segment being 100 more progress than the previous one (100 -> 200 -> 300)
When using the Custom goal type, you can specify the amount of progress that each event type contributes to the goal. All of these events can be found towards the bottom of the editor. Each event type has one or both of the following progress amount types:
The progress amount will be added to the goal each time that event occurs. For example, the Follow event uses the additive amount, meaning that exact amount will be added each time a follows occurs.
The progress amount will be multipled against the amount from the event. For example, the Donation event uses the multiplicative amount, meaning the amount donated will be multipled by the progress amount. This will also include decimal values if the donation currency supports it. A donation amount of $12.34 and an event value of 2 will add 24.68 progress (12.34 * 2) to the goal.
Dynamic progress can be added/subtracted from the goal by using the "Add To Goal" option on the Overlay Action. The amount specified will be directly added/subtracted to the goal when it is triggered. This can be useful for non-standard events, such as a Twitch Channel Point Reward that can add an amount to the goal.
For more information about this, please see the Overlay Action
This widget has access to the following commands:
Additionally, each segment has it's own customized command that can be triggered when that segment has been completed. If the segment custom command exists and has at least 1 action, then the segment custom command will be triggered. If the segment does not have a command or it has no actions in it, then the Segment Completed command will be triggered instead. The segment custom commands uses the same Special Identifiers as the Segment Completed command.
Annie Krevice has designed a rounded variation on the Goal Overlay Widget. Check out her Ko-Fi shop for information on how to use this: https://ko-fi.com/s/d1a6e7b2cf