A Layer is a collection of Prims and their Properties that can be saved to/loaded from disk or memory. As such, it can be considered a “saveable hierarchy”.
Standard USD Layers can be represented on-disk via
|ASCII Text, human-readable format|
|USD Crate file format. High performance binary not human-readable format|
|either Crate or Text|
|uncompressed and packaged format (.zip)|
USD allows for extending what you can load as a “Layer” via a special kind of plugin (
SdfFileFormat). In fact, the file types listed above are actually all plugins of this type.
SdfFileFormat plugin type, it is for example possible to also support loading
.obj (or anything really) in Usd.