+1
Answered

Super unit lost connections and some nodes

Paolo Bragonzi 3 years ago updated by Lazlo Bonin (Lead Developer) 3 years ago 3

Hi, 

I'm having some problems with nasted super units. Often reopening it after a code changes (switching between VS and Unity), all connections in super unit are lost (see image below).


I think it happens when there is a compilation error in the code and accidentally switching from VS to Unity.

If I refresh scene file (for embedded super unit or source file for external macro) reverting it from previous version from git then restore it to latest version, everything is corrected.

Is there a way to force the refresh of the super unit graph without performing this workaround (that I'm not sure it always works)?

thanks bye

Bolt Version:
Unity Version:
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):
GOOD, I'M SATISFIED
Satisfaction mark by Paolo Bragonzi 3 years ago
+1

Yes, I've had this happen when the serialization fails (due to refactoring, parameter count changing, renaming methods, errors, etc).  I've spoken to Lazlo about it, and he has plans to improve to improve this behavior, beginning in 1.3 (https://support.ludiq.io/forums/5-bolt/topics/392-roadmap/,  Improve error recovery to preserve unit connections).

Here's what I posited:

"speaking of breaking, I've had some trouble with it and refactoring reflection-based nodes. Is it possible to create a no-op placeholder node (under the hood maybe takes params object[] args) that can keep all the connections alive, but exceptions when run? The current behavior breaks every connection I have in a graph and leaves a hole for anything that didn't resolve

but if we can get a "will exception when run" placeholder, then I can find and replace them in a much easier fashion"


And here was Lazlo's response:

"This will be even better in future versions (the connections update IIRC). Connections will always be preserved even if the ports don't exist anymore on the parent nodes. This is one of the most major stability improvements I want to make. Additionally, there's a feature planned for refactoring attributes that will allow you to refactor without breaking graphs"

Hi Reality.Stop(), thanks for answer!

Good news, then I'll wait for next updates.

cheers

Answered

Hi Paolo,

What I said on Discord still holds, these are exactly my plans. I'm sorry you lost connections in the mean time!