The Godot 4 game engine just got a new ability, the addition of Movie Maker mode. Not really intended to replace OBS and similar solutions for recording gameplay footage, Movie Maker is instead for non-realtime recording at a fixed frame rate, ideal for creating high quality gameplay trailers or machinima style movies.
Details from the GitHub pull request:
What is it?
- Allows running the game in “movie writer” mode.
- It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can’t sustain doing this in real-time).
- If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult.
- Implements a simple, default MJPEG writer (avi) and PNG+WAV (for lossless and transparency). More custom encoders (such as ffmpeg) can be implemented as GDExtensions by extending and registering a new MovieWriter.
- Implemented the ability to compress Image as jpg (needed for this).
This new features has two main use cases, which have high demand:
- Saving game videos in high quality and ensuring the frame rate is completely stable, always.
- Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as useful for this).
Note: This feature IS NOT for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature (but it will lack audible sound playback, as sound is saved directly to the video file).
You can see the new Godot 4 Movie Maker functionality in action in the video below. The demo scene used in the video is available here in the Godot 4 demo projects on GitHub.