This issue came out several months ago, when some users reported conflicts between sceneries and/or missing objects, so we asked Asobo about this, and they confirmed which cases can be considered conflicts and which aren’t so:
CASE 1
Scenery A installed in Community\SceneryA
with a modelLib-SceneryA.BGL
located in the following folder inside its package: scenery\MyCompany-SceneryA\modelLib-SceneryA.BGL
Scenery B installed in Community\SceneryB
with a modelLib-SceneryB.BGL
located in the following folder inside its package: scenery\MyCompany-SceneryB\modelLib-SceneryB.BGL
THIS IS THE BEST SOLUTION, because by giving both the pathname and the filename unique names, it’s very unlikely we’ll end up with a name clash.
CASE 2
Scenery A installed in Community\SceneryA
with a modelLib-SceneryA.BGL
located in the following folder inside its package: scenery\global\modelLib-SceneryA.BGL
Scenery B installed in Community\SceneryB
with a modelLib-SceneryB.BGL
located in the following folder inside its package: scenery\global\modelLib-SceneryB.BGL
This is NOT a conflict, although some care should be taken on the filename, to be sure it’s not used by something else.
CASE 3
Scenery A installed in Community\SceneryA
with a modelLib.BGL
located in the following folder inside its package: scenery\MyCompany-SceneryA\modelLib.BGL
Scenery B installed in Community\SceneryB
with a modelLib.BGL
located in the following folder inside its package: scenery\MyCompany-SceneryB\modelLib.BGL
This is NOT a conflict, since the pathname is different so, even if the filename is the same, it doesn’t matter.
CASE 4
Scenery A installed in Community\SceneryA
with a modelLib.BGL
located in the following folder inside its package: scenery\global\modelLib.BGL
Scenery B installed in Community\SceneryB
with a modelLib.BGL
located in the following folder inside its package: scenery\global\modelLib.BGL
THIS IS A CONFLICT, because both the pathname and the filename are identical so, depending on the scenery loading order, objects from either A or B might show, so it better be fixed.
How to fix conflicts depends if you are users of the scenery, or developers:
USERS
Rename the modelLib.BGL file inside the package AND update the layout.json file with the new name, or use utilities to do that.
DEVELOPERS
Edit the <OutputDir>
path in the .XML file in the Package Definitions folder of your project, and replace the path, for example changing it from Scenery\Global\Scenery\
to Scenery\MyCompany-MyScenery
, and rebuild the project.
This will only affect the pathname ( which is enough to prevent conflicts ), because the filename of the resulting .BGL is controlled by the name of the folder in the PackageSources which contains the source .GLTF/.XML files for the models so, if you also want an unique filename, you must also rename the PackageSources\modelLib
folder in your project AND edit the path in the <AssetDir>
tag to match the new folder name.
GUID Conflicts - Developers
Even if your pathname and filename are unique, there’s still a chance for a conflict, which might be caused by GUIDs reused by you or other developers. Every 3D object in the sim must have an unique GUID, a common error is to copy the .XML file of the SDK sample and changing the name of the .GLTF without generating a new GUID for it.
One of the easiest way to generate GUIDs is using this free app on the Windows Store:
Be sure the .XML file located in the same folder of the .GLTF file has a unique GUID and, if you changed it, be sure you also changed it in the airport .XML source file to match, the Rebuild the project.