[Netcode] [DestinationState To Transition Info] Layer (0) does not exist!

I am having this error and i dont understand why.
I am implementing multiplayer game (CodeNet], using serverRPC’s. I created the animations and dragged into the animator, and everything works fine. Its animated, good movement on both clients and host.
However, in the client, it is giving me the error

[Netcode] [DestinationState To Transition Info] Layer (0) does not exist!

I dont understand why, the script contains this variables

[SerializeField] private Transform orientation;
[SerializeField] private Transform playerObj;
[SerializeField] private Rigidbody rb;
[SerializeField] private Animator animator;

And they are all dragged in the inspector (otherwise would not even work right?)
So why is this error, and how can i track it?

3 Likes

Hi

I ran into the same problem. All state transtions to and from a blend tree throw this error.
Either removing of all transitions connected to the blend tree or removing the blend tree altogether is a workaround i found as well. Another dirty workaround is to lower the log level of the netcode which will supress the error message.

By digging into Unity’s code for the NetworkAnimator I found that the script creates a lookup table where all state transitions are held. For some unknown reason state transitions from and to blend trees are not added correctly or not added at all which creates the error when entering or leaving blend tree states.

It is really hard to find anything related to this error. Were you able to resolve this error on your side?

Managed to solve it but it is so weird. In the animator, I had idle animation which was connected to a blend tree. The connections were based on the float. I removed that idle, and used the blend tree as default. Then I inserted that idle animation in the blend tree itself and it solved it. I dont understand why having that connection would do that error but it is solved.
Seems like going from the base layer into the blend tree was triggering that error.

Hey I’m having the same issue, and I think the reason why removing the idle animation and just having the blend tree work as default state is because (at least for me) the error is happening when doing ANY transitions, but when having the blend tree (I also have one) as a default state it does not happen

https://forum.unity.com/threads/netcode-for-gameobjects-network-animator-transition.1461400/?gq=[Netcode]%20[DestinationState%20To%20Transition%20Info]%20Layer

I had the same issue with transitions to/from blend trees that were conditional to boolean parameters. The boolean parameters seemed to not work on clients, however float parameters are correctly driving blend trees (i.e. Speed). As mentioned the error throwing is dependent on the Log Level in the Network Manager.

In the network animator doc there’s a mention to use NetworkAnimator.SetTrigger instead of the Animator class one. Since booleans in my controller only used true state, I replaced them with triggers and everything now works on both client and host (but still logs errors in dev Log Level!)