Autosave
The Autosave system component automatically saves your TouchDesigner project at a configurable interval using an internal Timer CHOP. It tracks project and backup file sizes, and provides tools for organizing accumulated backup files.
Overview
Section titled “Overview”Autosave runs a repeating timer that triggers a standard TouchDesigner incremental save on each cycle. When any save occurs — whether triggered by the timer or done manually — the countdown resets, so the interval always measures time since the last save. The component also monitors your project file size and the contents of the Backup folder, giving you visibility into how much disk space your project and its backups consume.
How It Works
Section titled “How It Works”When enabled, Autosave starts an internal Timer CHOP that counts down from the configured interval. At the end of each cycle, it calls TouchDesigner’s built-in project.save(), which performs an incremental save into the project’s Backup folder. After any save (automatic or manual), the timer resets and the file size display refreshes.
The component hooks into TouchDesigner’s onProjectPostSave event, so it detects manual saves too. If you save the project yourself, the autosave countdown restarts from zero — you will never get a redundant autosave moments after a manual one.
Basic Setup
Section titled “Basic Setup”- Autosave is enabled by default. The Enabled toggle on the Auto Save page controls whether the timer is running.
- Set the Interval (sec) parameter to your preferred save frequency. The default is 900 seconds (15 minutes). Valid range is 60 to 3600 seconds.
- If your project uses external
.toxfiles that should be saved alongside the main project, enable Save External Toxs.
Checking Status
Section titled “Checking Status”The Auto Save page displays read-only status fields that update automatically:
- Project and Folder show the current project name and location.
- File Size shows the current
.toefile size. - Project Backups and Project Backup Size show how many backup files exist for this specific project and their combined size.
- Total Backups and Total Backup Size cover all
.toefiles in the Backup folder, including backups from other projects if they share the same folder. - Total Size combines the project file and all backup files.
- Last Save and Last Check show timestamps of the most recent save and timer check.
Pulse Refresh Info to manually update all size information.
Forcing a Save
Section titled “Forcing a Save”Pulse Save Now to immediately save the project without waiting for the next timer cycle.
Organizing Backups
Section titled “Organizing Backups”Over time, TouchDesigner’s Backup folder can accumulate many files. The organize feature moves backups for the current project into a tidier location:
- Set Organize Mode to either Project Subfolder (creates a subfolder named after your project inside the Backup folder) or Custom Folder (lets you choose any destination).
- If using Custom Folder, set the Custom Folder path or leave it blank to be prompted with a folder picker.
- Pulse Organize Backups to move matching backup files to the selected destination.
Only .toe files whose names match the current project are moved. Other projects’ backups are left untouched.
Best Practices
Section titled “Best Practices”- A 15-minute interval (the default) is a good balance for most projects. Increase it for very large projects where saves take noticeable time; decrease it if you are making rapid changes and want more frequent snapshots.
- Periodically check the backup size display. If backups grow large, use Organize Backups to move them to a subfolder or external location, then clean up old ones manually.
- The Save External Toxs option adds time to each save. Only enable it if your workflow relies on external
.toxfiles that change frequently.
Changelog
Section titled “Changelog”v1.0.12025-12-05
v1.0.1 - Project save callback integration
New:
- Added onProjectPostSave callback integration via execute DAT
- Timer now resets on ANY save (manual Ctrl+S or auto)
- Onprojectsaved() handles all post-save updates
- Added Resetop function to clear all data from parameters and logs
Fixed:
- Deferred refresh by 1 frame after save to ensure backup file is fully written before counting
v1.0.02025-12-05
Initial release of Autosave utility
Features:
- Automatic project saving at configurable intervals (default 15 min)
- Uses TD's built-in incremental save with Backup folder
- Timer-based with Start/Stop control via Enabled toggle
- Save External Toxs option
Project & Backup Info:
- Project file size tracking (MB and human-readable)
- Project-specific backup count and size
- Total backup folder count and size
- Total combined size (project + backups)
- Last save and last check timestamps
Organize Backups:
- Move project backups to organized subfolder (Backup/{ProjectName}/)
- Or choose custom destination folder via ui.chooseFolder()
Actions:
- Save Now - force immediate save
- Refresh Info - update all size/count info
- Organize Backups - move project backups to destination