Is there a way to have time progress at a fixed rate per frame update? (Outputting video frames)

I’m using Unity to output some video frames. My desired framerate is 60 fps, so the idea is that 1/60 of a second will pass in every frame once they are all processed and turned into a video file. In some places, though I’m doing some pretty heavy stuff between frames. I figured this would be okay, since I’m not aiming for realtime performance, but I’m getting messed up by the fact that Time.time keeps marching on regardless of the time it takes to calculate a frame, meaning sometimes more than 1/60 of a second goes by between frames.

I’ve coded some animations to use Time.frameCount rather than Time.time, but that feels hacky, and it stops me from using Animation Controllers (as I understand them). Since Unity advertises itself as a tool for film, I expect there’s a way to have time and frame count march on in sync as frames are produced, but I haven’t found it. Any help appreciated.

This can be controlled with Time.captureFramerate, the reciprocal of Time.captureDeltaTime.

I feel a bit silly, since these are the first two properties in the Time documentation, but now I know, and hopefully this helps someone else.