MSFS Livery Tools

MSFS Livery Tools

Latest release post: 1.7.2

MSFS Livery Tools is a windows application to help creating livery for existing aircraft on Microsoft Flight Simulator 2020. It deals with all bureaucratic steps of livery creation, so that you can focus on your creative work:

  • Package your livery and automatically create the needed files and folders.
  • Create texture maps from glTF files (including those already built for MSFS).
  • Extract images from glTF JSON files and compress them again to DDS format.
  • Convert selected DDS images to PNG and back to DDS.
  • Creating the directory structure of a package.
  • Creating an “aircraft.cfg” file based on the original aircraft and variation information.
  • Creating a “manifest.json” file (optionally based on the original manifest).
  • Creating a “panel.cfg” file and changing:
    • variation override;
    • external registration font color and stroke.
  • Creating and editing descriptive JSON files for DDS textures (.DDS.json).
  • Creating and editing flag file for textures (.FLAGS).
  • Creating and updating package layout files (“layout.json”).
  • Managing thumbnails (converting from capture tool, resizing and adding a placeholder).

Instalation and usage

Download and install latest release. A shortcut will be created in your windows menu. Refer to the wiki for help.

Some liveries created using MSFS Livery Toolkit


Pearl white DG1001e.


Satin blue + green and white decals Cessna 172 based on default livery.

6 Likes

A new version of MSFS Livery Tools has just been released! Version 1.4 now prevents the duplication of the airplane folder (thus preventing livery overlapping) and extracts textures and flags from fallback directories in “texture.cfg” (if the original livery lays inside the MSFS package folder). It also brings a nice splash screen while loading MSFS packages:

Settings window has been remodeled to reflect changes in v1.4:

00 Settings

MSFS Livery What?!?

If you are asking what do I mean when I say “MSFS Livery Tools”, it is a Windows application to help creating liveries for existing aircraft on Microsoft Flight Simulator 2020. It deals with all bureaucratic steps of livery creation, so that you can focus on your creative work:

  • Extract images from glTF JSON files and compress them again to DDS format.
  • Package your livery and automatically create the needed files and folders.
  • Creating the directory structure of a package.
  • Creating an “aircraft.cfg” file based on the original aircraft and variation information.
  • Creating a “manifest.json” file (optionally based on the original manifest).
  • Creating a “panel.cfg” file and changing:
    • variation override;
    • external registration font color and stroke.
  • Creating descriptive JSON files for DDS textures (.DDS.json)
  • Creating and updating package layout files (“layout.json”).
  • Managing thumbnails (converting from capture tool, resizing and adding a placeholder).

The latest release can always be found here.

Revision 1.4.1 is out! It corrects a bug which prevented texture extraction in some cases.

The lates release can always be found here.

New release 1.5 has just been published! It has a new action to convert selected DDS files to PNG (instead of converting all textures from a model). It also copies the corresponding .flags files to the texture folder.

The latest release can always be found here.

MSFS Livery Tools 1.6 now creates texture maps for any model! Also known as UV maps, these images are of really great help while creating liveries, but there were few ways to create them – and they did not work in every case, paintkits not always being available.

Paintkits are not needed anymore: now MSFS Livery Tools creates UV maps for any aircraft model!


Texture maps over the texture I created for my Vertigo livery. I can now see what I was painting.

Got Friends’ Vertigo is one that gave me a great headache texturing my livery, since I could not extract the UV map with any Blender plugin and did not find any paintkit. Now I would be able to create my own paintkit using MSFS Livery Tools.

The task is easily done: go to the “Tools” menu → “Create texture UV map”, select a destination folder for the texture maps, the texture you want to map, and the aircraft glTF model: you will get PNGs for each mesh primitive in the aircraft model, telling you where your painting will be placed. Put them on layers at your preferred image editing software and paint at a blank layer below.

The latest release can always be found here.

wont install. Many errors while trying on win 10 64

What happened, @blueline308? Which version?

@blueline308, I’ve just released a new revision (1.6.1) with checks for proper application and project configurations. Maybe this helps you (I don’t know if this is your case).

The latest release can always be found here.

New revision: 1.6.2! This revision:

  • corrected a bug which prevented the creation of adequate DDS descriptors for some texture file names;
  • stopped overwriting descriptor files when packaging;
  • started copying descriptors when extracting textures, the same that already happened with “.flags” files.

The latest release can always be found here.

1.6.1 works for me. The installation package. I had to click the windows button and type in msfs to find the shortcut it installs and I had to download the other exe for the program to link to. Then the windows user gui pops up when I run it.

In the help menu the online resource is dead. “usage” and “texture” tips tutorial links a dead. 404 errors on github.

Can I use just photoshop 2023 for making liveries or do I need 3ds max to “paint” the textures?

Oh and thank you so much for creating this interface/tool.

1 Like

Thanks for the feedback, @QuantumTyphoonZ ! I’ve just corrected the links at Github.

There is no need to use a 3D tool since version 1.6.0. Even texture maps can now be created inside MSFS Livery Tools. You will only need to use a 3D software if you want to change something on the 3D model itself.

There are some tips on the forum about ultra-high quality liveries which suggest modifying the model, but in my opinion most use cases are satisfied with flags at “.json” ("FL_BITMAP_QUALITY_HIGH") and “.flags” (_DEFAULT=+QUALITYHIGH) files. For this, you’ll have to manually edit them and use the most recent version (1.6.2 now). My intention is to add in-app functionality to deal with those files in version 1.7.0. Using bigger texture images (4096x4096 or even 8192x8192 pixels) also helps.

There is also the case of eliminating or modifying some original livery features. Many of the original MSFS liveries come with a “livery” texture, which defines colors (albedo) or composite details, while the shape is defined in the model file. While simply eliminating those meshes cannot be done inside MSFS Livery Tools right now, you can edit the texture files to have transparent areas where you don’t want to mantain the original details, or change the colors at your wish.

For the above livery, besides changing the base albedo and composite files, I changed the livery textures to have my own decals and colors:

(C172SP_AIRFRAME_LIVERY_ALBD.PNG.png – it is used for decals and actually has transparent background)

C172SP_AIRFRAME_LIVERYCOLOR_ALBD.PNG

(C172SP_AIRFRAME_LIVERYCOLOR_ALBD.PNG.png, stripe colors).

For this other livery I’ve done yesterday, I used transparency on the areas of the rudder livery and put my own logo on the fuselage albedo texture (and also trimmed the composite file):

(Savage_Cub_Airframe_livery_albd.png.png – the white area above is actually transparent at the PNG. That hole corresponds to the rudder area.)

(Savage_Cub_Airframe_fuselage_albd.png.png – the channel logo was put on the fuselage albedo file.)

You can also eliminate those stripes by simply using totally transparent textures. In a future version, I’ll add a tool for manipulating some glTF model features.

I went well beyond your question about 3D software, but this explanation will hopefully help you and other users. :wink:

I attempted to use your software but I can’t get it to work all the time. #1 when I use it to extract official aircraft, I can then extract lbdo,lbdo1 gtif texture files but there are no airframe texture files, only interior cockpit files. This is for the official livery add on folders. #2 for example (e.g) the Fa18 (super hornet) sim object folder contains models and textures. In models there are no exterior texture files. Program randomly hangs when extracting. Requiring me to start again. #3. Payware with no livery addon folder. Program hangs 50% of the time when extracting gTIF texture files or .bin files. And I can’t find the exterior files.

I fully understand how transparency files work. Gif’s. Png’s. Even Tif files.

I wish you would post a screen capture video on how this works.

Thank you for the new feedback! I plan to make a video how-to this week. I’ll try to answer your doubts as well as possible:

  • Sometimes, I stumble upon a bug while using the software. It happened with the Savage Cub (for which I’ve made revision 1.6.2), and it happened again with your tip on the F/A-18. I’ll look it better and create a new revision shortly. While this doesn’t happen, you can use the “Convert DDS file” to extract the textures inside the “texture” (or “texture.something”) folder. If there is a missing texture, you should look at the fallbacks inside the “texture.cfg” file, until I create the revision. This button should be used to convert textures from liveries without a model file too.

  • The airframe textures can usually be extracted using the corresponding airframe model. E.g.: Extra-330 has a “E330_LOD00.gltf” for the exterior view and a “E330_interior_lod00.gltf” for the cockpit view – “E330_LOD00.gltf” should be used to get the exterior textures. Let me know if it doesn’t happen with another aircraft, giving the details.

  • As for the payware, I need at least a screenshot of the related folders. If it doesn’t have separate texture files, this tool won’t be able to extract the textures now – I theoretically know how it should be done, but I don’t have anything to test on, and testing a generic glTF file with embedded textures may not work, since Asobo extensions are very peculiar.

  • This software has no use case in which you should select “.bin” files directly.

I’m sure you know how transparency works. I only said all that because it isn’t immediately clear how those files are used in the models and there are at least two use cases (one to simply define colors, the other with a more classical texture map), and both live outside the main fuselage and wing texture files. It may help some users, not necessarily you.

Once again, thank you for the feedback, It is an invaluable contribution!

I’ve just opened an issue at Github for the F/A-18 related bug. You can open issues there too for other bugs, describing in details what happens (which airplane you’re working with, which file, and most importantly the terminal output at the secondary MSFS Livery Tools window that appears at the taskbar). I’ll fix them ASAP.

New revision available! New on 1.6.3:

  • Can deal with references to missing folders in “texture.cfg” (as in the F/A-18E default livery).
  • Can deal with image URIs with path components in glTF files (as in the F/A-18E default external livery).
  • Corrected interface restoration after cancelled texture map extraction and “layout.json” update.

Thanks @QuantumTyphoonZ for reporting the problem with F/A-18E!

The latest release can always be found here.

I clicked on uninstall. I then removed the msfs livery tools folder from program files(x86) and reinstalled 1.6.3.

  1. Open msfs livery tools.
  2. click on new project.
  3. select new folder on secondary ssd.
  4. click on aircraft tab.
  5. choose location of payware aircraft>sim objects>model.
  6. click Extract textures, opens up window and I navigate to model folder within sim objects. Very first 3d file is 1kb. I click that
    and the program goes grey. I still can click on project, aircraft, and registration tabs, but extract textures, convert dds file, are
    all greyed out.
  7. Exit program after 2 minutes. click yes when asked to save project? Yes. Program exits.
  8. Folder is 85 bytes in size. 1/2 kb.
  9. I attempt it all over again. This time I open project. Then link directory with “choose” button. And extract 2nd file which is 1.4 mb in size. Once again
    all tabs are greyed out except for project, aircraft, and registration. But I can’t input any text because the fields are greyed out.
    The installation directory is on my system ssd with uac permission. The project folder is on my third ssd without uac permission. Ok. I copied the plane from directory to third ssd without uac permission. I made new folder for fa18 super hornet. You can see in images after extraction program greys out. Then all I can click on is uv map or help. Click on uv map and nothing happens. Lets see if I can post pictures.

    Capture11
    Capture112
    Capture113
    Untitled-1aaaa

    Untitled-1bbbbbbbbb

program does not extract textures from .dds files. Last image is from “textures” and only show’s .png files.

MSFS Livery Tools revision 1.6.4 is out! New in it:

  • Extended the ability to deal with image URIs with path components inside the glTF files to the texture map creator (useful for, e.g., the F/A-18E exterior model).
  • Better messaging after conclusion of texture map creation (informs how many maps were created or if it was not possible to find a mesh for the chosen texture file).
  • The texture map creator now works in a separate process, with its own window. This avoids freezing the interface during texture map creation.

The latest release can always be found here.

Feel free to reply to the topic! This has been marked as “solution” only to make it appear right after the initial post.

Good evening Quantum Typhoon Z! I’ll try to break down everything you wrote, but I apologize in advance if I’m not clear on my explanations – I’m overtly sleepy now :zzz:.

The first thing I want to clarify is what the “extract textures” button do – and why I’ve been wondering if it should be renamed:

  1. It reads the selected glTF model and searches for image references inside it.
  2. Tries to find the referenced images (DDS files) in the filesystem. If they can’t be found in the ..\texture folder, it follows the fallback paths defined at ..\texture\texture.cfg file.
  3. It converts all the DDS files it finds and save them as PNG files at your project’s texture folder.
  4. It copies the corresponding texture descriptors (“.DDS.json”) and flags (“.flags”) to the same folder.

What should you see on your project’s texture folder? A bunch of files with the following extensions: “.png”, “.dds.json” and “.flags”. They’re the files you’re probably going to work with.

Of course, you may prefer to use a Photoshop plugin or another tool to deal with DDS files, but the presented behavior seems to be more useful to most people, specially those who are beginning to create liveries (like me, when I started this project). Maybe I should add a “collect DDS button” that does not convert textures to PNG? That’s a possibility, but it doesn’t seem to be a necessity right now. Please, tell me if you think different.

This is the first answer to your latest post. There will be more.

PS: I’ve published a new revision today, which deals with texture map creation.

Secondly, the “base container” folder should not be the “model” folder, but the folder immediately under “Airplanes”. The “base container” setting should look like this:

You did it correctly with the F/A-18E and a problem here should not hinder the texture extraction.

Thirdly, it is expected that the action buttons gray the interface out, since they depend on the project settings and these settings should not change when actions are running. The problem is that the interface should be available after the action is concluded. There is a way to find out if there was an unexpected error in this process: open the terminal window.

image

If there is an error, it will look like this:

That part from “Exception” to the bottom is what will appear if an error happens. This is probably the case if the program freezes. If there is something like this, please send me.

You mentioned UAC protection. Have you tried to run MSFS Livery Tools as administrator? If this works, that is the problem I have to solve. Simply copying the folder should not change permissions, but it may allow you to override this setting. I have moved all my packages to a custom location, and so I can’t test this.

One note: you probably have read permission to those files, and this should be enough. You only need write permission to your project and packaging folders.