Snapshotting your work

Scene Snapshot

This app lets you quickly take a snapshot of the scene that you are working on - essentially a quick, personal backup. You can also browse your history and restore old snapshots.
Latest Version: v0.7.4 (prod)
For our version numbers, we follow the Semantic Versioning standard.
System Name: tk-multi-snapshot

Please Note: This document describes functionality only available if you have taken control over a Toolkit configuration. Please refer to the Shotgun Integrations User Guide for more details.

A Shotgun Snapshot is a quick incremental backup that lets you version and manage increments of your work without sharing it with anyone else. Take a Snapshot, add a description and a thumbnail, and you create a point in time to which you can always go back to at a later point and restore. This is useful if you are making big changes and want to make sure you have a backup of previous versions of your scene.


We're working on the documentation as we speak & it will be coming soon. We'll make sure it's worth the wait!

Related Apps and Documents


The Publish app allows artists to publish their work so that it can be used by artists downstream. It supports traditional publishing workflows within the artist’s content creation software as well as stand-alone publishing of any file on disk. When working in content creation software and using the basic Shotgun integration, the app will automatically discover and display items for the artist to publish. For more sophisticated production needs, studios can write custom publish plugins to drive artist workflows.

Shotgun Workfiles

This application forms the basis for file management in the Shotgun Pipeline Toolkit. It lets you jump around quickly between your various Shotgun entities and gets you started working quickly. No path needs to be specified as the application manages that behind the scenes. The application helps you manage your working files inside a Work Area and makes it easy to share your work with others.

Installation and Updates

Adding this App to the Shotgun Pipeline Toolkit

If you want to add this app to Project XYZ, in an environment named asset, execute the following command:

> tank Project XYZ install_app asset tk-maya tk-multi-snapshot

Updating to the latest version

If you already have this item installed in a project and you want to get the latest version, you can run the update command. You can either navigate to the tank command that comes with that specific project, and run it there:

> cd /my_tank_configs/project_xyz
> ./tank updates

Alternatively, you can run your studio tank command and specify the project name to tell it which project to run the update check for:

> tank Project XYZ updates

Collaboration and Evolution

If you have access to the Shotgun Pipeline Toolkit, you also have access to the source code for all apps, engines and frameworks in Github where we store and manage them. Feel free to evolve these items; use them as a base for further independent development, make changes (and submit pull requests back to us!) or simply tinker with them to see how they have been built and how the toolkit works. You can access this code repository at

Special Requirements

  • You need Shotgun Pipeline Toolkit Core API version v0.14.58 or higher to use this.


Below is a summary of all the configuration settings used. These settings need to be defined in the environment file where you want to enable this App or Engine.


Type: hook

Default Value: thumbnail

Description: Specify a hook to pre-generate a thumbnail for the snapshot.


Type: template

Description: A reference to a template which locates a work file on disk.


Type: template

Description: A reference to a template which defines the location where snapshot backups will be stored on disk.


Type: hook

Default Value: copy_file

Description: Specify a hook that will be used to copy the file 'source_path' to 'target_path'.


Type: hook

Default Value: scene_operation_{engine_name}

Description: All the application specific scene operations (open, save etc) that the app needs to carry out are collected in this hook.

Release Notes

Welcome to the release notes for this App. Below you will find an overview of all the changes we did for each release. We try to be as detailed as possible and include all bugs we have fixed, features we have added and things that may have changed. If you have questions about a particular release, don't hesitate to contact our support team!



Uses better technique for retrieving the active doc and path



Switches to writing jpg for thumbnails instead of png.


This stops further libpng errors mentioned in v0.7.2 release notes from occurring.



Removes problematic profiles from png files used as icons.


This will silence libpng warnings from Qt when the png files are loaded as pixmaps. This is a second attempt as this profile stripping, and uses ImageMagick's "mogrify" command to achieve the desired result, which maintains color consistency.



Adds support for tk-photoshopcc.


Adds context switching for Nuke Studio support.



Now prompts yes,no,cancel asking if a snapshot should be taken prior to restore.


Merges Hiero scene operations into the Nuke hook.


Changes necessary to allow the tk-nuke engine to run within the Hiero mode of Nuke 9.0+.


23021: 3DS Max Engine w/MaxPlus


Added support for Motion Builder


Added support for Motion Builder


Fixed issue with file permissions on the snapshot comments file


Updated to use the new framework versioning syntax


  • This also requires core v0.14.58


Updated to use the new framework versioning syntax


  • Also updated to require core v0.14.58


Manually emit missing kBeforeProjectLoad signal from Hiero before loading project


Fix for Unicode issue


Fix for PyQt compatibility.

Details: Fix for PyQt compatibility.


Fixed Python 2.5 compatibility issues


Updated to use the latest version of the widget framework (v0.1.18)


BrowserWidget is now cleaned up correctly when Snapshot History dialog is closed


Updated to require widget framework v0.1.17


Exposed core functionality as methods on the app class


Fixed issues when snapshotting files with non-ascii characters in the path


Tweaked the display name when name is not specified in the template


The name key is no longer required in templates used by this app


Updated to require widget framework v0.1.16


Improved support for Softimage engine


Added Photoshop Support. Improved Softimage Support.


Added Hiero and Houdini Support.


Updated to use latest version of the widget framework


Updated to use latest version of the tk-multi-workfiles Save-As command


Renames and support for the new name Sgtk.


Renames and support for the new name Sgtk.


Added hooks for Softimage.


Snapshot history now displays snapshots in reverse order if using increment instead of timestamp


Added support for increment when doing snapshots


Minor UI tweaks.


Another fix to make snapshot more robust when template contains the user but the work template does not.


Fixed issue stopping snapshot from working when snapshot template contains the user but the work template doesn't.


Fixed various issues stopping Snapshot app from working with PyQt


Fixed bug stopping snapshot from loading


UI tweaks and addition of snapshot interface to app


Various UI tweaks & fixes. Added 'snapshot' interface to app for use by tk-nuke-quickdailies.


First release to the Tank Store.



  • 0
    Benoit Leveau

    Anyone else thinks that the Restore feature is annoying?

    There's a lot of cases where you don't want to save a snapshot of the current scene before restoring.

    Worst case is if you have, say, 5 snapshots of the current scene, and wants to open them one by one to find something you did in the past, then you'll end up with 10 snapshots because the app won't let you restore a snapshot without creating a new one.

  • 0
    Ryan Mayeda

    Hi Benoit.

    This is a really good point.  What do you think the ideal flow would be?  Off the top of my head, what jumps out as possible ideas are:

    1. We keep this dialog, but it instead it asks you if want to snapshot the current scene, with Yes/No/Cancel as the options.
    2. There's a per-user "sticky" checkbox pref in the Snapshot History UI that lets you specify if the current scene should be snapshot when one is restored, so the user wouldn't get a pop-up dialog each time.
    3. There's a setting in the environment configuration for the app that lets this behavior be set for the environment (i.e. always snapshot, always don't snapshot).

    1 feels the strongest to me, and the pop-up is ok since it doubles as the "Are you sure you want to do this restore?" but it would be great to hear your take on this!


  • 0
    Benoit Leveau

    Hi Ryan,

    I think too that option #1 is best as it keeps the existing behavior.

    I'm curious though how you would implement the per-user sticky behavior of option #2? Is there such mechanism in place in Toolkit?


  • 0
    Ryan Mayeda

    Hi Benoit.

    Some of the apps make use of this "sticky" feature already, like the File Manager/Set Work Area app(s), which will remember if the user has checked the "Show Only My Tasks" box across Maya sessions.  The new Loader will also likely make use of this for remembering certain filters, and in general, we feel like this can be a nice usability improvement when it makes sense.

    Do you want more details on this?  If so, I can have one of the engineers weigh in...


  • 0
    Oliver Hilbert

    Mmm stumbled on this page to see if I could find exactly how I could disable this behavior for now - till something like option 1 is implemented. Could I just comment out something somewhere to disable that portion of the restore action?

  • 0
    Manne Öhrström

    Hey there oliver! To disable the app you need to go into your configuration, find the env folder and then comment out/remove all tk-multi-snapshot app declarations. It can be a bit technical, let us know if you get stuck!

  • 0
    Oliver Hilbert

    HI Manne,

    Sorry I think I was not quite clear. I meant disable the creation of a snapshot on the restore of a snapshot. We use snapshot's exclusively for saves to ensure our publish and work versions stay in sync - so that part is great. Looking through previous files via the snapshot tool however spams us with many duplicate versions of our existing snapshots. Very quickly artists leave the pipeline tools and start digging through the physical snapshot files to circumvent this.

    I did have a look in the config/env folder and poked through a few .yml's and couldn't find the said app-declarations. However I am not at a computer with any ability like "find in files" at the moment. Will check again when I get the chance.

  • 0
    Benoit Leveau


    We had the same issue. What we ended up doing is forking the app and doing the change in the code.

    Basically instead of getting the message:

    "A snapshot of the current work file will be made before restoring.\n\nContinue?",  OK | CANCEL

    We now get:

    "Do you want to snapshot the current work file before restoring?",  YES | NO | CANCEL

    This is the only change we have in our forked version, so if Shotgun wants to integrate such a change, we could create a pull request for this, so then we can use the official version again.


  • 0
    Rob Blau

    Hi Benoit, we'd love to take a look at that change... sounds like a good one.  Could you submit the pull request and we'll take a look?

  • 0
    Benoit Leveau

    Hi Rob,

    I just did the pull request for this app. The change is quite small. You might want to re-phrase the message.


  • 0
    Manne Öhrström

    Hi Benoit! Looking sweet! I just released 0.5.2 with this functionality added. Thanks for the help!

  • 0
    Adam Ghering

    Would also like to suggest a hotkey for snapshot. Most artists are used to ctrl+s or ctrl+shift+s

    not having a hotkey for this can be frustrating. Heck if you are going to be in a shotgun end to end it might even be worth reappropriating the normal save or save as to the snapshot tool when you launch with the shotgun toolkit 

    that way it is intuitive and new users to shotgun have same functionality.

  • 0
    Jarl Midelfort

    I agree with Adam. Having used a shortcut for "increment and save" in Maya for years, it would really help me take to advantage of this "snapshot" functionality if there was also a shortcut for it. Is this not already available? To me it doesn't feel as time efficient to save regularly if I have to go through menus and a dialogue just to save an incremental version, and instead I am opting to continue to use the standard Maya "increment and save" feature because it does have a shortcut.

    Having the option to swap out the "increment and save" shortcut for this behavior seems like an intuitive suggestion.

Please sign in to leave a comment.