Your comments

Think I'll add this support to my extensions library aswell.

What plugins do you have installed? Just checking that we can get a minimum reproduceable example.

  • ScriptableObject Factory (https://github.com/liortal53/ScriptableObjectFactory)
  • Graph Visualizer (https://github.com/Unity-Technologies/graph-visualizer)
  • Unity UI Extensions (https://bitbucket.org/UnityUIExtensions/unity-ui-extensions)

PMed you. AliveDevil on Discord.
I'll try to get a minimal example setup which shows this behavior

2017.2,  .NET 3.5 Backend.

Funny thing. I just looked up my graph and it shows up there (reference not deleted). But I'm not able to browse for this unit in finder.

May relate to getting this error.

Failed to provide option for 'Bolt.InvokeMember'.
System.InvalidCastException: Cannot cast from source type to destination type.
  at System.Attribute.GetCustomAttributes (System.Reflection.ParameterInfo element, Boolean inherit) [0x00010] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Attribute.cs:273 
  at Ludiq.AttributeUtility+AttributeCache..ctor (System.Reflection.ParameterInfo element) [0x0003f] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Runtime\Reflection\AttributeUtility.cs:37 
  at Ludiq.AttributeUtility.GetAttributeCache (System.Reflection.ParameterInfo element) [0x00021] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Runtime\Reflection\AttributeUtility.cs:186 
  at Ludiq.AttributeUtility.HasAttribute[AllowsNullAttribute] (System.Reflection.ParameterInfo element, Boolean inherit) [0x00000] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Runtime\Reflection\AttributeUtility.cs:277 
  at Ludiq.MemberUtility.AllowsNull (System.Reflection.ParameterInfo parameterInfo) [0x00000] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Runtime\Reflection\MemberUtility.cs:273 
  at Bolt.InvokeMember.Definition () [0x00150] in C:\Users\Lazlo\Projects\Ludiq\Bolt.Flow\Runtime\Flow\Framework\Codebase\InvokeMember.cs:105 
  at Bolt.Unit.Define () [0x00010] in C:\Users\Lazlo\Projects\Ludiq\Bolt.Flow\Runtime\Flow\Unit.cs:93 
UnityEngine.Debug:LogError(Object)
Bolt.UnitBase:CacheStaticUnits() (at C:/Users/Lazlo/Projects/Ludiq/Bolt.Flow/Editor/Options/UnitBase.cs:119)
Bolt.TypeOptionsPage:Complete() (at C:/Users/Lazlo/Projects/Ludiq/Bolt.Flow/Editor/Windows/TypeOptionsPage.cs:94)
Bolt.TypeOptionsPage:OnContentGUI() (at C:/Users/Lazlo/Projects/Ludiq/Bolt.Flow/Editor/Windows/TypeOptionsPage.cs:81)
Ludiq.Page:DrawContent() (at C:/Users/Lazlo/Projects/Ludiq/Ludiq.Core/Editor/Windows/Page.cs:56)
Ludiq.Wizard:OnGUI() (at C:/Users/Lazlo/Projects/Ludiq/Ludiq.Core/Editor/Windows/Wizard.cs:103)
Ludiq.WrappedEditorWindow:OnGUI() (at C:/Users/Lazlo/Projects/Ludiq/Ludiq.Core/Editor/Windows/WrappedEditorWindow.cs:41)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Hey,

I just looked up a WaitFor*-Unit in Object Explorer of Visual Studio (View -> Object Explorer) (or hit F12 while having the cursor on a WaitFor*-Unit, to get into Metadata).

From there I just created a class inheriting from WaitUnit (which is the base class for Waiting-Units) and implemented required methods.

Sidenote: IntelliSense and Metadata provide rich information you need for creating custom units without documentation.