3D Animation - Perforce
Introduction to the "Perforce" Software
What is Perforce?
Perforce is a type of Version Control Software that is tailored to the needs of teams with large art/media assets, such as Game Development and Animation Studios.
Perforce tends to have some overlapping functionality with Git.
Compared to Git, Perforce is a somewhat old software, and it's fallen out of favor in many industries. However, it's still very powerful in regard to projects with many changing art and media assets. This is enough to keep Perforce as a prime contender in the fields of Animation and Game Development.
Perforce is a Company with Multiple Software. Which One Do You Mean?
Technically, "Perforce" is a suite of software designed to help facilitate project creation.
On this site, generally when we say "Perforce", we mean "Perforce Helix," which refers to:
-
Helix Core - The server aspect that hosts project files.
-
Helix Visual Client (P4V) (Download) - A local interactive interface, to access the project on a given machine via buttons and visual menus.
This is generally the main way to access a Perforce project. -
Helix Command-Line client (Download) - A "terminal"/"command-line" interface to access the project on a given machine via text commands.
This is generally much less user-friendly to the standard user, but occasionally has functionality that cannot be accessed via the Visual Client.
The combination of these three software is the minimum required to get a Perforce setup going.
This also requires at least one server to host the Perforce project files.
Benefits and Drawbacks Compared to Other Version Control Software
-
Benefits
-
Primary benefit is that Perforce is designed with art assets in mind.
Specifically, Perforce is designed to handle large binary files being saved, updated, and otherwise modified. "Binary files" include types such as images ( jpg / png ), movies ( gif / mp4 ), audio files ( mp3 / wav / ogg ), and many other similar file types which are common in 3D pipelines.
-
Some software, such as Unreal Engine provides direct support for Perforce.
In fact, Perforce is the only version control directly supported by Unreal, and other version control options need external addons to be supported within Unreal Engine itself.
-
-
Drawbacks
-
Unlike Git, Perforce is not effectively free.
Perforce is only free with very small teams (5 or less people), and those teams are limited to only 20 workspaces. Any more than that, and the team needs to contact Perforce support to acquire a license.
-
Unlike other version control options, Perforce does not have easily accessible hosting options, to upload projects to for easy access across multiple machines.
Technically the Perforce website provides "Helix Core Cloud," which one easy-to-use solution. But as of writing this (2024), it costs $39 per user per month, which is probably a deal-breaker for individuals or small teams that aren't already committed to using Perforce.
Short of paying this monthly subscription cost, the only other option is to have an "IT person" that can help set up a Perforce server for your project.
-
-
Mixed
Good for some people, bad for others. Depends on personal preference.-
Perforce is a "Centralized Version Control" (VCS) system, which means that users need to "check out" files in order to modify them. If a file is not checked out, then it is not editable on the local machine.
This is due to it being "centralized", which means the software has a central server location that is "the one source of truth." To prevent conflicts due to multiple people editing a single file, the server only allows a single person to edit any given file at a time. This concept is called "checking out" the file.
-
Perforce Topics
Follow the below links to learn more about using Perforce.