I use
this speed and cadence sensor on my mountain bike with my Vivoactive. I just got it, but it has worked fine on the couple rides I've taken since then.
GPS on the watch will track speed if you don't have a speed sensor, but I believe I've read that a speed sensor will be quicker to update on the watch, and the GPS generated speed will lag behind what you're actually doing or not update quite as often.