Most of those things could be done with creating very simple custom tasks based on the code shown in this documentation section. For example, here are two action tasks to SwitchBehaviour of a GraphOwner (BehaviourTreeOwner or FSMOwner respectively).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using NodeCanvas.Framework;
using ParadoxNotion.Design;
using NodeCanvas.BehaviourTrees;
using NodeCanvas.StateMachines;
namespaceNodeCanvas.Tasks.Actions{
[Category("✫ Utility")]
[Description("Switch the entire Behaviour Tree of BehaviourTreeOwner")]
[Description("Switch the entire FSM of FSMTreeOwner")]
publicclassSwitchFSM:ActionTask<FSMOwner>{
[RequiredField]
publicBBParameter<FSM>fsm;
protectedoverride voidOnExecute(){
agent.SwitchBehaviour(fsm.value);
EndAction();
}
}
}
Let me know if that is indeed what you are after. If so and you need more tasks to perform different things stated in that section, let me know what that is, and I can provide them.
Thanks