playMaker

Author Topic: Action can't find FSM: useless log info  (Read 1403 times)

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 824
Action can't find FSM: useless log info
« on: December 11, 2020, 05:26:48 AM »
The issue with PM is when fields are filled manually with some string for example.
PM is not self-aware of these areas inside its own code so if for some reason an action looks for another FSM and cannot find it, it sends a warning to the console but then doesn't provide much of a help to find the culprit.

Is there a solution to this that I'm missing? Clicking on the warning does not highlight the Game Object where the problem happens, and no other PM tool seems to provide the data either.

Editor Log is literally empty and FSM Log doesn't echo anything either, not even a warning symbol.

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 824
Re: Action can't find FSM: useless log info
« Reply #1 on: December 21, 2020, 07:21:49 AM »
I must say that it's in my opinion a design error to have this logged as a warning when it's a crucial element that prevents certain actions from working properly.
You can get this:
Quote
Could not find FSM [name of the FSM]
UnityEngine.Debug:LogWarning(Object)
Yet, although the console provides plenty of details of what happened on Playmaker's side (on enter, action this and that, send event, FSM switch, etc.), it does not provide a droplet of information about the origin of the issue, which is in fact critical but not perceived as such because the field is unseen by PM, most likely because the incriminated field is manually edited.
Modern website interfaces allow text data to be automatically converted into tags which are then used to filter options and provide finer search results, showing that the code definitely knows them. Those tags take the form of a rectangle or bubble that contains the typed text, plus a X to delete them.
Now obviously Playmaker cannot autotag all and any piece of text otherwise you can find yourself with a whole paragraph of text being cut into tags.
This problem actually applies to all field types that are manually edited, to which Playmaker is somehow blind, even if in the case of some FSM vars and FSM names, Playmaker does provide suggestions with the [...] button.
For example, find a var of another FSM with this button, set the field properly with the entry you want, but then edit the name of the var in this other FSM and   this is not mirrored into the former FSM where you might doing a Get/Set/Do-FSM-something or sending an event wherein a string value is used, like a FSM's or event's name. Same with the "Go to" action (little digression here but a state targeted by a Goto action is not marked as such).
There's no dynamic link between the element picked from the [...]'s list and what is entered into the value field. Perhaps Playmaker should create such an invisible link every time a field is manually edited and when the value itself is actually a reference to another FSM's variable or a FSM's name, so an auto-correct/update could happen and Playmaker would also be more aware of this type of content.

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 824
Re: Action can't find FSM: useless log info
« Reply #2 on: December 21, 2020, 07:28:25 AM »
I might have already said this elsewhere, but this limitation due to static value fields that are manually editable feels like creating pre-CSS web pages. This issue creeps up with references to names in external components too like ArrayLists and HashTable components.