[BETA RELEASE] MSFS Livery Toolkit for MSFS 2020 and MSFS 2024

EDIT: since the tool is now available in beta I thought I’d put this link to the home page right at the top:
Home | MSFS Livery Toolkit

As the successor to my ImageToMSFSKTX2 script, I’ve been building an all new application that is intended to deal with all the back-end drudgery of livery creation - called MSFS Livery Toolkit! A typical workflow will be:

  1. Launch MSFS Livery Toolkit
  2. Pick the base aircraft (the app will scan your choice of aircraft folders, such as Community folder or MSFS Addon Linker folders)
  3. Create a new project, set title, etc
  4. Create one (or many) liveries in the project - also define texture fallbacks for texture.cfg, set ATC ID and other things that would appear in aircraft.cfg / livery.cfg.
  5. Using the base aircraft as a reference, choose which textures will be included in your livery. The are various ways to sort and filter the sometimes long list of textures used in the base aircraft, to help find the right ones. After that, the app can create placeholders at the correct resolution and filename, which you can then overwrite with your artwork.
  6. From the livery texture panel you can open source artwork (e.g. PSD, Gimp or Affinity) if present. The app will read the texture flags from the base aircraft and use those as defaults, but you of course can override them.
  7. The app will also generate placeholder thumbnails with the correct size and filename, ready for you to overwrite with the real images.
  8. When your livery is ready, you can press compile and my app will call the MSFS SDK to compile the textures into a finished livery, ready to use in the sim!

This is going to be a completely free application for the community, I’m not going to monetize it (besides an entirely optional donation button) or lock anything behind a premium tier. I’m doing it because I’m a livery painter who also enjoys building tools like this!

I think it’ll be ready to publish within a few weeks. If anyone can commit to testing an early build and providing much-needed feedback then please let me know! Some additional hands-on testing will be helpful since I tripled my testing work by ensuring the tool supports all three livery types:

  • MSFS 2020
  • MSFS 2024 Simple
  • MSFS 2024 Modular

I will get ahead of one point now, while the application requirements were 100% created by me, the code was written using VSCode with the Claude Code add-in. I know there’s some stigma around AI, “vibe-coding” and resulting “AI slop”; I’m pretty adamant that is not the approach I’ve taken. I paid for a Claude Pro subscription to help me convert my requirements into specifications and ultimately instructions that Claude Code could then implement. The application was carefully planned, with milestones and countless hours of human testing and refinement. Simply put, this thing wouldn’t exist without Claude, I’d be limited to cumbersome 90s style Batch files like ImageToMSFSKTX2!

Here are a few screenshots of work-in-progress.



That sounds awesome, I’ve always wanted to create my own but never found the time to learn through all the procedures required. Looks like your tool may speed up the process and make it simply easier, thank you.

“Hey kids. Paint daddy’s plane for him”

Other pilots: “My eyes! My eyes!”

Looking forward to it though :+1:t2:

Looks easy to understand. Can’t wait to create my own liveries using this.

I get it - and I’m rooting for you. This is a fantastic idea, and Claude is exactly the kind of tool that helps bring projects like this to life. Don’t let anyone discourage you!

I have some MS2020 liveries which I’d love to convert to MS2024 (I tried the freeware conversion with no success) I think your new program could help.

I began a similar project but it’s shelved due to other obligations. It’s great to know someone is working on streamlining the livery creation process! Looking forward to using it!

I’ve made good progress. I’d love it if anyone here would be happy to volunteer for some testing - I guess we can call it a “closed beta”.

The workflows I would be looking for test coverage on are:

  • Building an MSFS 2020 livery
  • Building an MSFS 2024 “simple” / “monolithic” livery (i.e. uses the older non-modular simobject structure)
  • Building an MSFS 2024 modular livery

And it would be great if we could get some testers who use the Steam version, since I can only test on the MS Store version. I’m still very happy to get testing feedback from MS Store users, but getting at least one Steam user would help knock off something I simply cannot test for myself.

If anyone would like to test the latest build please DM here, or on Discord (flaknine), or email theflaknine@gmail.com - I’ll send you a download link.

Note that we should not use this forum post or forum DMs for any support / bug reporting, in order to comply with forum rules. Probably best to use email or Discord messages for that.

First of all, thank you for all the time and effort you’ve put into creating this tool and for making it available to the community for free. I always have a lot of respect for people who spend their own time building tools and helping others.

I was wondering if it might be easier to publish a beta or nightly build on GitHub instead of running a closed beta. That way, anyone interested could test it, and GitHub already has a great system for reporting bugs, opening issues and suggesting improvements.

Just a thought - I completely understand if you have reasons for keeping the testing closed for now.

Thanks for the kind words. The project is already managed in a Github repo, however it’s private.

While I’m 100% keeping this as a free tool for the community, I do still want to retain ownership of the code since a lot of work has gone into this (even with Claude actually writing the code), hence not making a public repo. Maybe I’m paranoid or overly protective, and maybe my position will change on this, but for now I’m going to keep it as a private repo. I think I’d be OK inviting a hand picked group of testers to that repo for testing - I’ll give that some thought.

I’ve flip-flopped a few times while developing this, as to whether to make it all public or not. There are definitely pro’s to making it public, such as transparency, bug tracking and an easy way to push new releases, however I’ve seen real cases where work is stolen and published by others (regardless of any license terms in the repo), hence my current stance.

Good news, a beta version of MSFS Livery Toolkit is available here.

I created that new public repo for distribution, issue tracking and documentation, while keeping the source in a private repo.

It would be great to get testing and feedback from some community livery artists. As mentioned above, let’s not use this forum for support, in order to comply with forum rules. You can open an issue on the Github repo if you have bugs, problems, feature requests. However I’d love to see any general discussion about this tool here on the forum.

Edit: one point I forgot to mention - currently there is no support for aircraft in the Virtual File System. That means no stock or marketplace aircraft. However this is next on my roadmap, and planning is progressing well.

Support for stock / marketplace aircraft is coming along nicely. The app can interrogate the VFS (if mounted) and lets you build a project with a VFS base aircraft. I still need to verify the rest of the workflow with a VFS aircraft but so far so good. Providing I don’t hit my weekly token limit on Claude Pro subscription I should have a new build ready soon!

OK so here is new beta build v0.1.100 with a substantial changelog! I haven’t updated the online documentation yet.

WHAT’S NEW SINCE v0.1.97

New:

  • Stock and Marketplace aircraft are now usable as a livery’s base aircraft, read live from MSFS’s Virtual File System - start Dev Mode’s VFS Projector (Tools > Virtual File System > Start) before using Discover, and a green “VFS” tag marks these aircraft alongside your own Community-folder ones.

  • Most work (editing details, browsing/painting textures, generating placeholders) keeps working from a cached snapshot even after you stop the VFS Projector again - only adding a brand-new livery or extracting fresh artwork from the base needs it running at that moment. This is untested against a Steam install of MSFS (MS Store installs are confirmed working) - if you’re on Steam, let me know how it goes either way.

  • A “Recheck connection” button on the VFS banners lets you confirm the app has noticed you’ve restarted the VFS Projector, without navigating away and back.

  • A “Paintkit artwork” panel on each texture shows the base’s matching source file (.psd/.afphoto/.xcf) when auto-detected, and lets you browse for a different file when the base’s paintkit files aren’t named to match (common in practice) - your choice is remembered per livery.

  • Modular (2024) liveries: you can now edit their airline/parking-type/parking-code/ATC-id fields after creation on the Details tab, matching what monolithic liveries could already do.

  • The Settings page contains a user edit-able texture exclusion list, designed to avoid cluttering the texture selector with items you are unlikely to want to paint, such as “rivet”, “tire”, etc.

  • Extracting a texture that exists as more than one compiled copy across different folders now shows which folder each copy came from, to help you pick the right one.

  • The “MSFS is running” warning is now two-tier: informational when your open livery isn’t deployed anywhere the sim would actually load it (safe to keep editing), a stronger warning when it is.

  • Some base textures that ship uncompressed at 16-bit-per-channel (rather than the usual compressed format) can now be extracted correctly, with full 16-bit precision preserved by default (toggle in Settings).

  • The nav pane’s collapse/expand button has been removed - it stays open at its (already narrow) width.

Known issues:

  • If you stop and then restart the VFS Projector, extracting artwork from the base can occasionally hang indefinitely right after the restart. If this happens, closing MSFS entirely (which also stops the VFS Projector) clears it. Waiting a few seconds after restarting the VFS Projector before extracting anything may help avoid it. A proper fix is in progress.

More features added to the MSFS Livery Toolkit. Here’s what’s new in v0.1.103

  • Check fallback coverage: a new “Check fallback” button (on the Textures tab and in the Edit-fallback screen) checks every texture the base aircraft needs and tells you whether each one is covered by your own painted image (“In livery”), inherited from the base through your chosen fallback (“In aircraft”), or “Missing” - the last of which would show up as a pink checkerboard in the sim. Missing textures are flagged in pink, and for inherited ones it shows which fallback resolves them. The Compile page also shows a (non-blocking) warning if any livery has missing textures, so you can catch it before building.
  • Delete a livery: you can now remove a livery from a project. It’s on the Project page (down in the Liveries list, marked with a red trash icon) rather than the everyday Liveries tab, since it’s destructive - it permanently deletes that livery’s deployed folder AND its source-artwork files, and asks you to confirm first.
  • Clear a thumbnail: each thumbnail now has a “Clear” button, so if you pick the wrong image you can wipe it back to empty and regenerate a placeholder or replace it.
  • Your Recent and Pinned project lists on the Home page now show the green “VFS” tag when a project’s base aircraft comes from the Virtual File System, matching the tag in the aircraft picker.
  • New liveries no longer guess a texture selection: the first livery you create for an aircraft you’ve never used before now starts with nothing pre-selected (the old automatic “all albedo” guess pulled in images you usually didn’t want), so you pick deliberately. Once you’ve made a selection for that aircraft, later liveries still default to it as before.
  • The busy spinner now tells you when it’s reading from the Virtual File System, which can take a while as the data streams in - so a longer wait on a VFS aircraft looks intentional rather than stuck.
  • Assorted UI tidying on the Liveries page: status messages (“Saved…”, etc.) now appear in one consistent spot instead of blending into nearby labels, and some panels/spacing were made steadier.

Version 0.1.121-beta is available on the MSFS Livery Toolkit homepage - the landing page has also been spruced up!

Combined changelog for v0.1.106 + v0.1.116 + v.0.1.121

  • MSFSLayoutGenerator is now bundled - you no longer need to download it separately or point the app at it. (If you’d rather use your own copy, you still can: Settings > MSFSLayoutGenerator path.)
  • Destructive actions - deleting a livery, removing a texture, clearing a source image or thumbnail, overwriting an image - now show a red confirm button, so the risky choice is clearly marked and the safe “Cancel” is the plain one.
  • Texture rows now show a larger preview when you hover over them, for a clearer look at each image than the small swatch in the list.
  • Modular aircraft - pick your variant when adding a livery. Many modular aircraft come in variants (for example the A330’s engine/fuselage options, the C-130 Long/Short or the Kodiak’s cargo/skydive/amphibian configurations). When you add a livery to one of these, the app now asks which variant you are painting. This sets the livery’s tags so the sim only offers it on the matching variant - in earlier versions, allowing liveries into the “wrong” variant caused stability issues. The use of variants also trims the texture list down to just the textures that variant actually uses.
  • Far fewer false “missing texture” warnings on modular aircraft. The fallback-coverage check now understands how a modular aircraft resolves its textures from the base, so it no longer flags hundreds of textures as missing when they are actually fine, and it hides engine/system textures you cannot paint.
  • Closing MSFS is now detected for stock/marketplace (VFS) aircraft. If you quit MSFS without stopping the VFS Projector first, the app now correctly treats the Virtual File System as disconnected, instead of still listing stock/marketplace aircraft that are no longer available.
  • Texture names no longer disappear when the window is narrow. On the Liveries > Textures list the filename now keeps a minimum width and shortens with an ellipsis rather than vanishing entirely, and the panel on the right now gets out of the way when no texture is selected, leaving a lot more room for the list.
  • The texture flags and paintkit artwork panels are now a single panel with a close button, so you can deselect a texture and hand that space back to the list.
  • Project lists now show the aircraft. Recent and pinned projects on the Home page show the base aircraft after the project name, so a project whose name does not say what it is for is still identifiable at a glance.
  • “Browse to open project.json…” now always opens in your projects root folder, as set in Settings, instead of wherever the file dialog happened to be used last.

You’re on a mission! :grin:
Great project man. Wish I had more free time to help you test, but at the moment I can’t really give you anything valuable. I’ll try and use it soon though. Amazing idea.

Random thought: since Got Friends announced that the DOG IS BACK, do you think you could adapt this tool (or a spin-off version) to let users upload photos of their pet and semi-automate the task of wrapping it onto the cockpit (co-Pilot) avatar?

I assume for now there is only one model (Milo the dog) but knowing Got Friends it won’t be long before they add all the others (dogs AND cats) they had in their 2020 ‘Avitars’ pack.

I do have something in the pipeline kinda related to your dogs and cats idea… not quite the same thing but it should be fun, while being different to the Got Friends Avitars. It’ll be a low-cost paid-for addon. Keep an eye out for news on that, I’ll make a post when it’s ready. It’s been on the back-burner for a while, as I’ve shifted focus to the livery toolkit.

One very cool new feature in v0.1.133 - extract UV maps from the aircraft model! There are a few very minor glitches in the wireframe but they don’t impact overall usability to help in guiding your livery painting.

As usual, you can get the update here.

WHAT’S NEW

  • Extract UV maps from the base aircraft! :grin:. On the Liveries > Textures list, each texture now has a “create UV map” button (the UV+ icon on hover): it reads the base aircraft’s 3D model and saves a wireframe of how that texture wraps the model, as _UV.png next to your artwork. Overlay it in your paint program to see exactly where each part of the plane sits on the texture - a real help when there’s no published paintkit. A small “UV” badge marks textures that already have one. Works on both 2020 and 2024 aircraft.
  • Settings now saves automatically. Every setting is applied the moment you change it, so you can no longer leave the Settings page and lose your edits. The Save button is gone - a note at the bottom confirms changes are saved automatically.
  • Clearer Compile page message for stock/marketplace (VFS) aircraft. When the Virtual File System isn’t connected, the toolkit can’t check texture coverage - it now says so as plain information rather than showing it as a missing-texture warning.
  • Paintkit artwork panel now lists every accepted format (.psd, .afphoto, .xcf) when no paintkit file is found, instead of only mentioning .psd. When a file IS found, a new button opens it straight into whatever image editor you have set up for that file type, labelled “Edit in (application name)”.

Version 0.3.156 (Beta) of the MSFS Livery Toolkit is available.

A summary of all changes after the version I previously posted here is:

  • Tidier application folder. The package now opens to a clean folder: just “MSFS Livery Toolkit” (the program you double-click) and the README, with all the supporting files tucked into an “app” subfolder out of the way. Same app - just far easier to find the thing to run. (If you used an earlier build, note the program to launch is now the “MSFS Livery Toolkit” icon at the top, not the exe buried among the other files.)
  • Paint.NET files now count as paintkit source artwork. Alongside .psd, .afphoto and .xcf, the toolkit now also matches .pdn files when linking a texture to its editable source art.
  • Settings now flags the Steam build option as untested (since I don’t own it!)
  • Steam version: fixed issues with the Discover Aircraft button, and the ability to find stock and marketplace aircraft. Earlier builds could only find these on the Microsoft Store version of MSFS; the toolkit now also checks the Steam version’s file location. This fix is a best guess but has been confirmed as working by one tester.
  • Compile MSFS 2020 liveries without the SDK or simulator installed at all. A new option in Settings (next to the MSFS 2020 SDK path) switches texture compiling over to a small bundled encoder, Microsoft’s own texconv/DirectXTex, instead of driving the official SDK and simulator, so you can keep making 2020 liveries even after uninstalling MSFS 2020 and its SDK. Switched on automatically if no MSFS 2020 SDK is found on your machine; otherwise it’s off by default, and existing SDK-based compiling is completely unaffected either way. This is the first release of this feature, please flag anything that looks off with the compiled textures.
  • Compile page: a launch button for each sim you have installed. A 2020 livery can be tested in either MSFS 2020 or MSFS 2024, so the Compile page now shows a launch button for each one that’s actually installed on your machine. MSFS 2024 liveries still only launch MSFS 2024, since that’s the only sim they work in.
  • Extract from base: option to also create separate AO / Roughness / Metalness images. When extracting a composite (metal/rough/AO) texture from the base aircraft, you can now also save the AO, Roughness, and Metalness channels out as their own separate images alongside the usual extracted texture. Your choice is remembered for next time.

I added a “Paintkit Builder” feature to the newest build 0.4.164-beta. You can find it in the lower left corner of the application. The Paintkit Builder automates the process of making a rudimentary paintkit for cases where the dev hasn’t provided one. Obviously it won’t be as good as a real paintkit with dedicated layers for dirt, weathering, dust, etc. However it is enough to get you started! More details here.

Here’s a screenshot of the Paintkit Builder UI - note it includes local aircraft and those from the VFS, although unfortunately I cannot support encrypted VFS aircraft. You will need to pester the aircraft developer for a paintkit for encrypted aircraft.


And here is an example of what it creates. You’ll get a layered PSD, as per your choice of layers to include.