Creators Guide – How to fix CTD issues on your scenery
Recently there have been reports of certain sceneries causing CTDs (crashes to desktop). This guide will help scenery creators with preventing these CTDs with a simple fix for all of their scenery. This fix involves renaming your modelLib.BGL
file which is the source of most of the crashes. Without getting into too many technical details, it seems that using the default name for your model library (ArtProj
object in the SDK) can cause conflicts with other sceneries that are also using this default name. While simply renaming your modelLib.BGL
file will not fix this issue, the actual fix should be fairly easy to follow.
For this example we’ll be using the Oosterscheldekering scenery which still has the default name for the ArtProj
object, modelLib.BGL
. When you open the project .xml
file, you’ll be greeted with the following screen (assuming you have turned on the Inspector under Project Editor -> View):
When you select your ArtProj
object from the Project Editor, you’ll be greeted with the following screen where you can choose your AssetDir
and OutputDir
:
While your AssetDir
and OutputDir
may be different than the ones from the example, the general idea of this fix is the same. For this example, our folder structure is as follows:
You might have some more files or different folder names, but this is the general structure. The problem lies in the modelLib
folder name, which produces a modelLib.BGL
file. To rename this file, we have to change the AssetDir
entry of our ArtProj
object, I’d recommend simply renaming your modelLib
folder in your project (as seen above) to something unique (like [scenery name]-modelLib
), you can then re-select this folder in your AssetDir
to end up with this:
Once you have re-selected the renamed folder for your AssetDir
, you can simply re-build your package like you would normally and you should get a package with a renamed modelLib.BGL
file. A good package output would have something like the following structure:
Again, your package layout or names might look slightly different depending on your settings, but the important thing is that you are no longer using the default name for your modelLib
file. Now that your modelLib
does not use the default name anymore, your scenery should no longer cause any conflicts with other scenery, decreasing the number of crashes people experience.
For more info regarding this, you can visit this forum post which has some other possible solutions in case you want to try those.