These are some important things and pratices to be aware of when creating template projects that will be merged using C3PM to avoid conflicts between the projects during the merge process and other problems.
1 - Naming your C3 projects
First thing you wanna do when creating a template project that will be shared using C3PM is setting your project name and author properties. After merging two projects the main project will retain the files of the secondary project in a folder named after those atributes, so it's important to have them seted with unique names if you want your merged files to be organized.
2 - Preventing same file names conflicts
When merging two c3 projects you might have some errors during the merge process if you have some files with the same name in both projects. To avoid scenarios like that, make sure to have files with names that probabily wont be used by other users in their project files. A good pratice is to always add a "namespace" to your c3 template project files. For example, you could add "projectTemplateName_" before your files name. So in a default brand new c3 project, after renaming the files, you should have files like:
- projectTemplateName_Event sheet 1
- projectTemplateName_Layout 1
And so on... This way it's unlikely that any future projects that'll merge your project to share a file name with it.
The same thing applies to groups and global variables inside event sheets. They all must be unique, otherwise C3PM will prompt a error during the merge process and the merge won't happen. So set your group and global variable names accordingly to avoid the possibility of items with repeated names.
3 - Merging projects with single global instance objects
It's possible to merge projects that contaim plugins that are single global instance objects, such as the keyboard, browser, gamepad and other useful plugins. For that to be possible it's necessary for the plugin to have the same name in both projects, otherwise C3PM will prompt an error during the merge proccess.
4 - Use Construct 3 r198 or higher
It's strongly recommended to have at least one of the projects mergeds created using at least Construct 3 r198 or a higher version. It's not enough to have a project saved using this release, it's important that the objects created inside the project were created using this version.
This is because in this stable release there's a rework on the way some IDs are generated for certain files that will make unlikely that merged projects will share the same ID resulting in a corrupted project.
5 - It's not recommended to overwrite your original project with the merged project
C3PM is a tool that changes the files of your Construct 3 projects. This may in some caeses result in unwanted results or even in some cases in corrupted projects. It's strongly recommend that you don't overwrite your original project files with the new merged proejct files so you can go back to your old project if you're not happy with the end result of the merged projects.
6 - Not supported features
These features are not supported by C3PM at the time thus trying merging projects using them won't work:
- Bundle addons option