• 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 Introduction to MSFS SDK (scenery)

I don't know whether this is the correct place to ask but here goes. I am re-designing my grass strip airfields and intend to cover the whole of the UK using my frind Bryan Lockear's Guide Book ( quite a few free on flightsim.com) and I have used Sketchup to design my models and would like to get to grips with Blender but I'm a bit long in the tooth at 72 and was wondering if anyone would be willing to convert a few of my models for me, I can supply the obj's and probably the pbr textures if needed. Thanks in advance. Neil
 
I don't know whether this is the correct place to ask but here goes. I am re-designing my grass strip airfields and intend to cover the whole of the UK using my frind Bryan Lockear's Guide Book ( quite a few free on flightsim.com) and I have used Sketchup to design my models and would like to get to grips with Blender but I'm a bit long in the tooth at 72 and was wondering if anyone would be willing to convert a few of my models for me, I can supply the obj's and probably the pbr textures if needed. Thanks in advance. Neil

Hi Neil,

No problem at all. If you send me a PM I'll try and help.
 
Hi @DragoB
Thanks sooo much for this guide. It's got me started finally. A couple of feedback points.
1. On page 4 you have us create projectname\scenery and projectname\world.
Then on page 5 you say "The Asset Directory inside the inspector should now be navigated to the projects (sic) subfolder called scene. " Did you mean scenery here?
2. Also on page 5 next sentence you say "The Output Directory should be however typed in manually to display scenery\world\scenery." But we didn't create this directory. Is it possible you meant projectname\world\scenery, or is this literally correct, and we'll use the world directory later
3. It would be super useful to include the commands for moving the camera around. I did finally find the info, but it took some searching, and it would be great to have here. (I'm sure I'll forget eventually).
4. Adding the ctrl-middle mouse button click on the origin of the axes on an object switches between cartesian for moving the object to a sphere for rotating the object (I discovered that by mistake).

Thanks again :)
 
Last edited:
I've been using this guide with success, but using "placeholder-name" confuses me. I put in my ICAO instead. Is that OK?
 

Attachments

  • place.JPG
    place.JPG
    98 KB · Views: 46

scruffyduck

Administrator
Staff member
FSDevConf team
Resource contributor
I think so. I use icao-airportname for package names and icao-airport for the airport asset group
 
After the patch, as I start making a new airport, the Inspector window opens up "Transparent" and can't type anything, does anyone know how to fix this?.
 
I think so. I use icao-airportname for package names and icao-airport for the airport asset group

Thank you. I now have two airports compiling my sceneries and glTF model libs after a little syntax editing of my xml files, this with the Steam version of MSFS. Corrections were about naming, model folders with same name as the glTF's and the classic problem with slash contra backslash for the output paths.
 
After the patch, as I start making a new airport, the Inspector window opens up "Transparent" and can't type anything, does anyone know how to fix this?.

I lost my mouse function. Learnt to always have FS in windowed mode, then start the Dev Camera before opening anything. Seems the patch distorted input units bigtime...
 
Man, I'm sorry, but I am totally lost. I just lost 24 hours of work.

The instructions in the document aren't making any sense to me.
As I noted above, it says to create two directories, (scenery and world) but then it says to point to directories scene and scenery\world\scenery which don't exist.

The whole placeholder-name thing makes no sense to me, why not just call it what it will be up front? At what point do I change the placeholder-name name and how?

I don't want to create a whole new airport, I just want to create some exclusion polygons and add some default buildings, which isn't really covered in the document, but it seems to me all the information I need is there.

I followed all the instructions in the document to create the project and I went and created a bunch of polygons for exclusions and one for trees and I placed about 20 default Gen_hangar buildings. As noted above, I created the scenery\world\scenery and world directories in my project directory called TP_airport_KASH_Nashua_NH in the MyFSProjects directory.

Then I went back to page 8 and followed the instructions which I think are to create all the files that I'll move to the Community directory when I'm done. But it wasn't completely clear to me. Especially because the instructions say to run the command Build Project in the Project (Editor?) window... did you mean inspector window?

There is no command "Build Project" anywhere in the interface that I could find. There is a "Build All" command in the Project Editor window. There is a command "Build package" at the bottom of the inspector window. I ran both. It said it did a partial build.

It did create a PackageDefinitions directory, _PackageInt, a Packages directory, and my scenery\world\scenery directories are still there (all of them empty) and the world directory (empty).

In the TP_airport_KASH_Nashua_NH directory, along with all those directories is a KASH.dbf, KASH.shp, KASH.shx, KASH.xml files. The dbf, shp, and shx are new files today. I don't know if they were created by the Build All, Build Packages, or save project command.

The PackageDefinitions directory has flyingscool-kash.xml and a directory flyingscool-kash which contains MarketplaceData with my thumbnail and Marketplace.json and Contentinfo which has my Thumbnail.jpg

Packages has a directory flyingscool-kash which contains all the same data as well as layout.json and manifest.json

No bgl file was created as far as I can tell.

Is the program writing files somewhere else? It just seems like I entered the wrong paths, or it's writing to another directory that I have no clue exists.

Sadly, even though I said yes to saving the Project when I ran the Build package commands and Build All commands (and my project at least was still loaded after those ran) and I saw that no bgl file was created, and there didn't seem to be any information about what I did; I thought maybe the bgl flyingscool-placeholder-name should have been flyingscool-kash - I changed it, it brought up the bgl edit menu, I said load, and it erased everything. I'm totally lost.

Could somebody please answer my questions about the correct syntax here in the various fields that I've asked about?

Particularly page 5 of the instructions scene vs. scenery and what is the scenery\world\scenery that we're supposed to type in? Why type it in and not create it and select it? Is that even the right path?

What about the Build Project command that is called out on page 8? I can't find that command.

What files should be created? Should a .bgl file have been created if I did everything correctly given the steps I took?
What parts of the SDK should I read to understand this document better?

I realize it's a work in progress, but I don't know what to do.

Apparently when I changed the name of the asset, it just deleted what other asset information was in whatever it uses to save everything, rather than creating a new file or renaming the data store with the new name..... :ziplip:

The only thing I did right was create the thumbnail... sigh
 
Last edited:
Fortunately, now that I at least know all the buildings and options I want, the rebuild will go faster. An interesting side-effect of whatever it is that I'm doing is that now all the object choices are doubled in the object window o_O
 
Ok, It looks like I've got a conflict in my file names. The project is called KASH.xml...

When I save the scenery, the KASH.xml has all my buildings that I added in it.
but when I build the project, KASH.xml gets overwritten and basically points to the the xml file in the package.

I changed some names, and now it's not creating the Packages directory anymore.
 
I give up. There's something very wrong with naming procedures here. There's something I'm sure is very simple I'm missing.
When I click "Save Scenery" in the Scenery Editor, it saves the information to the same xml file as the project xml file is called.

So now, once again, I've lost all the work I did. I've backed up the files, but I can't figure out what to call what so when I read in the project, it also reads in the scenery file so I don't lose all my work of the project.

It's like the project xml is being used as a cache while you're working, then it just loses all the data when you save the project.

How do I name these files and fill in fields/create an xml that has both the project and scenery data so I can get my project back? I also have, as noted before KASH.dbf, KASH.shp, KASH.shx
Is the problem in OutputDirectory? Why is it the current directory? What should it be?

This is the project xml... KASH.xml

<Project Version="2" Name="KASH" FolderName="Packages">
<OutputDirectory>.</OutputDirectory>
<TemporaryOutputDirectory>_PackageInt</TemporaryOutputDirectory>
<Packages>
<Package>PackageDefinitions\flyingscool-kash.xml</Package>
</Packages>
</Project>

This is the file that gets written out when I save the scenery (overwriting the project file) ...KASH.xml

<?xml version="1.0"?>
<FSData version="9.0">
<!--SceneryObject name: Gen_Airport_Tower01-->
<SceneryObject lat="42.78012488735470" lon="-71.51587440645379" alt="0.00000000000000" pitch="0.001544" bank="-0.001544" heading="-147.859826" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="TRUE" snapToNormal="FALSE">
<LibraryObject name="{634B83BB-96A9-453D-8452-938F9804DE4F}" scale="1.000000"/>
</SceneryObject>
<!--SceneryObject name: Gen_Hangar01-->
<SceneryObject lat="42.78001424364480" lon="-71.51853345236597" alt="0.00000000000000" pitch="0.001544" bank="-0.001544" heading="9.066755" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="TRUE" snapToNormal="FALSE">
<LibraryObject name="{65B40360-EADB-4927-82CB-A5AF526F5377}" scale="1.000000"/>
</SceneryObject>

.... stuff deleted cause it's just the similar to the rest

<!--SceneryObject name: Water_Tank_Type02_Big-->
<SceneryObject lat="42.79471686475257" lon="-71.50695539643613" alt="0.00000000000000" pitch="0.000000" bank="0.000000" heading="-179.999995" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="TRUE" snapToNormal="FALSE">
<LibraryObject name="{830B4ADB-A72F-45F6-82C2-BF1F64FF81EE}" scale="2.357013"/>
</SceneryObject>
</FSData>
 
Ok, gotta go to bed.
I did finally get it to create two bgl's.. sort of accidentally I think.
I also figured out how to fool it into letting me load my old xml data by creating a file, changed the name of the file, copied the old xml in, and then I told it to load and it loaded the xml. Then it even compiled 2 bgl's (one for my poly's and one for my buildings?). But it neglected to add them to the layout.json. I did add the entries appropriately, but MSFS still doesn't see the scenery. didn't act on the scenery, so I don't know what else I did wrong. It does list my addon in the content manager, but, for whatever reason, the bgl's aren't working. I compared my file structure to one I've downloaded, and I think I've covered everything. the two bgl's are not empty. I don't know what else I did wrong.

When I opened up the project again, everything loaded, but it is no longer compiling the bgl's. I tried deleting the package, but no go. It keeps saying "partial package, nothing to do".

I didn't create an airport, I just created the poly's and suppressed the hangars I wanted to get rid of, and I added new default hangars in. Then I tried to compile. Did it once, never again.
 
Many thanks for the document. Do youy guys know how to add a 'landmark icon' to a scenery object?

 
Ok, gotta go to bed.
I did finally get it to create two bgl's.. sort of accidentally I think.
I also figured out how to fool it into letting me load my old xml data by creating a file, changed the name of the file, copied the old xml in, and then I told it to load and it loaded the xml. Then it even compiled 2 bgl's (one for my poly's and one for my buildings?). But it neglected to add them to the layout.json. I did add the entries appropriately, but MSFS still doesn't see the scenery. didn't act on the scenery, so I don't know what else I did wrong. It does list my addon in the content manager, but, for whatever reason, the bgl's aren't working. I compared my file structure to one I've downloaded, and I think I've covered everything. the two bgl's are not empty. I don't know what else I did wrong.

When I opened up the project again, everything loaded, but it is no longer compiling the bgl's. I tried deleting the package, but no go. It keeps saying "partial package, nothing to do".

I didn't create an airport, I just created the poly's and suppressed the hangars I wanted to get rid of, and I added new default hangars in. Then I tried to compile. Did it once, but hasn't done it since.
 
Ok, gotta go to bed.
I did finally get it to create two bgl's.. sort of accidentally I think.
I also figured out how to fool it into letting me load my old xml data by creating a file, changed the name of the file, copied the old xml in, and then I told it to load and it loaded the xml. Then it even compiled 2 bgl's (one for my poly's and one for my buildings?). But it neglected to add them to the layout.json. I did add the entries appropriately, but MSFS still doesn't see the scenery. didn't act on the scenery, so I don't know what else I did wrong. It does list my addon in the content manager, but, for whatever reason, the bgl's aren't working. I compared my file structure to one I've downloaded, and I think I've covered everything. the two bgl's are not empty. I don't know what else I did wrong.

When I opened up the project again, everything loaded, but it is no longer compiling the bgl's. I tried deleting the package, but no go. It keeps saying "partial package, nothing to do".

I didn't create an airport, I just created the poly's and suppressed the hangars I wanted to get rid of, and I added new default hangars in. Then I tried to compile. Did it once, but hasn't done it since.
Hi!

I shall look through the documentation and see if I missed anything.
With regards to u making small edits for a scenery I am afraid it is impossible - u really need to create a completly new airport. The system is notorganized like FSX/Xplane where u can lets say importdefault assets and then compile changes.
 
Hi!

I shall look through the documentation and see if I missed anything.
With regards to u making small edits for a scenery I am afraid it is impossible - u really need to create a completly new airport. The system is notorganized like FSX/Xplane where u can lets say importdefault assets and then compile changes.
Hi Drago,

It's actually kind of working. It is placing my buildings at the airport now. The only thing that's not working in the sim is it's ignoring my exclusion and vegetation/biome polygons.

What the scenery editor is not doing at all is populating the layout.json with the bgl information. It's got the thumbnail info info in it, but not the bgl info, even though it is placing the bgl in the packages directory. I had to edit the layout.json file by hand and add the field for the .bgl file.

I can't consistently create a bgl, I kind of can, it has to something do with filename-ing that is screwing me up and I haven't gotten my head around all the pieces yet. All I know is at first my data xml and my project xml had the same name, and when by screwing around I made them different, stuff sort of started working.

It keeps complaining "Couldn't find asset configuration during partial build for file E:blahblah.BGL" in the console window.
Interesting that it converted everything from PACKAGES onward in the filename it lists in the console to upper case, but it's creating the filename to lowercase when it creates the bgl (which it only sometimes decides to do). One of the things I realized was that when I initially hand created the layout.json entry, I accidentally had the extension capitalized. When I changed the entry to lower case, the buildings showed up in the sim. That may be coincidental, but, it was something I did and then it worked (my buildings showed up).

Given it's placing my new buildings, but ignoring my exclusion and vegetation/biome polygons, I'm wondering if I should be creating two bgl's, one for my buildings and one for my shape files? It seems to me there used to be an order dependency on .bgl's back in the day...

The system is also ignoring changes I make sometimes and not saving the scenery data to the scene directory, even though it recognizes there's a change. (that was my big mistake, I wasn't saving the data xml files to the scene directory. They were being saved to the root directory of the project. As soon as I corrected the asset directory to scene and copied the files there, it started creating the .bgl file.)

So at the moment, I'm just hacking my way through trying to get it to work.

I think I'll start over again and see if I can figure out what naming convention to be using for all the pieces. But there's definitely something wrong I did at the start as far as naming the various pieces. For instance, the package name says "There are strict guidlines..." I think there's a character limit on it they aren't saying in the help field. Should it just be <icao>-<name>? What is name? My name? The field name? How many characters? I started over and started calling the package scenery-nh-flyingscool-kash, but it stripped scenery- from the name of the package in the interface. (I like to organize my packages in community by type, by calling them "scenery-" or "airport-" or "livery-", etc.)

One question I do have.... at the start of the project definition, you don't state what to put in the "Output directory" field. I assume that's because we should just take the default, which is the project directory (".")?

I did figure out why you need to type the full path to scenery\world\scenery, because if you select it with the browser, it only puts "scenery" in the field. You may want to state that just so it's clear to people.

In the document, I think it would be helpful to create a graphical picture of the layout of the project directory and show what files go where, and what files end up getting created. I realize that's a lot of work, but, this is really complicated compared to what it used to do and getting a handle on all the dependencies will really help in debugging this stuff later.

Thanks for getting back to me.
 
Last edited:
Top