Source control for artists
Why game teams version their files, why binary art assets need locking instead of merging, and how Perforce P4, Git with LFS, Unity Version Control and Diversion handle it, with sourced pricing and the trade-offs between them.
Source control (also called version control) keeps every version of every file in a project on a shared server, so a team can work on the same game, see who changed what, and roll back mistakes. Epic describes it as "a backup and history of changes" and a way for "people to work together on their projects" (Unreal Engine 5.8 Documentation: Using Perforce as Source Control for Unreal…).
For artists, the main difference from programmers is the file type: code is text and can be merged, while most art files are binary.
#Why binary files need locking
Two programmers can edit the same text file and a merge tool combines their changes line by line. That does not work for a .blend, .psd, .uasset or .fbx. Epic is direct about Unreal assets: "These files are binary, so cannot be opened as text or merged in a text-based merge tool" (Unreal Engine 5.8 Documentation: Using Perforce as Source Control for Unreal…). The Git LFS project says the same of large binary files in general: conflicts are "very difficult to resolve" (Git LFS wiki: File Locking).
For this reason, teams lock binary files. Only the person holding the lock can submit a change; everyone else waits. In Unreal, checking out an asset "Checks out (locks) the asset for editing. This prevents other users from editing the asset at the same time" (Unreal Engine 5.8 Documentation: Source Control in Unreal Engine). Checking in uploads your changes "to the server and releasing the lock on the file" (Unreal Engine 5.8 Documentation: Using Perforce as Source Control for Unreal…).
#Core ideas
- Repository or depot: the server's copy of the whole project.
- Workspace or working copy: your local copy.
- Commit, submit or check in: send your changes to the server with a message.
- Lock or check out: reserve a file so nobody else can submit it.
- History: every previous version, so you can restore last Tuesday's model.
What goes in: source files (.blend, .ma, .spp, .psd), exported assets and engine assets. Unity reminds teams to "commit the .meta files to your repository", which store each asset's import settings (unity.com: Best practices for organizing your Unity…).
Folder moves need care. "If you move assets from one folder to another, many VCS will perceive this as just deleting one file and adding another", losing history; Unity says Plastic SCM (now Unity Version Control) "can handle file moves within Unity and preserve the history" (unity.com: Best practices for organizing your Unity…). Empty folders can also cause problems: "With Git and Perforce, empty folders are ignored by default" (unity.com: Best practices for organizing your Unity…). Settle the folder structure early.
#The main systems
| System | How it handles art | Price (as of October 2026) |
|---|---|---|
| Perforce P4 (Helix Core) | Centralised server; Unreal's editor locks assets on checkout (Unreal Engine 5.8 Documentation). Perforce and SVN are the providers the Unreal editor supports "by default" (Unreal Engine 5.8 Documentation). A typemap controls "how files get set to read only or writable" | Free for up to 5 users and 20 workspaces (perforce.com); larger teams: see vendor |
| Git + Git LFS | Git LFS is "an open source Git extension for versioning large files", replacing them with text pointers in Git (git-lfs.com). Optional locking with lockable files (Git LFS wiki) |
Free and open source; storage depends on your Git host |
| Unity Version Control (formerly Plastic SCM) | Unity's own system, "previously known as Plastic SCM" (Unity Learn); keeps history through file moves (unity.com) | Personal plan includes 25 GB storage and 100 GB egress per month; storage from $0.10/GB above that (unity.com) |
| Diversion | Cloud version control for game teams; hard locks and asset reviews on the Studio tier (diversion.dev) | Free Indie tier for the first 5 users and 100 GB; Pro US$25 and Studio US$35 per user per month |
| Anchorpoint (front end for Git) | An artist-friendly client that "works with pure Git + extras on top", including LFS cache clean-up (anchorpoint.app) | Personal plan free for a single user, non-commercial, GitHub only; Team (adds file locking and other Git hosts) €25 per user per month |
See reference, review and presentation tools for the full tools table.
#Locking in Git LFS
Git was built for text, so locking is an add-on. You mark file types as lockable in .gitattributes, for example *.jpg filter=lfs diff=lfs merge=lfs -text lockable (Git LFS wiki: File Locking). Git LFS then makes those files read-only locally, which "prevents users from accidentally editing a file without locking it first" (Git LFS wiki: File Locking).
The commands (Git LFS wiki: File Locking):
git lfs lock path/to/fileregisters the lock in your name on the server.git lfs lockslists current locks.git lfs unlock path/to/filereleases it;--forceremoves someone else's lock, if the server allows it.
Locking needs server support, and "Git LFS won't halt your push if it cannot verify locked files" (Git LFS wiki: File Locking).
#Common mistakes
- Editing without locking. The second person to submit loses their work.
- Committing only exports. Keep the native source files too; see 3D file formats.
- Moving folders casually. History can break (unity.com: Best practices for organizing your Unity…).
- Forgetting Unity
.metafiles. Import settings and references are lost (unity.com: Best practices for organizing your Unity…). - Holding locks overnight. Check in or release locks when you stop working.
#Further reading and watching
.meta files and moves under version control. Beginner, free.References
- · Using Perforce as Source Control for Unreal Engine · Unreal Engine 5.8 Documentation, 2026 · docs · accessed 2026-10-21
- · File Locking · Git LFS wiki (GitHub), 2026 · docs · accessed 2026-10-21
- · Source Control in Unreal Engine · Unreal Engine 5.8 Documentation, 2026 · docs · accessed 2026-10-21
- · Best practices for organizing your Unity project · unity.com, 2026 · article · accessed 2026-10-21
- · Free version control software · perforce.com, 2026 · web · accessed 2026-10-21
- · Git Large File Storage · git-lfs.com, 2026 · web · accessed 2026-10-21
- · Set up Unity Version Control in the Unity Editor · Unity Learn, 2026 · course · accessed 2026-10-21
- · Compare plans: Unity Cloud · unity.com, 2026 · web · accessed 2026-10-21
- · Diversion pricing · diversion.dev, 2026 · web · accessed 2026-10-21
- · Anchorpoint pricing · anchorpoint.app, 2026 · web · accessed 2026-10-21
Pages that link here
- 3D file formats Reference
- glTF Key term
- USD for environment artists Topic
- Reference, review and presentation tools Reference
- The technical artist Topic
- Naming conventions Reference
Last updated 2026-10-22