A downloadable tool for Windows
DISCLAIMER: I have been informed that YYG will occasionally change the serialization of resources from update to update. As a result, GMTransfer is no longer totally stable when trying to load in projects. Some projects seem to be fine, some seem to break -- I have no idea what the specific changes are. So, you may be lucky, you may not be!
1. Open GMTransfer.exe
2. Select a source YYP (project to import)
3. Select a target YYP (destination project)
4. Select the items you wish to transfer
5. Press "Add to Selection" to add to your transfer list
6. Press "Transfer"
What is GMTransfer?
GMTransfer is a tool that allows the transfer of resources between GameMaker Studio 2 projects.
Is it free?
GMTransfer is completely free, as I believe this is a feature GMS2 should have by default. However, if you consider donating, it will help me greatly to continue to making tools for GMS2: Aseprite importers, code beautifiers, etc. If you do donate, thank you, I really appreciate your support.
What is it built in?
GMTransfer is written in Python, with its GUI being built in GMS2.
How does it work?
The tool will take the resources you select and will copy them into the target project. It takes care of both moving the files and editing the target .yyp file to include the resources seamlessly.
Is using the tool risky?
GM's data files are a bit sensitive, but the tool has been thoroughly tested to provide no errors. Additionally, GMTransfer makes a backup of your target project before running anything else. These backups can be found in the same directory your project folder is in.
Please note that if you see "WARNING" messages in the output of your project when opening it that these are not errors. GM has a nice system in place for cleaning up its groups, so I leave that to the IDE. You will only see these messages if importing nested groups. They are no cause for alarm.
Can I use it with GMS 1.4? (or any other older version of GM)?
No. GMTransfer is only compatible with GMS2. If there is lots of support / demand, I can certainly look into making it work for GMS 1.4.
Anything else I should know?
- GMTransfer will tell you if a resource is not imported due to a duplicate existing. You
can check the log file (in the GMTransfer directory) to see more details.
- GMTransfer will run into issues if you try to import GM's compatibility scripts, due to
them having a different structure than normal scripts. Since these scripts should be
avoided anyway, I didn't add support for transferring them.
- Keep on eye on your dependencies. For example, if you import an object with a parent,but don't include the parent in your transfers, GMTransfer will set the object to have no parent.
If you run into any issues, please contact me firstname.lastname@example.org listed above, and be sure to include your log.txt file.
A massive thank you to the entire /r/GameMaker discord community for your support, teaching and friendship. An additional shoutout to Meseta, who is the only reason I was able to learn half the stuff required for the project.
Click download now to get access to the following files: