Virtual Shifting: setup, settings, and troubleshooting

Virtual shifting lets you change gears in ROUVY without touching the shifters on your bike.

ROUVY tells your trainer how much resistance to apply, so the trainer does the work a cassette and a derailleur would do outdoors, and your drivetrain stays in one quiet position for the whole ride. You choose how your virtual gears are spaced and how your shifter buttons behave, the same way you would on a real bike.

This article walks through what you need, how to connect it, what each setting does, and what to check when shifting doesn't respond.

 

What you need

  • A compatible trainer or smart bike, on the latest firmware.
    Check your model in Supported Trainers: a lit Virtual Shifting badge on the card means ROUVY can shift gears on that device.
  • A Bluetooth or Wi-Fi connection to that trainer.
    ANT+ doesn't carry the commands ROUVY needs, so a trainer connected over ANT+ can't shift.
  • A free Bluetooth slot if you shift with a controller, since the controller needs a connection of its own.
  • A shifting controller, which is recommended but not required.
    Without one, you shift with the on-screen buttons, from the ROUVY Companion App, or with your keyboard on desktop.

 

Your bike: Zwift Cog or a normal cassette

Virtual shifting changes the resistance your trainer applies, and it does that on top of the gear your bike is physically in. That's why it's worth setting the bike up once before your first ride, and then leaving it alone.

  • On a single-sprocket setup such as a Zwift Cog, there's nothing to set.
    The chain sits on the one sprocket, every gear you use is virtual, and the range feels the same on every ride. Zwift Ready trainers ship with a Cog already installed, so many riders start here.
  • On a normal cassette, the gear you leave the chain in decides where your whole virtual range sits. Leave it in an easy gear and the range sits low: comfortable on a climb, but on a fast descent you run out of gears and the pedals spin without resistance.
    Leave it in a harder gear and you keep something in reserve for the descents.

    We recommend a small sprocket at the back, somewhere in the 11 to 13 tooth range, together with the large chainring at the front. Switch to the small chainring when you have a long climb ahead and want easier gears.

Leave the chain where it is once you ride

Moving the physical gear changes the basis your virtual gears work from, so the gear shown on screen stops matching what your legs feel. Shift virtually instead.

 

Setting up virtual shifting

You don't connect virtual shifting on its own. You connect the trainer first, switch virtual shifting on for that trainer, and then add a controller if you have one.

 

1. Connect your trainer

Turn on your trainer or smart bike, then connect it in ROUVY the way you normally would, over Bluetooth or Wi-Fi. Full instructions are in the connection guide.

Your trainer sits on the large tile on the left of the device screen. 
The tile is called Smart trainer. Older versions of the app called it Controllable and showed it on the right.

Power, Cadence, Heart rate, and Cycling remote control are the smaller tiles in the right column. A trainer without resistance control goes on the Classic trainer tile below instead.

The device screen with a trainer on the Smart trainer tile, Virtual shifting on, and a Zwift Click on the Cycling remote control tile.

 

2. Turn on virtual shifting

You can skip this step if you use a shifting controller

Connecting a shifting controller switches virtual shifting on by itself, as long as your trainer supports it, so you can go straight to step 3.

If you disconnect the controller, virtual shifting switches off again. To keep shifting from the screen, the Companion App, or the keyboard, turn it back on here.

Virtual shifting is switched on for the trainer itself, on the Smart trainer tile:

  • make sure the trainer that supports virtual shifting is the one connected on the tile (select the pencil icon on the tile if a different device is there),
  • switch on the Virtual shifting toggle on the tile.

You can also turn virtual shifting on or off during a ride, from the ride screen or the Companion App.

The toggle and the CUSTOMIZE link appear only once a trainer that supports virtual shifting is connected.

If you can't find them, either the trainer doesn't support virtual shifting, or it's connected over ANT+.

 

3. Connect a shifting controller, if you have one

A shifting controller has its own tile, separate from the trainer. Add it on the device screen:

  • select + on the Cycling remote control tile in the right column,
  • pick your controller from the list and add it.

Both devices are connected correctly when you see the trainer on the Smart trainer tile and the controller on the Cycling remote control tile, as in the screenshot above.

Zwift Click V2 and Zwift Ride pair as a pair

Both halves, left and right, have to be paired at the same time. Both LEDs need to be blinking blue when you start. Once the pairing succeeds, both LEDs turn solid blue.

If only one side is blinking, wake the other one before you connect, or ROUVY will pair half of the controller.

 

4. No controller? Shift from the screen, the Companion App, or the keyboard

Plus and minus buttons on the riding screen do the same job as a shifting controller.

They're hidden until you switch on On-screen virtual shifting in the virtual shifting settings (see On-screen virtual shifting below). The same toggle shows the gear controls in the ROUVY Companion App, which is the easiest option when your screen is out of reach.

On desktop, the period and comma keys shift up and down without any setup at all.

The riding screen with the plus and minus virtual shifting buttons.

 

Customizing your shifting

Select CUSTOMIZE on the Smart trainer tile to open the virtual shifting panel. It has three settings: shifting style, gear range, and on-screen virtual shifting. The MORE INFO link in the panel leads to this article.

The Virtual Shifting panel with Sequential, Mixed Terrain (1x24), and On-screen virtual shifting off.

 

Shifting style

Shifting style decides what each button on your Zwift controller does. If you've ridden with SRAM or Shimano shifters outdoors, pick the one your hands already know.

Style What the buttons do
Sequential Left is easier, right is harder, one gear at a time. This is the default.
SRAM-Style Left is easier and right is harder on the cassette. Press left and right together to switch chainrings.
Shimano-Style A and Shimano-Style B The right lever shifts the cassette at the back and the left lever shifts the chainring at the front, with one button for harder and one for easier on each lever. A and B differ in which button does which: point at a style in the list and the panel shows its layout.

The Shimano styles need two shift buttons on each side, so they work on Zwift Ride, and on an Elite Square paired with a trainer that supports virtual shifting. They don't work on Zwift Click V2 or Zwift Play, so use Sequential or SRAM-Style there.

Zwift Click V1, CYCPLUS BC2, keyboards, gamepads, and other generic controllers always shift sequentially, whatever style you pick. The gear range below applies to every way you shift.

Until a Zwift Click V2, Zwift Ride, or Zwift Play is connected, Shifting style is greyed out and stays on Sequential. You can still choose a gear range.

The Shifting style list open on Shimano-Style A, with the L1, L2, R1, and R2 button layout.

 

Gear range

Gear range decides how many virtual gears you have and how they're spaced. Each preset copies a real drivetrain, written as chainrings and then cassette, so 53/39, 10-28 means a 53 and a 39 tooth chainring with a 10 to 28 tooth cassette. Smaller chainrings and bigger sprockets mean easier gears.

Preset Setup and what it's good for
Mixed Terrain (1x24) Best for unpredictable routes that change all the time. One chainring with 24 evenly spaced gears, so there are no front shifts to manage: just one gear up or down at a time. This is the default.
Flat (53/39, 10-28) Best for racing, time trials, and gently rolling routes. A classic two-chainring race setup with a tight cassette: high top-end speed and small steps to fine-tune your cadence.
All-Arounder (48/35, 10-33) Best for everyday riding and mixed terrain. A modern two-chainring road setup with a 1:1 lowest gear: fast enough on the flats, easy enough for most climbs.
Climbing (43/30, 10-36) Best for steep mountain passes and long climbs. A compact two-chainring setup with a lowest gear easier than 1:1, so you can keep your cadence high on steep gradients without overloading your legs.

Mixed Terrain has a single chainring, so the chainring shift in SRAM-Style and the Shimano styles has nothing to change there. To use it, pick one of the two-chainring presets.

You can't change the gear range during a race. If you change it in the middle of any other ride, ROUVY keeps you in the nearest similar gear instead of starting over.

 

On-screen virtual shifting

This toggle shows or hides the plus and minus shift buttons on the riding screen and in the Companion App. It's off by default, so switch it on if you shift without a controller, and leave it off if you'd rather keep the riding screen clean.

 

Virtual shifting isn't working

Start with the connection, then the controller, then the ride you're in. Almost every report we get comes down to one of these.

 

I can't find the virtual shifting option at all ▶

The Virtual shifting toggle appears on the Smart trainer tile only after a trainer that supports it is connected, and only over Bluetooth or Wi-Fi. Check the connection type first, then look up your model in Supported Trainers and read its firmware note.

I turned on virtual shifting, but I don't see the plus and minus buttons ▶

The on-screen buttons are off by default. Select CUSTOMIZE on the Smart trainer tile and switch on On-screen virtual shifting. The same toggle brings the gear controls to the Companion App.

My controller won't connect ▶

Confirm it's charged, in range, and not still paired to another app or device.

On Zwift Click V2 and Zwift Ride, make sure both halves are blinking blue before you connect. On Zwift Play, the controller needs firmware version 2.0.1 or later, which you can update through the Zwift Companion App.

On Apple TV, check that a Bluetooth slot is free at all: see the limitation below.

I can't add my Zwift controller from the remote controllers menu at the top ▶

That menu is for keyboards, gamepads, and other controllers your computer or device connects on its own. Zwift Click, Zwift Ride, Zwift Play, and CYCPLUS BC2 connect inside ROUVY: select + on the Cycling remote control tile instead. Don't pair them in your device's Bluetooth settings, or ROUVY won't be able to connect them.

The controller is connected, but pressing the buttons does nothing ▶

Check that the Virtual shifting toggle is on, on the Smart trainer tile. If you shift with a keyboard or gamepad, also check that a key or button is still assigned to Gear Up / Target Power + and Gear Down / Target Power - in Remote controllers and control mapping. An unassigned action does nothing until you set it again.

Shifting style is greyed out ▶

That's expected until a Zwift Click V2, Zwift Ride, or Zwift Play is connected. Without one, shifting is always Sequential, but you can still choose a gear range.

The Shimano styles don't work with my Zwift Click or Zwift Play ▶

That's expected. Shimano-Style A and B need two shift buttons on each side, which Zwift Click and Zwift Play don't have. With these controllers, use Sequential or SRAM-Style.

My keyboard ignores the shifting style I picked ▶

That's expected. Keyboards, gamepads, Zwift Click V1, CYCPLUS BC2, and other generic controllers always shift sequentially, one gear at a time through your gear range.

The gear number changes, but the resistance doesn't ▶

If you're in a workout, check ERG mode first: in an ERG interval the trainer holds your target power and gears have no effect, so switch ERG off or ride a route instead.

On a route, and especially if the low gears feel like nothing on the flat, the usual cause is the wheel circumference stored on the trainer itself.

Open the manufacturer's app, find your trainer's device settings, and set the wheel circumference to the correct value, around 2,100 mm for a road bike.
If the value already looks right, change it to something else and change it back, which is what forces the trainer to reapply it. Then force close the manufacturer's app, reconnect in ROUVY, and try again.

I switched my Zwift Hub to a Zwift Cog and the resistance feels wrong ▶

After you swap a cassette for a Zwift Cog, the Hub needs to recalibrate. Until it does, ERG may not hold your target, and power can jump or drop to 0 W.

The Hub recalibrates on its own while you ride, but not in ERG mode. To help it along:

  • ride a route, not a workout;
  • pedal for at least one minute and get above 15 km/h;
  • stop pedaling and coast for at least 5 seconds;
  • repeat this a few times, at different speeds and in different virtual gears.

Keep the Hub firmware up to date through the Zwift Companion App. If the resistance still feels off after a few rides, contact us and include your trainer firmware version and the date of the ride.

Virtual shifting switched itself off ▶

That happens when your shifting controller disconnects: virtual shifting turns on when a shifting controller connects and off again when it disconnects. Reconnect the controller, or switch the Virtual shifting toggle back on, on the Smart trainer tile, to keep shifting from the screen, the Companion App, or the keyboard. You can also switch it back on during the ride, from the ride screen or the Companion App.

Everything worked yesterday and doesn't work today ▶

Check whether your trainer or controller installed a firmware update, and whether another app grabbed the Bluetooth connection first. Closing the other app and reconnecting in ROUVY usually settles it.

 

Limitations

Bluetooth slots on Apple TV

Apple TV offers only two Bluetooth connections. If your trainer and your heart rate monitor take both of them, there's no slot left and your shifting controller can't connect.

ROUVY tells you twice. A message says the device can't be connected as a remote control, and the controller stays on Connecting until you select Cancel, because the attempt never times out on its own. Both mean the same thing: there's no free Bluetooth slot, not that anything is wrong with the controller.

The way around it is to move the trainer off Bluetooth: if your trainer supports Wi-Fi, connect it that way and both Bluetooth slots stay free for your controller and your heart rate monitor.

The message saying the device can't be connected as a remote control, with the controller still connecting.

 

ANT+

Virtual shifting needs Bluetooth or Wi-Fi. ANT+ doesn't carry the commands ROUVY sends to the trainer, so a trainer on ANT+ can't shift, even if the same model shifts perfectly over Bluetooth.

 

BKOOL Smart Bikes

ROUVY's virtual shifting no longer supports the BKOOL Smart Bike V1. The bike still works with ROUVY as a smart bike, so your rides, workouts, and events are unaffected, and you shift with the gears on the bike.

The BKOOL Smart Bike V2 has virtual shifting built into the bike itself, so it should work with ROUVY as it is.

 

Supported shifting controllers

Any of these can shift your virtual gears once your trainer supports virtual shifting. Open the one you own to see how it connects.

Update Zwift hardware before you pair it

Update Zwift hardware through the Zwift Companion App before you pair it in ROUVY. It brings the controller to the newest firmware, which is what most pairing problems turn out to be.

Zwift hardware and your Zwift account are two separate things: the controllers work with ROUVY whether or not you connect the accounts. Connecting the accounts only shares your Experience Points (XP), and that's covered in the ROUVY and Zwift article.

 

Zwift Click V1 ▶

How to connect: hold the button on the unit until the LED blinks blue, then select + on the Cycling remote control tile and pick it from the list.

Click V1 is a single unit with two buttons, plus and minus, and nothing else. It shifts, and that's all it does. It always shifts sequentially, whatever style you pick.

Zwift Click V2 ▶

How to connect: wake both halves so that both LEDs blink blue, then select + on the Cycling remote control tile and add the controller. Both LEDs turn solid blue once the pairing succeeds. If you connect with only one side awake, ROUVY pairs half the controller.

Click V2 adds a D-pad and action buttons on top of the shift buttons, so it can also move through menus, send kudos, and take screenshots. The shift buttons follow your shifting style, and the default layout of the other buttons is in the button mapping table below.

Zwift Ride ▶

How to connect: the same as Click V2. Both levers pair at the same time, both LEDs blink blue, and they turn solid blue when the controller is connected.

Zwift Ride supports all four shifting styles, including Shimano-Style A and B, because it has two shift buttons on each lever. In Sequential style, the left lever shifts to easier gears and the right lever to harder ones. The analog paddles and the orange button on each lever aren't used by ROUVY.

Zwift Play ▶

How to connect: update the controller to firmware version 2.0.1 or later in the Zwift Companion App first, since ROUVY doesn't recognize older firmware, then add it on the Cycling remote control tile.

The plus and minus buttons handle shifting and follow your shifting style. The analog paddles aren't used by ROUVY.

CYCPLUS BC2 ▶

How to connect: switch the BC2 on and add it on the Cycling remote control tile.

The BC2 is a compact handlebar-mounted controller with two buttons, increase and decrease, and it always shifts sequentially. Take a look at the product page.

Keyboard, on desktop ▶

Nothing to connect. On desktop the keyboard is set up as a controller automatically and works right away.

The period key shifts up and the comma key shifts down. The plus and minus keys shift as well. In the controls settings these actions are called Gear Up / Target Power + and Gear Down / Target Power -, because the same key shifts gears on a route and changes your target power in a workout. A keyboard always shifts sequentially.

 

Gamepads and other game controllers can shift too, and on a keyboard or gamepad you can reassign any action. On Zwift controllers you can reassign the action buttons, but not the shift buttons. All of this is covered in Remote controllers and control mapping.

 

Smart bikes shift on their own

A smart bike connects to ROUVY the same way a trainer does, and its shifters aren't separate controllers.

Virtual shifting is handled inside the bike. ROUVY sends the gradient of the route, and the bike works out the resistance for the gear you're in.

That's why you won't find the bike's shifters in the list of controllers, and why the Cycling remote control tile can stay empty.

 

Shifting during a ride

Your current gear is shown on the bottom left of the riding screen, so you can see every shift land. You can hide that panel by customizing your riding screen.

The gear indicator on the bottom left of the riding screen.

To shift through several gears at once on a Zwift controller, hold a shift button down: the gears keep changing until you let go or reach the end of the range. Keyboards and other controllers shift one gear per press.

 

In a workout, the shift buttons do something slightly different. On a route and in slope or free-ride intervals they shift your virtual gears. In an ERG-mode interval there are no gears to change, so any button that would shift harder raises your target power and any button that would shift easier lowers it, by 2% per press, for the current interval and the ones that follow. Chainring shifts do nothing in ERG. FTP and ramp-test segments are protected, so their targets never move.

 

Default button mapping

This is the layout a controller with action buttons arrives with, such as Zwift Click V2 or Zwift Ride. Click V1 has shift buttons only, so the rest of the table doesn't apply to it.

+ and - Shift virtual gears according to your shifting style on a route, or increase and decrease your target power in a workout.
Z Take a screenshot.
Y Send a kudos.
B Acts as Escape, where supported.
A Acts as Enter, where supported.

The shift buttons on Zwift controllers follow your shifting style and can't be reassigned. The action buttons can: change them in Remote controllers and control mapping.

 

Which trainers support virtual shifting

Every device we've tested is listed in Supported Trainers, and each card shows whether it supports virtual shifting.

Open Supported Trainers, find your trainer or smart bike, and look at the badges on its card. A lit Virtual Shifting badge means ROUVY can shift gears on that device, and the card also carries connection types, firmware notes, and any known limitations.

Manufacturers add virtual shifting in firmware updates, so a device that couldn't shift last season may shift now. Update the firmware in the manufacturer's app, then connect the trainer and look for the Virtual shifting toggle: if it appears, your trainer can shift.

 

If virtual shifting still doesn't behave the way this article describes, let us know and tell us your trainer model, your controller, your shifting style and gear range, and your platform. It helps us test the right setup.

Was this article helpful?

445 out of 652 found this helpful

Have more questions? Submit a request