Smart camera tools for passionate creators
Cinemachine is a suite of ‘smart’ procedural modules which allow you to define the shot and they’ll dynamically follow your direction. Set up shots which track and compose motion in realtime, like AI camera operators. The procedural nature makes them bug-resistant as they always work to make the shot based on your direction. They’re great for gameplay, but they’re also amazingly fast for cutscenes. Change an animation, a vehicle speed, ground terrain - whatever - and Cinemachine will dynamically make the shot. You can use really telephoto lenses and not have to update the cutscene if things change.
Cinemachine works out of the box with no dependencies other than Unity itself.
Just install it and you're ready to go. It's pure c-sharp, fully open-source, and the public API has complete XML documentation built right in.
Cinemachine has been in development over a number of years across multiple projects. We’ve been designing camera systems for almost 20 years and have shipped millions of AAA titles across numerous genres. The Cinemachine team has an award winning cinematographer and a senior engineer with heavy math skills. Also, we love this stuff to bits.
Our mission with Cinemachine is to build an entirely unified camera system bridging gameplay, cutscenes, from fully procedural cameras to entirely canned sequences and everything in between.
Please have a look at our example scenes. They are shipped with the package and can be imported via the Cinemachine menu.
We have a busy discussion area on the forums. https://forum.unity3d.com/forums/cinemachine.136/
///) all public APIs.
master, don't forget to add dummy changelog entries. Let's say we're planning to make a minor +0.0.1 bugfix release: we want to prevent making changes that would require a major version bump. For preview packages, breaking changes require a new minor version, for non-preview packages, breaking changes require a new major version. Meaning, it's best to develop in non-preview "mode" and add the preview tag only when making an actual preview release.
dev/my-new-feature, merge to
masterpreferably using squashing (if applicable) and rebasing so that we can keep a clean history.
package.jsonhas the correct version number
BaseURLstring to pint to the correct documentation version, and
kVersionStringto reflect the current version