October
25
2020

Learn more about upgrading a Makinom 1 project to Makinom 2.

You’ve got an old Makinom 1 project lying around that you want to convert over to the shiny new Makinom 2? Due to the large amount of changes in data structure, system and many other things, you can’t just replace Makinom 1 with Makinom 2.

That’s what the Makinom Upgrade Tool is there for – it’s a convenient one-click solution to upgrade your project. Please note that the upgrade process can’t be reversed and will make your Makinom 1 setup useless – also, the upgrade can fail (e.g. due to some unexpected data setup that can’t be upgraded), so be sure to make a backup of your complete Unity project before attempting an upgrade.

Tool Version: 1.0.0 BETA 2

Requires: Makinom 1.19.0 BETA 2 and Makinom 2.0.0 BETA 7 (currently both included in the package)

Download Upgrade Tool

Before you upgrade

Make a backup of your complete Unity project.

Once you start the upgrade, there’s no going back – even if the upgrade fails, there might have already been some changes made (e.g. to scenes or prefabs) that can’t be reversed, potentially destroying your project.

Also, keep in mind that you can’t make a partial upgrade and upgrade other things later.

Importing the upgrade tool

Import the MakinomUpgradeTool.unitypackage file you’ve downloaded into your project.

It contains compatible Makinom 1 (without the gizmo icons) and Makinom 2 versions (with the gizmo icons).

After the import you’ll get some warnings in the Unity console (usually 8 different warnings) due to Makinom 1 and Makinom 2 both trying to register menu items to Unity for the same names. You can ignore those warnings.

What will be upgraded

The ugprade tool will upgrade the settings in your Makinom 1 project asset (usually located at Assets/Makinom/Project.asset), with some exceptions

All schematics in your project. The old Makinom 1 schematics will either be deleted (default) or renamed, the new Makinom 2 schematics will remain at the same place (and keep the same name) as the originals.

All Makinom 1 components on prefabs in your project. The old Makinom 1 components will be removed, the new Makinom 2 components will be added.

All Makinom 1 components on game objects in scenes added to your project’s build settings. If you want a scene to be updated, make sure it’s added to the build settings (Unity menu: File > Build Settings…). The old Makinom 1 components will be removed, the new Makinom 2 components will be added.

Global text codes (e.g. to show the name of an input key) used in any of the texts of your project (in data that’s updated, e.g. in the project asset, schematics or components). Please note that most local text codes (usually with a ‘%’) will not be upgraded, except for the Show Flying Text node, which upgrades the value text code.

What won’t be upgraded

Anything UI related, i.e. GUI boxes, HUDs, etc.

While generally the settings will be upgraded and the GUI boxes, GUI layers or HUDs are converted and added in the Makinom 2 project, due to the complete revamping of the UI system in Makinom 2, they’ll not be in a usable state and you’ll have to set them up with the new UI system. See the how-to on Makinom 2’s UI system for details.

There might also be some settings or nodes that will not be fully comverted due to changes between Makinom 1 and Makinom 2. Also, some things might not behave the same way as before due to overall system changes.

Upgrading the project

Open the upgrade tool via the Untity menu: Window > Makinom Upgrade Tool

The upgrade editor will look like this:

The last Makinom 1 project you’ve opened (or the default project) will be selected automatically. If you want to upgrade a different project asset, make sure to select it before starting the upgrade. You can only perform the upgrade once, i.e. only upgrade one project asset.

Enabling Debug Output will help finding issues in case the upgrade failed. It’ll print debug messages in the Unity console for each step of the upgrade path.

Enabling Delete Old Schematics will delete the upgraded Makinom 1 schematics, otherwise they’ll be renamed (adding ‘[OLD]’ at the start of their name).

Clicking on the Upgrade Project button will start the upgrade process (there’s no going back after this). Depending on the size of your project, this might take some time. The upgrade process will also open all scenes that are added to the build settings of your Unity project to upgrade them.

Please keep in mind:

There’s no guarantee that the upgrade will succeed or the project works the same way after the upgrade!

Upgrade failed

If the upgrade failed, the upgrade tool window will notify you:

In this case, please let me know about the issue via email or post in the support forum. Make sure to include the error message (you can find it in the Unity console) and, if you use Debug Output, the last upgrade debug output before the error.

Upgrade successful

If the upgrade was successful, you’ll get a success message:

Congratulations, good for you!

But wait, there’s more …

After the upgrade

Before you continue working on your project or testing it, there are some additional steps you should take.

Delete Makinom 1

First, you need to delete the remaining Makinom 1 assets/code.

Usually, this is all concentrated in Assets/Makinom 1/, which contains the project asset (default location) and the DLL files, plugins or additional scripts (from official sources). The upgrade tool is also located in these folders. In case you’ve moved things or have additional assets in there, you need to find and delete them separately.

You also need to delete the project asset backups (if you’re using the backup functionality), located at Assets/_Makinom_Project_Backups/.

You can also delete the Makinom 1 gizmo icons, located at Assets/Gizmos/, but make sure to only delete Makinom 1 gizmos, as Unity bundles all gizmo icons in that folder.

Update your UI

As said above, your project’s UI needs to be set up again. First, you’ll need to select which UI system to use, before you can start setting up your UI.

See the how-to on Makinom 2’s UI system for details.

Test, test, test …

You should test every aspect of your project to see if it behaves the same as previously.

Due to the system changes some things might behave differently than before.