NodeCanvas - (Behaviour Trees | State Machines | Dialogue Trees)

hi, I’ve been trying to learn node canvas but the website is inaccessible to me, I’m getting a “this site can’t be reached”… ERR_CONNECTION_TIMED_OUT error.
So I’m wondering is the website down or is it a problem on my side?

Throws an error
NodeCanvas Lite
NullReferenceException: Object reference not set to an instance of an object
ParadoxNotion.Design.EditorUtils.GetMenuItems (UnityEditor.GenericMenu menu) (at Assets/ParadoxNotion/CanvasCore/Common/Design/PartialEditor/EditorUtils/EditorUtils.ContextMenus.cs:357)
ParadoxNotion.Design.GenericMenuBrowser.GenerateTree () (at Assets/ParadoxNotion/CanvasCore/Common/Design/PartialEditor/GenericMenuBrowser.cs:271)
ParadoxNotion.Services.Threader+<>c__DisplayClass8_0.b__0 () (at Assets/ParadoxNotion/CanvasCore/Common/Runtime/Services/Threader.cs:44)
System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) (at :0)
System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at :0)
System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at :0)
System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) (at :0)
System.Threading.ThreadHelper.ThreadStart () (at :0)
UnityEngine.<>c:b__0_0(Object, UnhandledExceptionEventArgs)

Hello everyone,

Just in case you haven’t seen them, there are some new video tutorials available in collaboration with @UnsideUnityAssets on youtube.

A new version was also recently released (actually a lot since the last update in this thread :slight_smile: ).
As always you can check all version changes here.

Cheers!

1 Like

Check out Len’s Island game recently released and proudly using NodeCanvas!
[ Len’s Island Website ]

1 Like

I’ve been getting this same error when trying to assing an action task to a node. Strange.

We were using an old version of node canvas, after updating the package to the latest version this is now fixed!

Hello,

@nuverian_1 I was wondering how would you handle a BT which handles iterating through sequences using a repeat node and a wait until node to check if the current sequence is complete - but I’d like to be able to start a timer, maybe using a timeout action, at the beginning and be able to react/interrupt the current flow when the timer reaches 0. I’m not sure how to do this because it means I need the timer part to be active and executed while the other part of the graph is running too knowing I would have to use a wait until not on that part.

Thanks

@nuverian_1 hi there

I’m trying to find the right approach to using polymorphic objects in flow scripts.
For example I have a node that creates an object on scene with custom MonoBehaviour script attached to it and returns it for further usage.
I then want to pass it to another general purpose node called “Extract Game Object” that has input value as Component and output value as GameObject (it does a simple job - returns component.gameObject). I cant do it however because the Canvas requires “automatic type conversion”.
I’d be grateful if you’d point me in the right direction - some kind of tutorial perhaps?

How would I use the “Manual” update mode. Can’t find any info in docs. Thanks!

I’m currently using the Priority Selector to create a Utility based AI. So far so good, but unless I’ve overlooked something, it could really use some randomness.

Since it always chooses the highest scoring action, the resulting AI behavior is often predictable and repetitive.

There are two simple solutions to this problem that I’ve seen used, and it would be great if they were options within the Priority Selector.

  1. Tournament random
  • The tournament size is set, meaning the number of competing actions that will be considered in the selection process
  • The top scoring actions (limited in number according to the tournament size) are then chosen from randomly
  1. Weighted random
    - A minimum score cutoff is set, meaning all competing actions that score above this threshold are chosen from randomly
  • Uses the scores as weights (eg. if one action is scored 33% and another is scored 66%, it’s twice as likely to pick the 66% action)
  • As with tournament type, a maximum size of candidates can be set

Thanks for hearing me out!

I’m trying to customize the PrioritySelector.cs script, however I’m not able to add basic custom variables. I’m aware that this is due to the OnNodeInspectorGUI() overriding the GUI, but I can’t find any GUI documentation for NodeCanvas.

I have been able to implement through BBParameter like so:

public BBParameter<bool> customBool;
protected override void OnNodeInspectorGUI() {
customBool= (BBParameter<bool>)NodeCanvas.Editor.BBParameterEditor.ParameterField("Custom Bool", customBool);
}

But I would like to know how to show a simple basic variable.

1 Like

Have you found a solution? I’d like to know the same thing.
@nuverian_1 Can you tell us how to use the manual update mode for a FSM?

Hello everyone!

I’d like to remind you to please use the official forums for support since it is far better for tracking inquiries per thread there. Feel free to also join our community on discord as well. Last but not least there were a lot of updates since my last post here! You can always find the full change log on the website :slight_smile:

Thank you.

Check out Relic Odyssey: Ruins of Xantao game recently released in Early Access and proudly using NodeCanvas & Slate Cinematic Sequencer!

[ Relic Odyssey: Ruins of Xantao Website ]

2 Likes

Amiro is working on a very cool game called “My Chicken Farm” and in this video he is showcasing how he uses NodeCanvas behaviour trees in Unity for the colony and chickens AI behaviour! Make sure to check out his twitter profile for updates on the game ( https://x.com/WereNotPigeons )!

Example Scenes have been updated with more comments and notes. While at it some new example scenes were also made to showcase various features. You can download them from the website as usual.





1 Like

Check out Moorhuhn Kart 4, a fast-paced kart racer game recently released and using NodeCanvas for the menu flow and for the AI!

New tutorial series started:

1 Like
1 Like
1 Like