Hi there,
I tried a variation of the animation ThirdPersonCamera example tree using one new Sub Anim Instance … since those sub-graphs are great for cleaner, modular organization.
Problem on Listening server side:
All remote player characters on the Server (= RemoteRole is “AutonomousProxy” for all of them)
this one Sub Anim Instance and resulting Pose does not update even if I play a simple, constant looping animation like a walk cycle.
Note: An obvious workaround is to NOT use Sub Anim Instances, i.e. always flatten your tree to only one Animation Blueprint. This always updates correctly.
Observation - This is intended … to some degree:
In C++ I found the intended cause in method “ACharacter::PossessBy()”:
The engine code sets a SkeletalMeshComponent flag called bAutonomousTickPose = true".
The comment here is: “// If we are controlled remotely, set animation timing to be driven by client’s network updates. So timing and events remain in sync.”
Ok, it is intended. So how do I tick that sub anim’s pose (again)?
Q: Any hints on the “fix” or ideally **intended way to tick the animation Pose in networked games on an AnimationInstance … each frame?
Thanks,
Example of the original ThirdPerson template’s Animation BP but with an Sub Anim Instance replacing the original “Default” state machine that worked fine for networking:
…and the copied animations inside the “Subtest” Animation BP, the Animation Blueprint the Sub Anim Instance refers to in the image above: