Rigidbody3D network synchronization not working

Godot Version

4.4.1

Question

Currently making a physics based multiplayer demo. I have player network synchronization working fine, but trying to synchronize other things like RigidBodies is not working. I use an RPC call to spawn balls and it sends to all other peers, but then synchronizing the properties does not occur.

# player script
@rpc("any_peer", "call_local")
func shoot_cube():
    if not cube_scene or not head:
        return
        
    var cube = cube_scene.instantiate() as RigidBody3D
    cube.set_cube_scene(cube_scene)
    var muzzle_pos = head.global_transform.origin + head.global_transform.basis.z * -2.0
    cube.global_transform.origin = muzzle_pos
    
    get_parent().get_parent().get_node("BallSpawn").add_child(cube)

    var direction = -head.global_transform.basis.z.normalized()
    cube.apply_impulse(direction * shoot_force)