REVIVE!
I second the request for parsing all missing actions and either finding the appropriate scripts or replacing them with others, or even deleting the actions.
When an action can't see its script, it still provides the name of the script, minus the .cs extension.
In other words, in theory it could be possible to parse all actions and relink the blank actions with their scripts.
A switch option to force official actions only (this would be the default) would be nice, so the tool would first look for missing scripts from official actions. Switching to "external actions" (3rd party, custom, etc.) would, instead, go looking for all .cs-type action scripts
outside of Playmaker's official actions folder.
Some other options I can't think of right now could allow the user to narrow the research, which might be nice in order to go faster.
Scene, date, size, filter
n Game Objects, state name, FSM template, ignore/allow instances (would be logical to have ignore
on by default, since editing an instance's FSM breaks the link to the prefab), prefabs only (only looks in Assets, obviously; maybe coud be renamed 'Assets only'... probably), etc.
The entire parsing process could be stopped (cancel button) and there would be a gauge with a counter of total missing actions found.
Once the list would be built, the user could do the following operations:
- Relink: (order) Looks for the script with the same name and repairs the reference.
- Change: (order) Pop up to find the script. This is a manual operation that cannot be automated UNLESS a by default script is specified in the field next to this order [...].
- Remove: (order) Deletes the action in the state.
- Clean FSMs: (bool) A flag that's off by default. Only applies if the Remove process is used. It will check if the state holding the action is empty and if yes, said state will be deleted.
- Cycle All: (bool) A flag that's off by default and would cycle through the entire list, dealing with each case found before automatically moving to the other (will not work with 'Change' operation unless a default script is specified). With this flag off, the user would either have to press NEXT or select one of the missing actions in the list. With this flag on, the tool starts from the top of the list unless the user selects a specific action in the list to start from (therefore changing the starting index). Will not loop back to the top, logically.
For the sake of a proper UX, the order buttons should remain somewhere, possibly at the top of the list, so even if the list is long and you have scrolled to its bottom, you can still reach the buttons and other options easily.
And to mimic what is in the Ecosystem, flying the cursor over a line could show the buttons at the right side of the missing action's line you're highlighting (yes, a highlight might be nice, subtle and all that).
A counter for the number of processed faulty actions would be nice too.
If states are to be deleted, a list of such deleted states (and their respective FSMs, with a goto button for each of them) should be seen too, maybe as a popup.