GlossaryDefinition

Binary file

A file stored in a non-text format: textures, audio, compiled code, Unreal .uasset, most FBX. Source control systems can version binary files but generally can't merge them, which is why locking matters.

A binary file is any file that is not plain text. In an Unreal Engine project that covers almost everything an artist or designer produces: .uasset assets, .umap levels, textures, meshes, audio, Substance and Photoshop source files, and packaged build output.

The distinction matters for exactly one reason: merging. A merge tool works by reasoning about lines. When two people change different lines of a text file, the tool can combine both sets of changes with confidence. A binary file has no lines. It is a packed structure where a small logical change can rewrite bytes throughout the file, so there is no safe way to combine two versions automatically.

This is not a limitation of any particular tool. Perforce, Git, Git LFS, and USourceControl all face the same constraint, because it comes from the file format rather than the version control system. What differs is how gracefully each system helps you avoid the situation.

The practical consequence is that binary files need a different workflow from code. Instead of branching freely and merging later, you reserve the file before editing so that a second person cannot start parallel work. That reservation is file locking, and on an asset-heavy project it is the single habit that separates teams who lose days of work from teams who do not.

Source control without the jargon

Cloud source control for Unreal Engine 5 teams. Free for solo devs, first commit in five minutes.

Create your first project