Your comments

Yes, once the asset is removed from the project, everything is okay.

Temp fix (Thanks to Elringus on Discord!): Replace line 25 of Ludiq\Ludiq.Core\Editor\Utilities\EditorUnityObjectUtility.cs with:


EditorUtility_IsDirty = typeof(EditorUtility).GetMethods(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public).Where(m => m.Name == "IsDirty").First();

Sounds like you want a Debug Console which accepts a function (in this case, one for each type of event, be it a Unity Event, or a CustomEvent), and an argument for the Trigger Id and parameter array, correct?


So for example, you have a CustomEvent.Trigger Unit with a TriggerId of foo, and no parameters, so you would manually force trigger that Unit by typing into the console that CustomEvent.Trigger(foo)?


It's an interesting idea, and one that I've actually started implementing into my projects using a Debug Console asset from the asset store (that way I can define and trigger many more functions than just events).


May not be too difficult to create one, honestly, for just events. What you need is an in-game canvas, with a text field, and a button to invoke that entered command. You could simplify it further by using a dropdown in the canvas to select the type of event, and then use the text field to enter in your TriggerId and your array of parameters.


The neat thing about this tactic of implementation is that you could use it in a build project as well.


I may actually consider implementing this into my event subscription plugin, when I get some time to go back and start working on it again. So thanks for that idea! :)

This is actually what I've been asking for!

I guess they are more or less nested Machines, but the point (and result) remains the same for the most part.

I was trying to to think of a way to explode a graph, and thought of a novel, albeit likely difficult to implement, idea. Have the ability to take a graph selection, and adjust the scaling of that selection. So in the case of explode, it would explode it, with a very small scaling for that subgraph.

This could likely get messy though, once those nodes get mixed in with others.... Maybe not that great of an idea after all. 

This... Is actually a great idea, with a couple caveats. It would have to be via search result (as you mentioned in your suggestion), and you'd have to be prepared to click through multiple to find which one you're after, as many units will share the same name (i.e. Macros used multiple times in a graph, let alone a project). One way to mitigate that would be to show the relative tree path for that unit, but it wouldn't eliminate the issue, as you can have multiple such units in the same graph you're scoped to. Also, it would only really work with the nested type units, (i.e. Super Units), and their respective Flow/State machines. 


But other than that, I could see this being a very useful feature.

Just thinking one step further, and this may be an excessive idea, but it's an interesting one. (And I realize this can already be done with events, but this way may be more appealing)

This idea could be extended, with some changes to the way Input and Output nodes are handled in a Machine, to support multiple Input and Output nodes. Particularly Output nodes, as that could provide some neat contextual flow from graph to graph, without having to fall back on event triggers. Additionally, with the way the Graph Inspector is already set up for configuring I/O nodes, this way could be easier and more resilient to user error (an example being a misspelled or miscapitalized event string).


And just thinking about it, I think having a drag and drop interface may be ideal in some cases, but for those who don't like that method, it could be set up in a similar fashion to the ways variable nodes are implemented; the same node to select from the fuzzy finder, but a drop down menu on the node to select between the configured options for that machine.

Graph Inspector: Machine I/O Node Creator.

Did a quick search, didn't find anything, so I hope this isn't a repost.

Just a thought I had while refactoring graphs into multi-machine graphs; it's really nice and easy to create Control I/O and Value I/O options in the Graph Inspector. What would really take it that extra mile though, is to be able to drag and drop a configured I/O option from the Graph Inspector, and onto the Graph.

Hey Paul, just a heads up from the Discord update he posted earlier:

"I'll be looking into turning the Editor Default Resources folder(s) into asset bundles

No root folder, less files cluttering your project, fast loading, etc.

If it works it'll be especially cool because you won't see all the Bolt editor textures while in the texture picker"

I hope that clears things up for you!