Upgrading Your Project To New Storyboard Versions Via GAPP Import
Some users may find themselves in a position where they’ve been developing with the same version of Storyboard over an extended period of time, but now wish to upgrade to the latest version.
However, if the deltas between the versions are large enough, you may find that your project won’t load or simulate properly in the latest version.
For example, let’s say you are using Storyboard v5.3 and you wish to upgrade to v7.2. So you simply launch 7.2, open your old project and try to simulate.
Well, then you might run into an “Invalid Static key miss” error.
This error arises because of changes to the data structures that have been made across these versions.
In 5.3, Layer instances had certain variables exposed/accessible like grd_active and grd_zindex.
However in 7.X, the engine does not expose grd_zindex and grd_active variables on layer instances anymore.
This was a conscious decision, but can mean that someone upgrading from 5.X to 7.X may run into a static key miss error if they were accessing these previously exposed variables.
A very safe way to import an old project into a new version is to perform what’s called a .gapp import. In Designer, click File>Import>Storyboard Embedded Engine (GAPP)
Then navigate to and select your old project’s GAPP file. If you don’t have a GAPP, then open your old version of Designer and export a GAPP file for the purpose of this process.
By importing a GAPP file, Storyboard will rebuild the GDE. So when it comes to differing versions, this is an ideal way to import as it will rebuild the GDE to match the new data structure.
In cases like this, a sure-fire way to migrate your project to the latest version is to do something I like to call “walking up the chain”. Essentially, instead of jumping from one extreme to the other, if you instead migrate to each major version in between the two, then it will work.
Meaning that if you were moving from 4.X to 7.X for example, you could:
Export GAPP > Import GAPP to 5.X > Export GAPP > Import GAPP to 6.X > Export GAPP > Import GAPP to 7.X
This could be considered overkill as some versions may not have changes to the data structure. But in general this really is the best approach in terms of success.
Note: make sure to remove any references to these missing static keys in your Lua code, if any references are present.
Please sign in to leave a comment.