Best practice for syncing AnimationTree in Godot 4 multiplayer?

Godot Version

4.6.3

Question

I’m building a multiplayer game in Godot 4 using CharacterBody3D with a MultiplayerSynchronizer. My AnimationTree uses chained Blend2 nodes (Run → Crouch → Look) and I’m currently syncing the blend amounts directly in the synchronizer.

  • AnimationTree:parameters/RunBlend2/blend_amount

  • AnimationTree:parameters/CrouchBlend2/blend_amount

  • AnimationTree:parameters/LookBlend2/blend_amount

Syncing blend parameters seems to work fine when running multiple instances on the same machine, but I’m wondering if animations could drift out of sync when players on different computers connect to each other, since only the blend amounts are being synced and not the actual playback position of the animations. I can’t seem to find any parameter that just syncs the playback position of the animation tree. Is there a more robust approach to this? I would love to know.

Do the animation positions need to be strictly synced? I can’t think of a game where it would matter

I could just use the capsule collisionshape3D to detect player damage… but I thought that if I were to ever make hitboxes that match the player mesh it would matter.