This page contains details on the project format used by GameMaker.
At the root is the main project file, with a *.yyp extension. It describes the resources in the project and other metadata specific to it.
Next to it is another file with a *.resource_order extension. This file stores the order of groups and assets in The Asset Browser used when the filter is set to Custom Order.
NOTE GameMaker will add this file to .gitignore by default if Add skeleton .git defaults to new/imported projects is enabled under Source Control (Git) in the Plugin Preferences.
These are resource files; they store information on individual assets in a GameMaker project. They describe the data for the resource and any other files belonging to the resource (e.g. scripts, shaders, images and audio files). These data are stored in a JSON-like format.
These two files affect how a GameMaker project is treated by Git. They are automatically added to new and/or imported projects when Add skeleton .git defaults to new/imported projects under Source Control (Git) in the Plugin Preferences is enabled. They're also added to new projects that you create from local asset packages. Alternatively, you can disable the settings and add and modify these files yourself instead.
NOTE These files are only used with source control, which you can enable in the Game Options.
The .gitignore file is used to make Git ignore certain patterns of files. The default .gitignore file added by GameMaker ignores a few files and file extensions:
The .gitattributes file controls how Git handles certain files. The default .gitattributes file added by GameMaker introduces the following changes:
This type of file stores a compressed project export, created via the Export Project > YYZ option in The File Menu. Depending on the version of GameMaker, the compression method used may vary.
These are created and imported from (part of) a project's contents using Create Local Package and Import Local Package respectively in The Tools Menu.
The following is an overview of the file formats used by different GameMaker versions: