Updating Moonshine¶
Moonshine can install its own updates, and it does that in two places. The two behave differently on purpose: the app on your own computer is yours to interrupt, and the show machine is not.
| The Windows app | The show machine | |
|---|---|---|
| Looks for new versions | Every time you start it | Shortly after it starts, then every six hours |
| Downloads them | By itself, in the background | By itself, in the background |
| Installs them | After asking you | Only when someone presses Update |
| What installing costs you | The app closes and reopens | TouchDesigner quits — every output goes black until the machine is back |
Downloading is the only part that happens without a person.
The Windows app updates itself¶
The Windows app checks once each time it starts, just after it has connected to the show machine, and fetches anything newer in the background. Nothing interrupts you while it does.
When the download is finished, a dialog appears over the app window:
Moonshine update
Moonshine 0.3.0 is ready to install.
The viewer will close and reopen. Your show machine is not affected.
| Button | What happens |
|---|---|
| Restart now | The app closes, installs, and reopens |
| Later | Nothing now. It installs the next time you close the app |
If the check fails — no internet in the venue, or Wi-Fi that is throttled to nothing — the app says nothing at all. That is deliberate: a viewer that popped an error dialog on every launch at a venue with bad Wi-Fi would be switched off by the second show.
A new app does not bring new features
The interface you are looking at is served by the show machine, not built into the app. The app is a window onto it — that is why the dialog says your show machine is not affected, and why the app and the show machine do not have to be on the same version to work together. New features arrive when the show machine is updated.
An older portable copy never updates itself
Builds before 0.3.5 were a single portable .exe, and one of those cannot update in place — replacing a running executable needs something to hand the new bytes to, and a loose file has nothing. Such a copy keeps working; it just stays on the version you downloaded. Install the current app from download.moonshine.software and it will update itself from then on.
Browsers need nothing at all. A browser loads the current interface from the show machine every time it connects.
The show machine waits for you¶
The show machine checks for updates and downloads them, and then it stops.
The reason is blunt. Installing means quitting TouchDesigner: a running TouchDesigner cannot replace the file it is running, so an update is an installer plus a restart, and everything that machine is projecting goes black in between. That decision belongs to whoever is standing in the room, not to a timer.
The banner¶
When there is something to say, a strip appears under the tabs — in every signed-in browser and app at once — with the version this machine is running beside the message:
Moonshine 0.3.0 is ready to install · running 0.2.0 Release notes [ Update ] ✕
✕ hides what the banner currently says. It comes back when the situation changes — dismissing is available does not hide is ready to install a minute later — and a percentage ticking upward is not a change, so a dismissed download stays dismissed. Reloading the page brings it back.
What it checks, and when¶
The show machine asks Moonshine's public releases page for the newest version over HTTPS, shortly after it starts and then every six hours. After a failed check it tries again in fifteen minutes rather than waiting six hours, because a venue's internet coming back should not cost you half a day.
It downloads nothing until it has read the release's index and found the new version listed there with a size and a fingerprint. What arrives has to match both, or it is thrown away. The fingerprint is checked a second time in the moment before the installer runs.
There is no "check for updates" command anywhere in Moonshine, and no setting that turns checking off. A show machine with no route to the internet simply fails the check, quietly, and shows you nothing.
What the banner can say¶
| The banner says | What is happening | What to do |
|---|---|---|
| Moonshine 0.3.0 is available | A newer version exists and this machine is entitled to it. The download has already started | Nothing. Wait |
| …is downloading — 42% | Fetching the installer, around 90 MB | Nothing. The show is not affected |
| …is ready to install | Downloaded and verified. The only state with an Update button | Install it when you are not in a show |
| …is out, but this license's updates ran to 2026-06-01 | The build was released after your license's update window closed | See below |
| …is out, but that release has to be installed by hand | That release does not carry an installer this machine can run for you | Use the Downloads link and install it at the machine |
| …needs a newer TouchDesigner on the show machine | The release is built for a newer engine than this machine has | See below |
| …could not be installed: reason | Something real was found and then failed | Press Check again |
The first three carry a Release notes link. The last four are amber, and none of them offers an Update button: Moonshine does not draw a button it already knows the machine would refuse.
A failed check never draws a banner
A background check that could not reach the internet goes to the log and nowhere else. On a closed show LAN that check fails every fifteen minutes for the life of the session, and a permanent warning about it would put noise in front of an operator who cannot act on it. Only a failure that names a version — a download that broke, an install that was refused — puts a banner up.
Downloading twice costs nothing
The installer is kept in the show machine's data folder, which survives the very update it is waiting for. If the machine restarts, or you leave it until tomorrow, the file already on disk is re-verified and reused instead of pulled down again. A download that stalls is abandoned after fifteen minutes and retried.
Pressing Update¶
Update appears in one state only: ready to install. Pressing it asks first.
Install this update?
The show machine will install Moonshine 0.3.0 and restart. Outputs go dark until it comes back, and every connected browser will reconnect on its own.
[ Not now ] [ Install and restart ]
Confirm, and this happens:
- The show machine re-checks the installer's fingerprint. If anything on that machine has altered the file since it was downloaded, it is deleted and the update refuses rather than running it.
- The installer starts, silently and in the background.
- About a second later TouchDesigner quits. Every output goes black, and every browser and app loses its connection.
- The installer replaces Moonshine. Your
datafolder is not touched. - Something has to start Moonshine again — see the warning below.
- Moonshine reopens the project it had open when it quit. Browsers and apps rejoin on their own, retrying at least every 30 seconds until the machine answers.
Never press Update during a show
From the moment TouchDesigner quits until it has restarted and reloaded your project, that machine projects nothing. Once the installer has started there is nothing to cancel and nothing to roll back. Update at load-in or in the morning — not between cues, and not with an audience in the room.
Anyone signed in can press it
Update is not restricted to Admin accounts. Anybody signed in to this show machine, on any device, sees the same banner and the same button. If that matters on your job, say so before doors.
Know how your machine comes back
Moonshine does not restart itself. What brings it back is whichever autostart was chosen when it was installed:
- Owlette — a separate product the installer offers when it finds it — runs Moonshine as a managed process and starts it again whenever it stops. This is the only setup that survives an update with nobody at the machine.
- Start Moonshine when someone signs in to this machine — the fallback offered when Owlette is absent — starts Moonshine at sign-in and at no other time. After an update it will not come back by itself. Somebody has to launch Moonshine from the Start Menu, or sign the machine out and back in.
Find out which one your show machine has before you rely on that button in a venue you would have to drive back to.
What an update keeps¶
Everything you made. Projects, media, masks, warps, user accounts, the license and the machine's certificate live in the show machine's data folder, and the installer leaves that folder alone — that is also true of an uninstall. You do not re-enter a license key, and the machine comes back on the project it was running.
When your license blocks a build¶
A Moonshine license covers new builds released up to a date: its update window. That date is on Settings → License, and a build released after it is not one this license can install.
When that is the situation, the banner reads:
Moonshine 0.4.0 is out, but this license's updates ran to 2026-06-01 Downloads ✕
There is no Update button, and nothing is wrong. Three ways forward:
- Carry on. Builds you already run keep working forever. The update window decides which new builds your license covers, not how long Moonshine runs.
- Take the newest build inside your window. The Downloads link goes to the downloads page, where it is waiting.
- Renew your updates with Tridant if you want the newer one.
The release's date is what counts, not today's
Moonshine compares the date a build was released against your window, never the date you happen to be installing it. A build released inside your window stays yours whether you install it that week or a year later.
After renewing, restart Moonshine
The show machine re-reads its license from Tridant once a day, so a renewal clears that banner within a day on its own — and a blocked banner carries no Check again button to hurry it along. Restarting Moonshine on the show machine re-reads the license and looks for the release immediately.
Do not install a build past your window by hand
Downloading a newer build and installing it at the machine gets around the banner, not the license. Moonshine refuses to run it, on a screen reading This Moonshine build is no longer supported with no key field — no key can fix it, because nothing is wrong with the key. See When the build itself is out of date.
When a release needs a newer TouchDesigner¶
Moonshine runs on Derivative's engine, and every release is built against a specific engine build — see What you need. When a release needs a newer one than the show machine has, the banner says so and offers nothing to press.
Moonshine settles this before it downloads anything, deliberately: an older engine opening a file a newer engine has written fails silently. It produces nothing rather than an error, which is the worst possible thing to find out during a show.
The fix is the full installer from download.moonshine.software, run at the machine. It detects which engine build is present and offers to fetch the right one from Derivative (about 2.9 GB) before installing Moonshine. That is the part a silent self-update cannot do for you.
The line on the show machine's own screen¶
The show machine's own display carries a status panel, and the updater takes one line on it when it has news:
Update: v0.3.0 available
Update: v0.3.0 downloading 42%
Update: v0.3.0 blocked - updates ran to 2026-06-01
Update: v0.3.0 needs a newer TouchDesigner
Update: v0.3.0 failed - the download timed out
There is no line when everything is current. That panel is read at a glance from across a room and every row on it is spoken for, so a permanent up to date would cost a projector its row. The Update button itself lives in the browser, not on that screen.
When an update fails¶
| The banner says | What it means | What to do |
|---|---|---|
| the download could not reach the server | The machine lost its route out partway through | Check the machine's internet. It retries in fifteen minutes |
| the download timed out | The transfer ran past its fifteen-minute budget | Usually a slow venue connection. It retries by itself |
| the download did not match the release manifest | What arrived is not what the release describes. It was discarded | Press Check again. If it repeats, something on that network is rewriting downloads — take it to the venue's IT |
| the download could not be written to disk | The drive is full, or read-only | Free space on the drive Moonshine is installed on |
| The downloaded installer is gone. Run a check again. | Something removed the file between the download and the button | Press Check again |
| The downloaded installer no longer matches the release manifest and has been deleted. | The file changed after it was verified, so Moonshine refused to run it and removed it | Press Check again to fetch a clean copy |
| The installer would not start | Windows refused to launch it. Antivirus is the usual reason | Install by hand from the downloads page |
Check again asks the show machine to look now. It allows three presses, then one a minute — pressing it more often is not an error, it just shows you the status it already has.
Where to go next¶
- The Windows app — installing the app, and what it does differently
- Install and activate — licenses, keys, and where to read your update window
- What you need — the engine build a release is pinned to
- Troubleshooting — everything that is not an update