Known Issues


This is a known problem list currently confirmed.

Please report it to the Bug report forum when there is a problem.

Arbor 3.6.10

Copying and pasting ArborFSM or BehaviourTree from Inspector disconnects the data slot in the graph

The problem that the data slot cannot keep track of the connection data because the process of associating the data slot and the connection line during copy and paste was insufficient.

  • Status: Fixing.

Temporary solution

  • Open Assets/Plugins/Arbor/Internal/Editor/Clipboard.cs.
  • Add the following code around line 284 (the line next to “ComponentUtility.useEditorProcessor = cachedEnabled;”).
    for (int i = 0; i < dest.dataBranchRerouteNodes.count; i++)
    {
    	var rerouteNode = dest.dataBranchRerouteNodes[i];
    	if (rerouteNode != null)
    	{
    		RerouteSlot slot = rerouteNode.link;
    		if (slot != null)
    		{
    			slot.nodeGraph = dest;
    		}
    
    		IInputSlot inputSlot = slot as IInputSlot;
    		if (inputSlot != null)
    		{
    			DataBranch branch = inputSlot.GetInputBranch();
    			if (branch != null)
    			{
    				branch.inBehaviour = dest;
    				branch.inNodeID = rerouteNode.nodeID;
    			}
    		}
    
    		IOutputSlot outputSlot = slot as IOutputSlot;
    		if (outputSlot != null)
    		{
    			for (int j = 0; j < outputSlot.GetOutputBranchCount(); j++)
    			{
    				DataBranch branch = outputSlot.GetOutputBranch(j);
    				if (branch != null)
    				{
    					branch.outBehaviour = dest;
    					branch.outNodeID = rerouteNode.nodeID;
    				}
    			}
    		}
    	}
    }
    
  • Add the following code around line 454 (after adding the above code) (the line before “static void CopyChildGraphs (NodeBehaviour dest)”).
    static void MoveDataSlots(NodeBehaviour behaviour)
    {
    	NodeGraph nodeGraph = behaviour.nodeGraph;
    
    	for (int i = 0; i < behaviour.dataSlotFieldCount; i++)
    	{
    		var dataSlotField = behaviour.GetDataSlotField(i);
    		if (dataSlotField != null)
    		{
    			DataSlot slot = dataSlotField.slot;
    			if (slot != null)
    			{
    				slot.nodeGraph = nodeGraph;
    			}
    
    			IInputSlot inputSlot = slot as IInputSlot;
    			if (inputSlot != null)
    			{
    				DataBranch branch = inputSlot.GetInputBranch();
    				if (branch != null && branch.inBehaviour != behaviour)
    				{
    					branch.inBehaviour = behaviour;
    				}
    			}
    
    			IOutputSlot outputSlot = slot as IOutputSlot;
    			if (outputSlot != null)
    			{
    				for (int j = 0; j < outputSlot.GetOutputBranchCount(); j++)
    				{
    					DataBranch branch = outputSlot.GetOutputBranch(j);
    					if (branch != null && branch.outBehaviour != behaviour)
    					{
    						branch.outBehaviour = behaviour;
    					}
    				}
    			}
    		}
    	}
    }
    
  • Add the following code around line 574 (after the above code is added) (the line next to “dest.expanded = expanded;”).
    MoveDataSlots(dest);
    
    
  • Add the following code around line 615 (after the above code is added) (the line next to “dest.Initialize (nodeGraph, nodeID);”).
    MoveDataSlots(dest);
    
    

Unity Support

ArborFSM or BehaviorTree cannot be applied properly via preset

A bug that ArborFSM, BehaviorTree, and ParameterContainer are registered in each preset and do not work properly even if they are applied to other components.
Strictly according to Unity specifications, presets store only the data of one component, so if multiple components are linked internally, some references will be cut off.

  • Status: Unsupported components are being removed from presets. Will be supported in Arbor 3.7.0.

Connection slot is not displayed when StateLink or DataSlot is in the type referenced by SerializeReference

When the type referenced by using SerializeReference added in Unity 2019.3 has a special slot field for Arbor, it is not enumerated correctly and the connection slot is not displayed.
Not implemented as of 3.6.8, and SerializeReference cannot be used for Arbor-specific system-related fields.

  • Status: A bug was found on the Unity side, so we’re waiting to fix it.

Known Issues Archive for Past Versions

Privacy Preference Center

Your Privacy

This site uses cookies to display contents and advertisements tailored to users, provide social media functions, measure advertisement impressions and clicks. We also gather information on users' site usage status and provide them to social media, advertisement distribution and data analysis partners. Each partner may use this information in combination with other information that the user provided to each partner or other information gathered when the user used the service of each partner.

Analytics, Ads