• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

MSFS A Step-by-Step scenery creation

Hi everyone !

So I have many troubles discovering this FS2020 SDK. Because i'm a total noob, but I also experienced that doing the exact same thing several times didn't had the same result ; this SDK is very confusing in its current state.
OMG IT WORKED THIS TIME. I still post this as a step-by-step tutorial for noobs like me, and if any of you FSX SDK Veterans find any interest in this, maybe to understand that contentinfo error.

I'll try to organise my post to make it as precise as possible, so anyone can help me and it will be a good basis for a noob tutorial, but you can jump right to the end section to see the failed successfull result and the console log.

The goal

I'm really just trying to add a single building (from the existing 3D library ingame) in my hometown, next to LFLE (Challes-les-eaux airport, Savoie, France), just as a test to understand the SDK.

The setup

Just don't read that, its probably futile.

This should not have any impact, but just in case :
This is FS2020 XBOX Game Pass version. For technical reasons (in short, i use a cloud pc for gaming, wich have specific disk format that is not suported by the xbox windows app, so tot install games I have to create a virtual disk with the right format), I have to install it on a virtual disk. So Inside my D:/ drive, there's a virtual disk just for the game, with 155gb of space, and the disk letter E:
The game laucher is on that E: disk.
The official package folder is also on that disk, with a different location (E:/MS Flightsimulator Package/).
The SDK is not on that virtual E: Disk, but on the original D: disk (D:/MFS2020 SDK/)

The package creation process

1) The usual before starting
Enabling dev mode, and spawning in my cessna 152 at LFLE on the parking area 1 (small ramp)

2) Creation of a new project
[DevMode]>New project
Project Folder : C:\Users\My-user-name\Documents\MyFSProjects (unchanged)
Project Name : BuildingProject01
Output dir : .\Compiled Package Output (I create this folder in the explorer prompt that shows up upon clicking on the "..." button, to prevent file confusion from my part after compilation)
>ok

>In the project editor>"Project" tab, I save.
BuildingProject01.xml is created in ..\MyFSProjects

3) Creation of a BGL Package
>Project Editor>"+" button
Package Name : singlebuilding
Type : BGL
>create

A "singlebuilding" line appear in the project editor. I can unpack it to see a sub-line "singlebuilding BGL"

4) Configuration of the BGL Package
I select the "singlebuilding BGL" line in the project editor.
I open the Inspector (Project editor>"view" tab>Inspector)

In the inspector tab I set this :
Name : singlebuilding (unchanged)
Type: BGL
AssetDir : ../MyFSProjects/P1AssetDirectory (the "P1AssetDirectory" is a folder I create within the explorer prompt that shows up when clicking the "..." button next to "AssetDir") (the default location seems to be "C:\Users\My-user-name\AppData\Local\Packages\Microsoft.FlightSimulator_8wekyb3d8bbwe\LocalState". that's looks extra confusing to me. I hope changing this is not what cause errors)
OutputDir : scenery (I let this in its default state. When opening the file browser to change the dir, it seems this "scenery" folder" will be created within the AssetDir P1AssetDirectory I just created for the AssetDir location)

I then press the "Load in Editor" button.
This has the effect of rebooting the scenery around the spot I am, and opening the Material Editor (wich I close because I don't need it), and the Scenery editor.
In the scenery Editor, the yellow "Package" and "Asset" variables are already both set to "singlebuilding", I don't need to do it manually.

5) Placement of the building

In the Scenery Editor, I open the Object window (Scenery Editor>"view" tab>Objects)
In the Object window, I search for my building : in the "filter" field, I type "generic", then click on "Generic_AppartmentBuilding_Blue_14"
With the dev camera mode enabled (Camera>Developer Camera ticked), I use alt+left mouse to rotate, alt+mousescroll up/down (or rightmouse) to zoom in/out, and alt+middlemouse to move the camera. I look for a spot in front of my plane, just oustide the airport, and center the camera where I want the building to spawn.

I still have the Generic_Appartment... selected in Scenery Editor.
I hit the "Add" button.
The 13 floors building appears in the game world

I have to click on the scenery Editor window to make it active to make appear the gizmo tool. I then click and hold on the center white dot on the building gizmo to translate the building wherever I want. I just move it a little so it's not interracting with another IA placed building (its probably not a problem, but who knows ?).

I hit the "Save Scenery" button in the Scenery Editor window.
A prompt ask me to name the Scenery File, wich will be placed in the default location : ..\MyFSProjects\P1AssetDirectory\
File name : bluebluidingscenery
> Save

The "Save Scenery" button turns green for a second.
The material editor window is oppened again, I close it.

There's new files created :
a ..\MyFSProject\_PackageInt folder. Inside this new folder, a single "_TimeStampID. XML" file.
a ...\MyFSProject\P1AssetDirectory\bluebuildingscenery.XML file.


I save the project.
Upon saving, a ..\MyFSProject\PackageDefinitions folder is created. Inside this new folder, a single "signlebuilding.XML" file.

6) Compiling the package

In the Project Editor Window, I click on the "singlebuilding" line (not the one with the green BGL!) to select it.
(The game crashed to desktop without error message at this point. It does that often when I spend too much time in devmode. So I boot up the whole thing again, Reload the project, reselect the BGL, Reload it in the inspector with the "Load in Editor" button, to make the building apear again in the game world. Its probably futile since the scenery files are already there, but I do this to find the exact same state prior to the game crashing)

I then go to the Inspector (Project Editor>"view" tab>inspector, if you've lost it) wich has some fields to fill before compiling :

version : 0.1.0 (unchanged)
Compagny Name : Noobcraft
Package Name : singlebuilding (unchanged)
Manufacturer : (nothing, since its not an aircraft)
At this point, the line of the package in the Project Editor window change itself to "noobcraft-singlebuilding"

Title : challesfakebuilding
Creator : felljin
Content-Type : SCENERY
Content Manager Thumbnail : A thumbnail of the right dimension (412x170 pixels)

I don't touch the marketplace data "+" button.
I dont touch the "Release Notes" tab in the Inspector windows.

The Asset Groups part of the windows list the single "signlebuilding (BGL)" file.

I open the console window (Windows>console). (It has yet several error messages, I guess they are bugs from the simulation around me, not a problem with the project. They are errors that looks to concern a particular aircraft around me, maybe mine, maybe another player, the whole area is a bit crowded since its cool and close to famous spots like courchevel and the mont blanc).
I then finally hit the "Build Package" Button !

After that, I save the project one last time.

END SECTION : The result

The console shows the folowing lines :

SDK package compiling 02.JPG


Some files are created :

- in ..\MyFSProject\_PackageInt\, two new folders are created : _metadata and _timestamps.

the first have the following content :
\_metatada\noobcraft-singlebuilding\singlebuilding.XML

The second have the following content :

\_timestamps\Output_1\noobcraft-singlebuilding\singlebuilding.XML
\_timestamps\Output_1\noobcraft-singlebuilding\singlebuilding_output.XML

- in ..\MyFSProject\PackageDefinitions\, a new file appeared : noobcraft-singlebuilding.XML

- A new folder appeared in ..\My FSProject\ : Compiled Package Output
That folder have the following content :
\Compiled Package Output\PackageDefinition\noobcraft-singlebuilding\ContentInfo\ (This folder is empty. Is it related to the contentinfo error displayed by the console ?)

\Compiled Package Output\Packages\noobcraft-singlebuilding\layout.json
\Compiled Package Output\Packages\noobcraft-singlebuilding\manifest.json
\Compiled Package Output\Packages\noobcraft-singlebuilding\scenery\bluebuildingscenery.bgl


I then close everything, every window, then the game itself.



Finally, I copy the folder ..\MyFSProject\Compiled Package Output\Packages into the E:\MS Flightsimulator Package\Community folder.

Upon booting the game OMG IT WORKED. ITS THERE.

edit : some formating an typo and tutorial polishing things
 
Last edited:
This is amazing!!. Thx for your help.
I'm trying to make some terraforming..do you know if is possible?

Thx!
I haven't tried terraforming yet as a working package. But at least the in-game terraforming tools should work (I just tried some terrain flatteing, it did well), so I don't see any reason it would fail.
This is on my todo list, but first I would like to try a IA building extruding polygon package.

Hey if you follow this guide, don't hesitate to post a copy of your console output after compiling, so we can compare errors and maybe understand them better :)
 
I used the runwaydeformation tag to add elevation points to a runway. It is the same concept of terraforming.

https://www.fsdeveloper.com/forum/threads/airport-runwaydeformation-tag.448418/

Regards
Alfredo Mendiola Loyola

I saw your post about the runway deformation yesterday. Did you do that using the in-sim tools or were you using XML and compiling? I placed a runway last night and was trying to get the elevations correct at both ends in order to make the runway sloped as in real life. I couldn't figure out the runway deformation tool... If you have used it care to share how it works?

Brandon
 
I used the runwaydeformation tag to add elevation points to a runway. It is the same concept of terraforming.

https://www.fsdeveloper.com/forum/threads/airport-runwaydeformation-tag.448418/

Regards
Alfredo Mendiola Loyola

Thx for your help.
What im trying to achieve is kinda different.
There's a place called "Piedra Parada" which it's completely flat on the simulator due to the low quality satellite images from Bing.



In real life it's almost 300 meters tall..which is pretty much a big Stone. Not sure if i should go with terraforming tools or blender.
 

mendiola_loyola

Resource contributor
I saw your post about the runway deformation yesterday. Did you do that using the in-sim tools or were you using XML and compiling? I placed a runway last night and was trying to get the elevations correct at both ends in order to make the runway sloped as in real life. I couldn't figure out the runway deformation tool... If you have used it care to share how it works?

Brandon

Yes. I used the fspackagetool.exe program to compile the xml without starting or using the FS2020:
I run this command on the windows console: "C:\MSFS SDK\Tools\bin\fspackagetool" SPSO.xml

XML:
<Runway lat="25.03598600322378" lon="-77.46942558230664" alt="4.11480013167360" heading="89.64241790771484" length="2529.31225585937500" width="46.85408401489258" patternAltitude="304.79998779296875" surface="{B037EA38-EDF8-4AE5-B41B-2CA423ADA3EF}" transparent="FALSE" number="10" designator="NONE" primaryLanding="TRUE" primaryTakeoff="TRUE" primaryPattern="LEFT" secondaryLanding="TRUE" secondaryTakeoff="TRUE" secondaryPattern="LEFT" primaryMarkingBias="0.00000000000000" secondaryMarkingBias="0.00000000000000" groundMerging="TRUE" excludeVegetationAround="TRUE">
    <RunwayDeformation alt="4.267200" ratio="0.000000"/>
    <RunwayDeformation alt="3.962400" ratio="1.000000"/>

The ratio attribute is the vertex index of the runway 0, 1, 2, 3
The alt attribute is the elevation of that vertex.
I think that the vertex zero is the vertex that is located on the Runway number defined on the number attribute (tag Runway), in this case the runway 10.
So, runway 10 will have 4.27 meters and runway 28 will have 3.96 meters.

I set 100 meters to one of the vertex to identify the vertex visually on the FS2020 .

Regards
Alfredo Mendiola loyola
 
Yes. I used the fspackagetool.exe program to compile the xml without starting or using the FS2020:
I run this command on the windows console: "C:\MSFS SDK\Tools\bin\fspackagetool" SPSO.xml

XML:
<Runway lat="25.03598600322378" lon="-77.46942558230664" alt="4.11480013167360" heading="89.64241790771484" length="2529.31225585937500" width="46.85408401489258" patternAltitude="304.79998779296875" surface="{B037EA38-EDF8-4AE5-B41B-2CA423ADA3EF}" transparent="FALSE" number="10" designator="NONE" primaryLanding="TRUE" primaryTakeoff="TRUE" primaryPattern="LEFT" secondaryLanding="TRUE" secondaryTakeoff="TRUE" secondaryPattern="LEFT" primaryMarkingBias="0.00000000000000" secondaryMarkingBias="0.00000000000000" groundMerging="TRUE" excludeVegetationAround="TRUE">
    <RunwayDeformation alt="4.267200" ratio="0.000000"/>
    <RunwayDeformation alt="3.962400" ratio="1.000000"/>

The ratio attribute is the vertex index of the runway 0, 1, 2, 3
The alt attribute is the elevation of that vertex.
I think that the vertex zero is the vertex that is located on the Runway number defined on the number attribute (tag Runway), in this case the runway 10.
So, runway 10 will have 4.27 meters and runway 28 will have 3.96 meters.

I set 100 meters to one of the vertex to identify the vertex visually on the FS2020 .

Regards
Alfredo Mendiola loyola

ok thanks, this makes some sense to me as in the in-sim editor I had a 0 and 1 vertex. I am working today but I will check this out tomorrow. I should be able to change the altitude then for the 0 and 1 vertex to get the slope I am looking for. I also was thinking while using the tools that vertex 0 was for the runway number that I had added. Will see tomorrow how this works. Thank you.
 
The overall process outlined here by Felljin667 worked for me as well, but just to give a hint to others...

Follow his instructions EXACTLY, this thing is so non-robust that even the smallest variance will cause issues. My first few attempts I just read his general instructions, and it did not work until I followed every step in the exact order. This part of the SDK needs serious work, it is way too flaky and sensitive. If you have issues, move all your directories, reboot and reload, then start from scratch. It's unfortunate this is what they gave us, but it is...

Also note:
His post should probably be stickied.
 
Top