Skip to content
v2.8.1

Ghost Replay, and a keyboard setup for sixty-one games in one click

Ghost Replay records everything your controller does across a whole session and plays it back into the game. It is built for long takes rather than combos: a lap, a raid pull, a full match, up to thirty minutes, started with one button on any recording in your Library. An audit run before release found three defects that together meant it had never actually worked, and all of them are fixed here. Alongside it, Remote Play presets for sixty-one games now apply onto your bindings in one click, there is a yearly plan at $59.99 beside the monthly one, creators earn 15 percent of every payment for as long as their customer keeps paying, and the devices that had quietly become impossible to delete can now be cleared from your own dashboard.

Highlights

  • Ghost Replay records everything your controller does across a whole session and plays it back into the game. Up to thirty minutes, against the hundred seconds the old recorder could hold.
  • Start Ghost is the primary button on every recording in your Library. Pressing it puts the progress bar and the cancel hint in front of you before the pad starts moving.
  • It records whatever is driving the pad, whether that is a real controller, keyboard and mouse, or a controller you have hidden under emulation. Each source is greyed out when it is not actually running.
  • Hold L3 + R3 for three seconds to cancel a running ghost. Driving with keyboard and mouse, the app names your own keys instead, and says plainly when you have not bound any. The ghost also draws on the in-game overlay while it plays.
  • 65 PS5 Remote Play presets covering 61 games, applied onto your bindings in one click from Drive a Controller. One row per game with variant pills, store cover art for 99 of the 117 games in the picker, and three new presets for Grand Theft Auto V, Grand Theft Auto VI and Cyberpunk 2077.
  • Game dead zone and Game response curve moved out of Advanced onto the main card. They describe the game rather than your taste, and a wrong response curve used to be completely invisible.
  • Any key can be a hotkey. The picker used to refuse a bare letter and tell you to hold Ctrl, Alt or Shift as well; it now says beside the binding that a global hotkey swallows its key everywhere in Windows, and lets you decide. Two things stay refused: a key the app cannot register with Windows at all, and F8, which the calibration wizards read directly.
  • The mouse wheel can be bound like any other input, and a shared pack can carry a game response curve with it. Black Ops 1 and 2 ship with weapon switch on both scroll directions, the scoreboard on the touchpad and a 1.75 curve.
  • A controls guide for the overlay, showing which key drives each pad button. It is the one overlay element that shows at rest, because not knowing what to press is exactly what being stuck looks like. Off by default, under Overlay Studio.
  • An annual plan at $59.99 alongside the monthly one. A failed payment on it carries 14 days of grace against monthly's 3.
  • Creator referrals: 15 percent of every payment, for as long as that customer keeps paying. A referral link is now any code rather than the creator's username, and the creator portal shows earnings and clicks per code.
  • The Game Packs screen now opens with Import, which is what most people actually arrive holding. The catalog moved to the bottom, collapses, and carries its game count in the header.

Fixes

  • A ghost pressed different buttons from the ones you recorded. A recorded A came back as D-pad Up, Share came back as Guide and opened the Xbox overlay in the middle of the game, and two more bits landed on the trigger slots and pinned both triggers to fully pulled.
  • Recording stopped the moment you alt-tabbed into the game, so a take recorded during real play held the moments around the alt-tab and nothing in between. It saved anyway, with a full length and no warning.
  • Every recording was rejected on save because of the fractional timestamps it carried. The symptom was a Recording not saved banner and an empty folder, with nothing pointing at the cause. Recordings carried over from the old store are repaired by the same fix.
  • The recorder looked like it had stopped working while emulating with your real controller hidden. It was capturing nothing, the 3D preview held its last pose so it kept looking alive, and Stop did nothing at all and explained nothing.
  • Starting a ghost with no controller connected drove nothing while the progress bar ran to the end and the overlay animated convincingly.
  • The recorder could capture a different controller from the one shown on screen, and a recording in progress died if you switched tabs inside the Recorder, with no save and no message.
  • The cancel hint told a keyboard and mouse player to hold L3 + R3, which they do not have, and Turn Emulation on was still being offered to people whose output sends no pad report at all.
  • Turning Drive a Controller off reset the Emulation input back to Auto-detect. It should stop driving and change nothing else. This one reverses part of 2.8.0, so it is worth reading below.
  • Six preset defects found by a coverage audit: SHIFT sat on a button TAB already held in all three of the new presets, which left Cross unbound on both Grand Theft Auto presets and L3 unbound on Cyberpunk; Square was unbound in both Dead by Daylight presets; and UFC 5 and NHL 26 drove the right stick with the mouse in games where that stick is strikes and the skill stick rather than a camera.
  • Every Remote Play variant counted as its own game on the website's pack index, so 27 games appeared as two or three separate cards. 223 cards become 190.
  • Every device that had ever started the engine refused to be deleted, and the dashboard reported it as Something went wrong. Please try again. 132 of 249 devices across 108 accounts were affected. There is now a Remove all devices button on your dashboard once you have more than one. See below.
  • The sidebar said Licensed for every paid account, so someone who took the one-time Founders offer read the same word as a monthly subscriber. It now says Founders Lifetime.
  • The database your account and sign-in run on was being driven to its daily limit by an operator console left open in another window, rather than by customer traffic. It now costs about 95 percent less to run.

Record the whole session, then hand it back to the game

A macro is short and shaped like a combo. Ghost Replay is the other end of that. It records everything your controller does for as long as you keep recording, and plays the whole thing back into the game. A lap. A raid pull. A full match.

Storage moved off the browser store and onto disk to make that possible. The old cap was six thousand frames, about a hundred seconds at sixty samples a second, which is the right size for a clip and the wrong size for a lap. It is thirty minutes now. Recording details and the frames themselves are kept apart, so opening your Library does not read every frame of everything you own, and anything already recorded is carried across once, automatically.

It records whatever is driving the pad. That is the part that makes it work in every setup rather than one, whether that is a real controller, keyboard and mouse, or a controller you have hidden while emulating. Until now nothing streamed what the virtual pad actually sends, so somebody emulating from a hidden controller could not record their own output at all. The Record tab has a source picker, each source is greyed out when it is not really running, and the picker locks during a take so two different pads cannot be spliced into one file. Controller stays the default, because it is what your hands did before any mapping, and it is the only source that carries gyro and accelerometer.

Start Ghost sits on every row in your Library, rather than behind a selection on another tab under the name Play to your controller. Pressing it moves you to Replay first, so the progress bar and the cancel hint are already on screen while your pad is being driven.

Hold L3 + R3 for three seconds to cancel. That hold is read from your real controller inside the engine and never from the output, because a ghost's own buttons are placed on the output, so a recording that happens to contain an L3 + R3 press would otherwise cancel itself. If you are driving with keyboard and mouse the app resolves your actual binds and names the keys that do it, and says so plainly when you have not bound any.

The ghost draws on the in-game overlay while it runs. That is display only. It never reaches the app's own reading of your input, so a replay can never be mistaken for something you did. Sticks, triggers and buttons replay. Gyro, accelerometer and touch are recorded but have nowhere to go in the output, and the app says so up front rather than letting you find out halfway through a session.

An audit run before release found that Ghost had never actually worked. Three defects, each of which survived an attempt to argue it away. The first: the ghost pressed different buttons from the ones you recorded. A recording stores buttons in the app's own order, the channel it plays through wants them in the controller's own order, and nobody had converted between the two. So a recorded A came back as D-pad Up, Share came back as Guide and opened the Xbox overlay mid-game, and two more bits landed on the trigger slots and pinned both triggers to fully pulled. The overlay showed the recording correctly throughout, because the overlay reads a different copy, which is exactly why nothing looked wrong.

The second: recording stopped the moment you alt-tabbed into the game. Capture ran on a stream that stands down when the app's window is not in front, which is the default performance behaviour and is normally the right thing to do. A take recorded during actual play therefore held the moments around the alt-tab and nothing in between, and still saved, with a full length and no warning, because the clock runs on its own timer. A finished take now reports the length its last frame really carries, so an interrupted capture can no longer claim a duration it does not hold. The third: the recorder could capture a different controller from the one on screen, because it took the first pad in the frame that was not ours rather than the pad the rest of the app had already settled on.

Six more came out of the same audit. A recording in progress died if you switched tabs inside the Recorder, with no save and no message. Starting a ghost with no controller connected drove nothing at all while the progress bar ran to the end and the overlay animated convincingly. A running ghost shared one slot with the macro player and, writing a whole button state every two milliseconds, wiped a held macro's buttons about five hundred times a second and cleared them outright on exit. The DS4 touchpad click travels beside the controller report rather than inside it, so it was being dropped from a take recorded off the emulated pad. The cancel hint told a keyboard and mouse player to hold L3 + R3. And Turn Emulation on was still being offered to somebody whose output sends no pad report at all.

Two more sat underneath all of that. Every frame timestamp is fractional and the save refused any fraction, rejecting the whole thing: a Recording not saved banner, an empty folder, and no clue that one field was the cause. Rounding now happens on the reading side, which repairs every recording carried over from the old store as well. And the case reported as the recorder no longer working while emulating with the physical controller hidden was a take that captured nothing and never said so. The 3D preview deliberately holds its last pose and so kept looking alive, Start stayed available, and Stop silently did nothing. It now tells you the take was empty, and why the preview is not evidence that input is arriving.

The game you are playing, in one click

65 PS5 Remote Play presets, covering 61 games, now apply straight onto your bindings from Drive a Controller in one click, rather than arriving as a whole profile. They are grouped one row per game with variant pills, so a game with three layouts is one row rather than three, and 99 of the 117 games in the picker carry their store cover art, with a colour tile standing in for the rest. Three of them are new: Grand Theft Auto V, Grand Theft Auto VI and Cyberpunk 2077. Importing a preset can also set the emulated pad the pack was built for, so a PS5 layout's touchpad binds land on a pad that has a touchpad rather than quietly doing nothing on an Xbox output.

A coverage audit of that set found six defects before you did. All three of the new presets put SHIFT on a button TAB already held, which spent a button for nothing and left another one unbound: Cross on both Grand Theft Auto presets, L3 on Cyberpunk. Square was unbound in both Dead by Daylight presets. And UFC 5 and NHL 26 drove the right stick with the mouse, in games where the right stick is strikes and the skill stick rather than a camera, which is why every other preset in those categories ships with mouse look off.

Game dead zone and Game response curve have come out of Advanced. They sit on the main card now, because they are not a matter of taste. They describe the game you are playing, they are the two settings that have to be right for aim to feel correct, and a wrong response curve was completely invisible: nothing on screen looked wrong, it simply felt wrong. The diagram explaining the curve stays in Advanced, where an explanation belongs. The preset picker is also gone from the Emulation page, whose question is which input and which output, and stays on the page where binding is the actual task.

The mouse wheel can be bound like any other input. The encoder that turns a setup into a shareable pack had no way to express a wheel detent, so no pack could ship one even though the app has always understood them. The same change lets a pack carry a game response curve, which is a fact about the game and worth sharing, while your own sensitivity stays personal and is deliberately never shipped. Black Ops 1 and 2 now come with weapon switch on both scroll directions, the scoreboard on the touchpad, and a 1.75 curve. Two smaller pack fixes ride along: the catalog used to stop silently at 500 entries and drop the oldest ones, so packs existed that could not be found by browsing, and a screenshot on a pack description can no longer be saved with empty alt text, which left a screen reader with nothing where the steps were.

Turning Drive a Controller off now changes nothing else. Reported on hardware: switching Drive off reset the Emulation input back to Auto-detect. There were two defects, and the second is why the attempt at this in 2.8.0 could never have helped. The first only ever ran for someone who had explicitly pinned a controller before enabling Drive, so a keyboard-first player was never covered by it at all. Underneath that, "the keyboard is my input" and "the translator is running" were the same single flag, so turning Drive off could not leave your input on the keyboard by construction. There is now a state that means "keyboard is my input, it is just not driving right now", and pinning a controller on the Controllers page clears it properly rather than leaving Emulation still claiming your keyboard. This reverses part of 2.8.0 on purpose: if you pinned a controller, drove with the keyboard, and then stopped, the app used to hand that controller back to you. It now leaves you on the keyboard, which is the answer you actually gave it.

The devices that would not clear

Customers were seeing "3 of 3 slots used" with three rows for one PC, pressing Remove, and getting "Something went wrong. Please try again."

The rows were real. The identifier Windows gives a machine changes on a reset, a reinstall or a spoofer, so one PC comes back as a new device each time. The failure was not real in the way it looked. A sign-in record points at the device it started on, and revoking a sign-in only marks it revoked rather than removing the row, so the database refused to delete any device that had ever started the engine, which is every device anybody had actually used. A device that had never run it deleted perfectly, which is exactly why this looked intermittent and went unexplained across two earlier attempts. 132 of 249 devices across 108 accounts could not be deleted.

The worse half was ours. A newly added remove-everything path caught that failure and reported success, so the dashboard told somebody staring at three devices that there were none left to remove and all their slots were free, while the app carried on refusing to start. Reporting success for work that did not happen is worse than any error message, because it sends the person away.

Every delete path now unlinks before deleting, so the sign-in record survives as the audit trail it is meant to be, and a wipe counts the devices before and after rather than trusting what it was told. There is a Remove all devices button on your dashboard once you have more than one, removing a device that is already gone counts as success rather than an error, and an account with no devices counts as a successful wipe of zero. This is the escape hatch for people who are already stuck, so it must not have failure modes of its own.

A yearly plan, and a cut for the creators who send people here

Pro has been a monthly subscription or a one-time purchase. There is now an annual plan at $59.99 alongside the monthly one. Both rent Pro through exactly the same machinery and differ only in cadence, price, and how long a paid-through date is worth: a failed payment on the annual plan carries 14 days of grace against monthly's 3, because a card retry on a yearly invoice runs well past three days and somebody who paid for a year has already paid for it. Nothing moves for anyone already subscribed. Changing plan in the billing portal now bills you, and graces you, as the plan you actually moved to rather than the one you signed up on.

Creators earn 15 percent of every payment, for as long as that customer keeps paying, rather than on the first month alone. A referral link used to be the creator's username. It is now any code, pointed at any account, which fixes three things at once: a username can be renamed and picked up by somebody else, so a link keyed to one could silently start crediting a different person; one creator can now run several codes and see clicks for each, so "which of my links is working" is answerable; and a private profile no longer means the link lands on a 404, because a code goes to the homepage by default rather than to a profile page. The creator portal shows earnings, referrals and clicks per code. Payouts are still made by hand.

Refunds and disputed charges are now handled properly. A charge disputed with the bank revokes the licence and disables the account automatically, rather than leaving a chargeback with the product still running, and a refund can be issued directly for the first time. A ban can also be engine-only, so an account keeps everything except the engine, because until now there was no way to express anything short of losing the account entirely.