We actually tried to create more streamlined levels, but they didn't play too well (granted, we are unexperienced with 3d level design :D ).
I'll gladly answer any technical question:
I use "Dotween" for simple animations and organic movements. That makes that cute menu button bounce as simple as
void Start()
{
transform.localScale = Vector3.zero;
transform.DOScale(1, 0.5f).SetEase(Ease.OutBack).SetUpdate(true);
}
public void OnPointerEnter()
{
transform.DOScale(1.1f, 0.5f).SetEase(Ease.OutBack).SetUpdate(true);
}
public void OnPointerExit()
{
transform.DOScale(1, 0.5f).SetEase(Ease.OutBack).SetUpdate(true);
}
Dotween also fades the music in and out, makes crystals slowly start to glow on impact and moves the platforms. I highly recommend it, especially for 2D games as those can always use squishing and bouncing of sprites.