Synchronize multiple animations:

// Create an animation group
const animationGroup = new BABYLON.AnimationGroup("myGroup");

// Add animations to the group
animationGroup.addTargetedAnimation(animation, box);
// Create and add rotation animation
const rotationAnimation = new BABYLON.Animation(
    "rotationAnimation",
    "rotation.y",
    30,
    BABYLON.Animation.ANIMATIONTYPE_FLOAT,
    BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE
);

const rotationKeys = [];
rotationKeys.push({ frame: 0, value: 0 });
rotationKeys.push({ frame: 60, value: Math.PI * 2 });
rotationAnimation.setKeys(rotationKeys);

animationGroup.addTargetedAnimation(rotationAnimation, box);
// Control the animation group
animationGroup.play(true); // true = loop
// animationGroup.pause();
// animationGroup.stop();
// animationGroup.reset();

// Adjust speed
animationGroup.speedRatio = 0.5; // Half speed

// Animation group events
animationGroup.onAnimationEndObservable.add(() => {
    console.log("Animation group completed");
});