We’ve updated our perforce server setup post branching such that the CL numbers have reverted back to a lower number. e.g. we were on 9999 but now back to say 10.
Therefore we get errors like
“Package ‘ASSETNAME’ has been saved with a newer engine version and can’t be loaded. Current EngineVersion: 5.5.X-CLNUM1 (Licensee=1). Package EngineVersion: 5.5.X-CLNUM2 (Licensee=1)”
Where CLNUM1 is smaller than CLNUM2.
Solutions?
For now we’ve added code to FEngineVersion::ExactMatch where if the CLs aren’t sequential we permit assets that were saved on the old branch to be compatible, using:
In this case it’s usually necessary to temporarily disable the check to allow loading of the assets again and then re-save them to store them with the new version number.
You could try to set the cvar s.SkipChangelistCompatibilityVersionCheck to 1 to disable it and avoid the code change, but the end result should be the same.
We recommend re-saving all your assets via the “ResavePackages” commandlet to apply the new changelist scheme in a batch operation.
That way, you would only have to disable the check once, resave, and all assets should be compatible again.
A full asset re-save can be time consuming and a logistical challenge for larger teams, so this might be something to run over a weekend with some advance preparation for the team.
Alternatively, you could run with the check disabled for everyone for a while to give you more time to migrate. This introduces the risk of loading actually incompatible assets by mistake, so you should still have a plan how you get your assets migrated in some fixed time-frame.