In previous versions of GameMaker it was a complicated
business to import and export files from one project to another,
and if you weren't careful you could end up with a corrupt game or
loss of data. Thankfully, that has all changed with GameMaker:
Studio as the *.gmx format makes sharing resources
between projects a simple and painless procedure.
When you save your project, GameMaker: Studio creates a
number of special files in the game directory (this can be found
easily through the drop down
Help Menu) with the extension *.gmx and a
sub-extension that indicates the resource type (eg: a room resource
would be called game_room.room.gmx). These *.gmx
files contain all the information that GameMaker: Studio
needs to define the object, sound or whatever resource, and you can
add these into a new project simply by right clicking on the
resource tree and selecting Add Existing Resource, which
will open a standard file selector where you can browse to the file
you wish to import.
You can select multiple files in this way too and they will all be
imported into GameMaker: Studio, but they must all have the
same sub-extension (ie: you can load ten *.object.gmx at
once, but not a *.sound.gmx and a couple of
*.sprite.gmx). It should also be noted, that if you add an
object resource into your game, if it has a sprite associated with
it this sprite will not be imported. You have to make sure
that any sprites your object needs have been imported from their
appropriate *.sprite.gmx. The same goes for any rooms that
you import, as they will be missing the objects that they contained
if you have not imported them previously. So, it is always best to
import sprites, sound, fonts and other resources before
objects, and those you should import before rooms.