Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bug Visual Scripting (Bolt) randomly messes up values during Play Mode

Discussion in 'Visual Scripting' started by galbenaim8, Jan 10, 2022.

  1. galbenaim8

    galbenaim8

    Joined:
    May 1, 2021
    Posts:
    8
    Hey!

    We've been using Bolt for a while now, and this issue seems to happen a lot.

    We have graphs where all values are assigned perfectly. Then, right after hitting play, some of the parameters are messed up.

    For example, we have a node that receives a parameter of type Transform - on Play Mode, it suddenly changes the received parameter from what was assigned in Edit Mode, to a whole other object (they're not even the same type).

    BoltPlayMode.png


    BoltEditMode.png

    In another case(s), it assigned a different value but of the same type (for example, when using default SetActive node, it messes up the received GameObject)

    Normally what's happens after returning to Edit Mode:
    - If the value type was completely off (i.e assigned SO type to a Tranform type) it will return to the correct value.
    - If the value was off but of the same type, it will leave the faulty value from the Play Mode there.

    Sometimes, applying Revert Overrides helps solving the issue, but not guaranteed and it also might mess up other stuff.

    This is really frusturating, anyone encountered this issue?

    (Unity version 2021.2.3f1)

    Thanks!
     
    Last edited: Jan 10, 2022
  2. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    Bolt is not officially supported past 2020.3 LTS. You're supposed to switch to Unity Visual Scripting that ships with the engine for 2021+ versions of the engine. Which Bolt/UVS version are you on right now?
     
  3. galbenaim8

    galbenaim8

    Joined:
    May 1, 2021
    Posts:
    8
    Thanks! using Visual Scripting version 1.7.6
    It seems to be the newest though
     
  4. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    Does this happen only in the context of your custom nodes? I haven't been using Bolt/UnityVS for quite a while now, so I can't say what the issue is. Gut says probably a serializer bug since it's still based on the outdated FullSerializer even now. But perhaps there's some issue with your custom node.
     
  5. galbenaim8

    galbenaim8

    Joined:
    May 1, 2021
    Posts:
    8
    Unfortunately no, this also happens when using VS default nodes - really might be a serializer bug
     
  6. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    If you can reproduce it reliably, try sending them a bug report via regular bug reporting means. It'll reach 'em. I wouldn't hold my breath for a quick fix though unless they're already aware of this issue. Sometimes we go months without a bug fix release. People have been waiting for some fixes since October last year.
     
  7. Trindenberg

    Trindenberg

    Joined:
    Dec 3, 2017
    Posts:
    395
    Do you have any variables which are set/created before they exist? I found this issue happens on the new Interpreter if I don't have a variable exist beforehand. Don't think it happened on normal Bolt but then I'm more custom noding than actual graphing atm.
     
  8. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    1.7.6 on 2021.2.8.



    That does not look like a GameObject to me. Something's seriously messed up. Simply created a Scene variable by hand. Some objects show the GO icon, other objects randomly show my custom type icons. And it's inconsistent since all objects added this way have the same scripts on. It just randomly picks a type that exists on a GO lol.
     
    galbenaim8 likes this.
  9. Deleted User

    Deleted User

    Guest

    Running into a very similar issue on my end. Also receiving some warnings on the console I'm not sure is related. It does seem to be a serialization issue. As you can see from my video, if I disconnect the nodes, then press undo, they hook back just fine, but I lose the stored variable value on the node (in my case the "Set Active" boolean values)