Output with timestamp as filename

I have an output device that outputs to filename <project>-<name>-<res>.png. However, when I run a build and output a new file, it overwrites it since it has the same file name. I like having a history, so I want to add some sort of index or timestamp to the filename to keep it unique. Is there a way of doing this?

(In addition, I could not find any documentation on available variables usable in output filenames, so I’d be appreciated if it is linked here for reference as well.)

As far as I know that is not possible. Maybe it is possible if you render your world using a script, but I doubt that is what you want. Alternatively, write yourself a simple batch script that will auto backup outputs.

There is however, build in functionality in WM that should fix this, and that’s the snapshot option (see image below), but I have no experience using this, and I’m not sure if it is stable or working as intended. If I remember correctly, @WFab has played around with it, but I could be mistaken (if so, sorry for the tag!).

Regarding the documentation, it is availably, but not in a place that’s often used (although the interface is quite nice I must say).

Thanks for the tag @HYLK! Yeah I played around with Project snapshots a bit during Alpha. Back then it was barely functional, still has some problems with “device versioning”, but nothing game breaking really.

World Machine TMD project files have a human readable xml based structure. Project snapshots are basically multiple versions of a terrain design graph saved within one single world machine project file.

Coming back to the topic.
No, it cannot be used for @bigyihsuan’s use case. You’d still have to manually set up different output setups for your terrain. To top it all, you’ll have to restore versions of the project manually before every manual world build.


Rather than changing filenames, make multiple folders for your builds and save separate projects. You can use “relative paths” in your output devices, where your world machine file acts as a “root”. This way each project folder is a kind of “container” where your builds are saved within their respective folders, no over writes.

Sadly there’s no automated solution yet. Good feature request though!

Hope this tirade helps in some way! Good luck!

1 Like