playMaker

Author Topic: A better communication between Playmaker and Unity's error check  (Read 1997 times)

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 772
I'm most likely out of my league regarding what comes next but I feel like it needs to be addressed nonetheless, in the hope it will prove useful.

I recently reported a problematic action that I then updated through Visual Studio based on the code that was provided.
This has thrown the following error related to a prefab which contains children, one of which has a FSM that uses an action related to the IsOnPlatformEvent.cs that I recently "corrected" based on Alex's input.
It has also triggered a torrent of endless repetitions of the same two errors, both being exceptions, all up to 999+. In this case it's a mix of:

 - System.NullReferenceException: Object reference not set to an instance of an object; and
 - NullReferenceException: Object reference not set to an instance of an object

They are all related because if I destroy the corrupt FSM component, the wall of errors ends.

I realized that if I didn't remember what I had coded or if I had to go through someone else's work, I would simply have no idea where to start from.
Both the exception-errors talk about GetParamDataType, TryConvertParameter, TryRecoverAction, etc., all the while using typical Windows path syntaxes while I'm on a mac. I don't know what they relate to.

I decided to open a new empty scene – aside from the default camera and the auto generated Playmaker GUI G.O. the moment a prefab with FSMs on it is opened – so as to focus only on prefab related errors.
I also took at a look at other Playmaker tools:

 - FSM Browser: on the prefab, it does list the culprit FSM but doesn't allow me to select it.
 - Error Check: is on auto and everything ticked on. No issue reported there though!
 - Editor Log: provides minimal information, each line can be hovered over and the mouse cursor reacr to them but that's about it. Had a line displayed in red letters. That's about it.

None of them prove helpful here.

I think there is definitely a missing in-between level of analysis and information here, somewhere stuck between Playmaker's own internal overseeing which is limited to Playmaker's own awareness of instances of scripts used within the Graph View on one hand, and Unity's overall error-checking abilities which are unfortunately only concerned about the "mother" scripts on the other hand and pretty much don't concern themselves with whatever goes strictly inside third party extensions and their relative components.
This is how I can face a situation where Playmaker can tell me there is no error (aside from the not helpful Editor Log) while Unity can spam a console on repeat without once actually being able to tell me where the error comes from exactly.

Couldn't something be done about this? A bridging tool of some sort?


Alex Chouls

  • Administrator
  • Hero Member
  • *****
  • Posts: 3998
  • Official Playmaker Support
    • LinkedIn
Re: A better communication between Playmaker and Unity's error check
« Reply #1 on: March 08, 2021, 05:24:58 PM »
The Editor Log is meant to bridge this gap, but could probably be improved.

Quote
Editor Log: provides minimal information, each line can be hovered over and the mouse cursor reacr to them but that's about it. Had a line displayed in red letters. That's about it.

Were you able to click on the report? It should take you directly to the offending FSM > State > Action.

Unless it's a compile error then it's probably just mirroring the Unity log error. The only place a script compile error can be fixed is in a code editor. It's not specific to any GameObject, Prefab FSM etc.

It's easier to work with specific examples, so if you have a project in a broken state with unhelpful error feedback, please email it to me and I'll take a look. Thanks!


Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 772
Re: A better communication between Playmaker and Unity's error check
« Reply #2 on: March 09, 2021, 05:51:03 AM »
I guess it's a special circumstance scenario because as described in the other thread, I couldn't reach the FSM.
So this means that under more normal circumstances, the Editor Log is the tool that can point to the culprit? It's the only tool I found that could actually begin telling me anything of value as it acknowledged the error and tried to point to the GO and its FSM, but since I was exposed to the invisible/blocked FSM bug, it felt like the Editor Log was doing half the job.
All of this adding up to my own experience on Unity and Playmaker. Every day is a new day.
« Last Edit: March 10, 2021, 07:46:04 AM by Broken Stylus »