ZCamera: Liven up the long miles with automatic camera control (for Windows)

I’m making another personal project of mine available, as a beta, to find out how well it works for you.

…wish you didn’t have to press keys or fiddle with your phone to change views on the big screen?
…wish you could enjoy the view from the drone while riding?
…have you ever forgotten to take photos of your epic ride to upload to your Strava friends and family?

ZCamera is a set-it-and-forget-it, automatic view changer and photo-taker for Zwift which mixes up the perspectives for you.

Here’s what it does:

If you want to test it out, here’s what to expect:

  • Zwift needs to be the active window while you ride (not in the background, with e.g. Discord being active)

  • You should be comfortable with downloading, configuring and running AutoHotKey scripts.
    Why? ZDot uses AHK, the same as several of the tools over at ZwiftHacks, and I’m not going to ask you to download and run an EXE just on trust.

  • Press C to stop and start the automatic changing of views any time you want to have complete control

  • Auto-Pause mode detects the presence of chat, route choices and game menus to avoid interfering

  • Adjust other preferences in the MyOptions.txt file


  • Would be nice if we didn’t have to have the “Run as Administrator” prompt to reliably send keystrokes to Zwift
  • The method used for detecting when to Auto-Pause can still be improved, to be faster and more accurate at all screen sizes
  • The small status message may not appear in a useful place on multi-monitor systems. This is where it should be:

ZCamera will move the mouse cursor off the Zwift screen after a few minutes of inactivity, since changing views makes Zwift display the cursor again. (It’s annoying to get on the bike only to notice I left the cursor in the middle of the view!)

The script files are here:

About the (cool, but) experimental Drone View:

  • When in Drone view, ZCamera will fly the camera around.
  • Press the D key to start the Drone view manually for 60 seconds (try it out a few times)
  • Like anything governed by random numbers, sometimes the drone autopilot is awesome, other times stupid.
  • By default, this view is off and is not included in the view rotation

ZCamera works hard to avoid pressing keys when any Zwift menus and controls are active.
But, since the game’s drone-flying keystrokes are also used for U-Turns and route changes at intersections, Drone view is not recommended for use during important rides (too much at stake!)

Also note that Zwift’s Drone feature in the game isn’t perfect – the game allows the camera view to
pass through scenery, under roads, and even inside other player’s bodies. Some will find that distracting.

Set the Odds value for the Drone view to off in MyOptions.txt to disable the drone view

Looks perfect for a Ven-top ride

Cool stuff. :+1:

From another thread a few months ago, comes an idea for an additional feature: Take an F10 screen shot whenever you get an unlock or FTP increase.

To make that work, I’ll need screenshots someone already has of these events. If you have one, please attach it here.

1 Like

Is this what you need.

Unfortunately, no. At least not in that form… let me try something.


Yeah, that one came through ok, so the forum is probably not changing the files. What happens is that a JPG image and some PNGs are compressed resultinging in loss of image quality, and then when you open them, you don’t get back exactly what you started with.

It needs to be a JPG created by the Zwift game itself, or a screen capture saved initially as a PNG or BMP. Those will likely work.

If the first one was a game F10 image, you can try emailing them both to me at quietjedi@gmail.com and we’ll see.

Thank you very much for the help!

1 Like

Let me get some for you.

I have 5 years worth of pictures :thinking:

If you’re wearing a kit with a lot of white in it on a sunny day, the camera may mistake you for a menu and go into auto-pause mode until you ride into the shade or change the view manually.
I noticed this while testing with the Gear Patrol jersey, which is almost all white.