Native Airline Modding (MOD) - Beginners Guide - create your own airline(s)!

I just finished creating all my Airline Companies (US/Canada/Mexico major Airlines) and I decided to share how I did it and what specifics I used for each step with examples. I have not created my aircraft liveries yet. I will be doing that next. This guide is just to show how to set up each airline with blank/white aircraft liveries. I hope this helps anyone that is just starting to learn how to Mod for the first time and anyone else that has struggled like I did in the beginning. My examples are Mac specific.

I have used the Official ACEO Airline & Livery Modding Guide (Link below) and followed it step by step with picture to help guide you through the process.

Happy Modding!


Table of Contents


1. Helpful Links

APCEO Mod Page:

Official ACEO Airline & Livery Modding Guide

ACEO Airline Mod Development Kit:

https://drive.google.com/drive/folders/1aMe6SuZ5Pv7C4cnWaOoPSGqST6faB0RT

Tutorials:



Official ACEO Airline & Livery Modding Guide

This guide briefly explains how to create a new mod and add your custom airline(s) and liveries to Airport CEO. The guide is still in draft mode and will be updated as we add new features to the mod system.

Updated: 2018-05-29


2. Modding Principles

The current Airport CEO modding capabilities are limited to business, airline and livery editing. New airlines can be added with a suitable logotypes and fleet livery. Airport CEO imports data from the application data folder as per below.

Windows:

C:\Users[YOUR USER]\AppData\Roaming\Apoapsis Studios\Airport CEO\Mods

Mac:

~/Library/Application Support/unity.Apoapsis Studios.Airport CEO/Saves

Airport CEO will also read data directly from the Steam Workshop folder if a workshop mod has been subscribed to. This folder is automatically managed by Steam so there is no need to copy or change any files there.

Download the ACEO Airline Mod Development Kit here:[
https://www.airportceo.com/modding


Creating a Mod

The first step to create a new mod is to setup a native mod so that it can be recognized by Airport CEO. Once the native mod is created you can choose to publish this mod to Steam Workshop.


  1. Download the Example Mod from the SDK website. https://drive.google.com/drive/folders/1rsX8vcn7JkyKxSB9KByCbUBsrEL___NT

SDK Website:

Download Example Mod File:

Also download Livery Files from SDK Website:

Open Download folder:

Unzip both files:


  1. Copy the content into a new folder in the Airport CEO mod data path (See below) and rename the folder to your preference.

Windows
Navigate to ([YOUR USER] should be replaced by your own username):
C:\Users[YOUR USER]\AppData\Roaming\Apoapsis Studios\Airport CEO\Mods

Mac OS
Press Shift + Command + G and input the following to the input box:
~/Library/Application Support/unity.Apoapsis Studios.Airport CEO/Mods

Move SDK Website (Example Mod) Folder to location stated above (Mac example):

Move Livery Folder to a folder on your desk top or location of your choosing:

These files you will edit later in a photo editing program to create your own liveries.

  • PNG Folder (one layer image - how the file should be saved when put into airline folders later)

  • PSD Folder (pre-layered imaged used to edit in layer capable photo editing software program (i.e. Photoshop, Gimp (Free), etc…)


  1. Open ModData.json in a text editor like Notepad and fill in the name, description, author, version and iconFileName. The iconFileName should correspond to a preview image placed in the same folder. Do not edit or change id or publishedFileID as these will be auto generated once your mod is picked up by Airport CEO. Once the mod is loaded, the game will generate random ID and Steam will generate the Published File ID if the mod is later submitted to Steam Workshop. These IDs will then be the unique identifiers for the mod and should not be changed once generated.

  2. Edit the mod content as you wish as per above instructions.

ModData.json file location:

  • Icon.png - image used for your company (The iconFileName should correspond to a preview image placed in the same folder.)

  • ModData.json - Open ModData.json in a text editor like Notepad and fill in the name, description, author, version and iconFileName. The iconFileName should correspond to a preview image placed in the same folder. Do not edit or change id or publishedFileID as these will be auto generated once your mod is picked up by Airport CEO.

  • Readme.txt - The same instructions you see here in a .txt file

ModData.json file opened:

Edit in text editor (example below):

Change icon.png file to your iconFileName and add a picture to it or replace it with a .png image of your choosing (I left the MOD image there):


  1. When you mod is ready, start Airport CEO and navigate to the Modding menu. Your mod should now show up under Native Mods if everything is done correctly. In order for the game to load the mod locally you must also activate it by clicking on the red X which should then change to a green checkmark.

Open up APCEO and click on Modding:

Click on the red X next to your Company and change it to a green check mark:


  1. Once the mod has been confirmed to work locally you can decide to upload it to Steam Workshop by clicking on the Upload button in the Native Mods list. Allow at least 15 minutes or more before your mod is visible on the Steam Workshop page. Should you wish to do any changes to the mod after the mod is submitted, simply click the upload button again and it will update your existing mod.

  2. If you wish to download your own mod vi Steam Workshop you will need to go to the Airport CEO Workshop page and subscribe to your mod before it is visible under the Steam Workshop Items list in the game.

  3. Saves can be uploaded directly from the “Continue Airport” panel and will automatically generate the required files. No need to edit the ModData.json unless you wish to edit the description, name or preview image. Note that this can also be done via the Steam client at a later stage.


3. Creating a Custom Airline

  1. Create a new mod as per the instructions above. Use the to the Example Airline as a template. https://drive.google.com/drive/folders/1ZP-xVb-JtPrLh10N8Urq2DTfB6O_dPyj
  2. Change the folder name to your airline name and make sure you have the following folder structure:

…\Airport CEO\Mods[Your Mod]\Companies\Airlines[Your Airline]

Airline Folder Set up this example:

Add as many airlines as you like by duplicating the Example Airline Folder and re-naming it to your Airline you want.

Each Airline Folder will include (just like the Example Airline Folder):

  1. Aircraft Folder - One of these folder must be in Airline Company folder (i.e. Delta Folder) for each aircraft you have and Named for that specific aircraft (i.e. A319, A321, B737800, etc.). Each Aircraft Folder will in include:
  • Aircraft_Mod.png image - These are also located in the Livery folder found in the 2nd download from the SDK Website. You will edit these files (specifically the pre-layer PSD files mentioned above - and then saved back to PNG when done editing) to the livery of your choice. This file along with the liveryData.json file should both be in the Aircraft folder. This file must have the correct spelling as the Livery folder or Example Airline Aircraft folder and must match the liveryData.json (“liveryFileName”:“A319_Mod.png”) text.

  • liveryData.json file - Also located in Livery Folder you saved before. These Files do not get changed but they need to be the correct file for the correct aircraft. (i.e. Aircraft folder is A319 and Aircraft livery image is A319_Mod.png. The liveryData.json file should be the liveryData.json file specific for the A319 Aircraft.)
    These files DO NOT GET EDITED or RENAMED!

  1. Airline.png image - This is the logo for the airline company. It is best to use a transparent background so that it looks great in the game. This image will show up in the Contract, the Flight Planner top left corner when you click on an Airline and in the Flight Planner rescheduling window when you click on a flight that is scheduled.

  2. Airline_Inv.png image - This is the (inverse) logo for the airline company as well. Depending on the background color you choose (explained later) depends on the background for this image. This image will only show up on the flights in the Flight Planner.

  3. Mod.json file - This is the file where you edit the Airline Company info including:

  • Name - Must be different than any other airline name you have in the same Airline Folder.
  • Description - Description of your airline.
  • Logo image path name - This must match the .png image name.
  • Inverse log image path name - This must match the _Inv.png image name.
  • Company CEO name
  • FlightPrefix - IACO (3 letter) or IATA (2 letter) airline designator.
  • Airline Fleet - Only the aircraft you want in the fleet for that specific airline. A comma after each aircraft except the last one.
  • Flight scheduler background & text RGBA color - RGB is for Red, Green Blue spectrum colors (All RGB as 255 is white and all as 0 is black) and A is for transparency spectrum (0 = transparent/no color & 255 = non transparent)

liveryData.json file text
"aircraftType":"A319",
"liveryFileName":"A319_Mod.png",

  • Both of these MUST match the Aircraft folder name and the Aircraft_Mod.png file name (should match already in the Example Airline Folder and should not need to be changed)


  1. Open the mod.json file in a text editor like notepad. Enter your airline details and the fleet the airline operates. You cannot add new aircraft types as of now as that is not supported yet. Also, do not change the value of businessType and isCustom.


  1. Create a logo as PNG with the size of 256x256 or 512x256 and copy it into the folder. Edit the field logoPath in the JSON-file and name it according to the logo file, including the PNG extension. If you want to have a inverted or alternative logo you can create a new that file as mention and rename the invlogoPath. This logo will show up with the custom background color and text color which is also customizable in mod.json. Note that the standard logo should work on a white background and the inverted logo should work with the custom background color.


  1. That was it! Now save all files and restart Airport CEO and your new airline should spawn after a while in the offered contracts panel.

4. Multiple Liveries

( per Aircraft for an Airline - File Organization)
  • From what I have read in other posts, this feature is currently not working in the game and only the first folder (Livery) for the aircraft will load at this time.

One folder for each livery of the same aircraft and name them (no other changes need to be done to files for aircraft):

Aircraft Livery# Aircraft Folder Name
A321 #1 A321_1
A321 #2 A321_2
A321 #3 A321_3
A321 #4 A321_4
A321 #5 A321_5
A321 #6 A321_6
A321 #7 A321_7

… and so on


5. Twocflyers Airline Example


Specific guidelines for each airline I created are as follows:


File organization example:

Airlines Folder >

> [Your Airline folder(s)] >

> Aircraft folder(s) & [.png] logo & [_Inv.png] logo & Mod.json file >

> Aircraft livery [_Mod.png] file & liveryData.json file


[Delta.png] file example (Delta):
Delta_Inv


[Delta_Inv.png] file example (Delta):
Delta_Inv


[Mod.json] file example (edited for Delta Air Lines):

{  
   "name":"Delta Air Lines",
   "description":"Delta Air Lines, Inc., referred to as Delta, is one of the major airlines of the United States and a legacy carrier. It is headquartered in Atlanta, Georgia. The airline, along with its subsidiaries and regional affiliates, including Delta Connection, operates over 5,400 flights daily and serves 325 destinations in 52 countries on 6 continents. Delta has nine hubs, with Atlanta being its largest and it is ranked second among the World's largest airlines by number of scheduled passengers carried, revenue passenger-kilometers flown, and fleet size. It is ranked 69th on the Fortune 500.",
   "logoPath":"Delta.png",
   "invLogoPath":"Delta_Inv.png",
   "businessType":4,
   "CEOName":"Ed Bastian, CEO",
   "flightPrefix":"DAL",
   "fleet":[  
      "A319",
      "A320",
      "A321",
      "B737600",
      "B737800",
      "B757200",
      "E190"
   ],
   "isCustom":true,
   "backgroundColor":{  
      "r":255,
      "g":255,
      "b":255,
      "a":255
   },
   "textColor":{  
      "r":0,
      "g":50,
      "b":104,
      "a":255
   }
}

[A319_Mod.png] file example (blank livery):


[liveryData.json] file example (this file does not get edited):

{  
   "aircraftType":"A319",
   "liveryFileName":"A319_Mod.png",
   "pixelSize":150,
   "liveryComponent":[  
      {  
         "name":"Fuselage",
         "layerOrder":2,
         "slicePosition":{  
            "x":0,
            "y":3
         },
         "sliceSize":{  
            "x":3956,
            "y":437
         },
         "position":{  
            "x":-2.29,
            "y":0,
            "z":0
         },
         "rotation":0
      },
      {  
         "name":"Engine1",
         "layerOrder":0,
         "slicePosition":{  
            "x":2,
            "y":460
         },
         "sliceSize":{  
            "x":487,
            "y":220
         },
         "position":{  
            "x":1.63,
            "y":-4.346,
            "z":0
         },
         "flip":{  
            "x":0,
            "y":0
         },
         "rotation":0
      },
		{  
         "name":"Engine2",
         "layerOrder":0,
         "slicePosition":{  
            "x":502,
            "y":462
         },
         "sliceSize":{
            "x":486,
            "y":220
         },
         "position":{
            "x":1.63,
            "y":4.346,
            "z":0
         },
         "flip":{
            "x":0,
            "y":0
         },
         "rotation":0
      }
   ]
}

AIRLINES & AIRCRAFT (US/Canada/Mexico):

I went to: Airfleet.net to find out which aircraft each company used. I did use the B737600 along with the B737800 for a company that had multiple B737s in their fleet. I also substituted the E175 for the E170 etc.

Airline Aircraft
Aeromexico B737600 | B737800
Air Canada A319 | A320 | A321 | B737800
Alaska Airlines A319 | A320 | A321 | B737600 | B737800 | E190
Allegiant Air A319 | A320
American Airlines A319 | A320 | A321 | B737600 | B737800 | B757200 | BAE146 | E190
Delta Air Lines A319 | A320 | A321 | B737600 | B737800 | B757200 | E190
Frontier Airlines A319 | A320 | A321
Hawaiian Airlines A320 | ATR42
Interjet Airlines A320 | A321
JetBlue Airways A320 | A321 | E190
Southwest Airlines B737600 | B737800
Spirit Airlines A319 | A320 | A321
Sun Country Airlines B737600 | B737800
Sunwing Airlines B737800
United Airlines A319 | A320 | B737600 | B737800 | B757200
VivaAerobús A320 | A321
Volaris Airline A319 | A320 | A321
WestJet Airlines B737600 | B737800

LOGOS:

  • Full color logos with transparent backgrounds for both .png & _Inv.png files.

  • Size: 512 x 256 pix (can also use 256 x 256 pixels)

Examples:

Volaris Volaris.png

Hawaiian Hawaiian.png

Allegiant Allegiant.png


BACKGROUNDS & TEXT:

I did two color options. Shown (above/below) in the pictures and the one I liked the best is a white or transparent background with the full color logos/text. I think it pops and makes the scheduler look really nice. I also did a second option which I can load in at any time that has a color background for the fight strips and white logos/text. The only problem with that option was that the thinner text logos looked more pixelated. I do need to edit the colors on that one as well. For example the background color for Hawaiian was showing as red instead of a purple. So that and another few things need to be fixed for the 2nd option.

  • Background: 225 for each R/G/B & A

  • Text: I chose a color from the logo (most of the time the darker color) with A as 225. I got most of the colors from this website (SCHEMECOLOR) with a few exception of getting the colors by using Gimp photo editor.

Text Color Table:

Airline Text Color R G B A LOGO
Aeromexico Blue 14 51 95 255 blue/red
Air Canada Black 0 0 0 255 red/black
Alaska Airlines Blue 0 56 95 255 Blue/Transparent-white bkg
Allegiant Air Blue 2 86 155 255 Blue-yellow/white-trans
American Airlines Blue 57 73 88 255 red-white-blue
Delta Air Lines Blue 0 50 104 255 blue/red
Frontier Airlines Grey 36 129 104 255 Green/Grey
Hawaiian Airlines Purple 157 23 141 255 Purples
Interjet Airlines Dark Blue 18 27 125 255 light/dark blue
JetBlue Airways Blue 0 56 118 255 blue
Southwest Airlines Blue 46 74 176 255 Blue/Red/Yellow
Spirit Airlines Black 25 25 25 255 Black
Sun Country Airlines Blue 0 72 133 255 Blue/Orange
Sunwing Airlines Orange 227 119 57 225 Orange
United Airlines Blue 0 93 170 255 Blue
VivaAerobús Green 87 161 82 255 Green/Red
Volaris Airline Purple 150 53 130 255 Black/Purple/Green/Blue
WestJet Airlines Dark Blue 55 65 106 255 Blue/Torquise

DESCRIPTION & CEO:

  • I got this info all from Wiki. For the description I usually just copy and pasted the first paragraph of the wiki airline page. make sure there are no bracket [ ], " " or ( ) as they will mess with he .json file when the game reads it.

CEO Table:

Airline CEO
Aeromexico Andres Conesa Labastida
Air Canada Calin Rovinescu
Alaska Airlines Brad Tolden
Allegiant Air Maurice J. Gallagher Jr.
American Airlines Doug Parker
Delta Air Lines Ed Bastian
Frontier Airlines Bill Franke
Hawaiian Airlines Peter R. Ingram
Interjet Airlines Miguel Aleman Magnani
JetBlue Airways Robin Hayes
Southwest Airlines Gary C. Kelly
Spirit Airlines Ted Christie
Sun Country Airlines Jude Bricker
Sunwing Airlines Mark Williams
United Airlines Oscar Munoz
VivaAerobús Juan Carlos Zuazua
Volaris Airline Enrique Beltranena
WestJet Airlines Ed Sims

FLIGHT PREFIX (Airline designators):

  • I decided to go with IACO (3 letter designator) instead of IATA (2 letter designator). I like it better and it more resembles the actual airline name. This does work in the Game/Flight Planner/Flight Schedule BTW.

Flight Strips:

image

Flight Schedule:

Table for IACO & IATA designators and Callsigns:

Airline IATA IACO Callsign
Aeromexico AM AMX AEROMEXICO
Air Canada AC ACA AIR CANADA
Alaska Airlines AS ASA ALASKA
Allegiant Air G4 AAY ALLEGIANT
American Airlines AA AAL AMERICAN
Delta Air Lines DL DAL DELTA
Frontier Airlines F9 FFT FRONTIER FLIGHT
Hawaiian Airlines HA HAL HAWAIIAN
Interjet Airlines 4O AIJ INTERJET
JetBlue Airways B6 JBU JETBLUE
Southwest Airlines WN SWA SOUTHWEST
Spirit Airlines NK NKS SPIRIT WINGS
Sun Country Airlines SY SCX SUN COUNTRY
Sunwing Airlines WG SWG SUNWING
United Airlines UA UAL UNITED
VivaAerobús VB VIV AEROENLACES
Volaris Airline Y4 VOI VOLARIS
WestJet Airlines WS WJA WESTJET

FINAL PRODUCT


Contracts:


Airline Flight Schedule Tabs:


Flight Planner:


I’ll be adding regional companies (i.e. SkyWest, Aeromexico Connect, Envoy, etc…) in the future and then eventually adding more International Companies. But first I need to make some aircraft so that I can start making pretty much any domestic US based airport. :smiley:

Hope you like what I have created!! Time to go design some aircraft!!!

Can’t wait to make each aircraft!!!

4 Likes

Here are my logos I edited myself to fit the 512 x 256 pixel size if any of you want to use them There are 3 for each company.

  1. White logo with transparent background (hard to see this one)
  2. Color logo with transparent background
  3. color logo with white background

Aeromexico

  1. White logo with transparent background (hard to see this
    Aeromexico_Inv
  2. Color logo with transparent background
    Aeromexico
  3. color logo with white background
    Aeromexico_Inv2 Aeromexico_Inv2.png

Air Canada

  1. White logo with transparent background (hard to see this one)
    AirCanada_Inv AirCanada_Inv.png
  2. Color logo with transparent background
    AirCanada AirCanada.png
  3. color logo with white background
    AirCanada2_Inv AirCanada2_Inv.png

Alaska Airlines

  1. White logo with transparent background (hard to see this one)
    Alaska_Inv Alaska_Inv.png
  2. Color logo with transparent background
    Alaska Alaska.png
  3. color logo with white background
    Alaska_Inv2 Alaska_Inv2.png

Allegiant Air

  1. White logo with transparent background (hard to see this one)
    Allegiant_Inv Allegiant_Inv.png
  2. Color logo with transparent background
    Allegiant Allegiant.png
  3. color logo with white background
    Allegiant_Inv2 Allegiant_Inv2.png

American Airlines

  1. White logo with transparent background (hard to see this one)
    American_Inv American_Inv.png
  2. Color logo with transparent background
    American American.png
  3. color logo with white background
    American_Inv2 American_Inv2.png

Delta Air Lines

  1. White logo with transparent background (hard to see this one)
    Delta_Inv Delta_Inv.png
  2. Color logo with transparent background
    Delta_Inv Delta.png
  3. color logo with white background
    Delta_Inv2 Delta_Inv2.png

Frontier Airlines

  1. White logo with transparent background (hard to see this one)
    Frontier_Inv Frontier_Inv.png
  2. Color logo with transparent background
    Frontier Frontier.png
  3. color logo with white background
    Frontier_Inv2 Frontier_Inv2.png

Hawaiian Airlines

  1. White logo with transparent background (hard to see this one)
    Hawaiian_Inv Hawaiian_Inv.png
  2. Color logo with transparent background
    Hawaiian Hawaiian.png
  3. color logo with white background
    Hawaiian_Inv2 Hawaiian_Inv2.png

Interjet Airlines

  1. White logo with transparent background (hard to see this one)
    Interjet_Inv Interjet_Inv.png
  2. Color logo with transparent background
    Interjet Interjet.png
  3. color logo with white background
    Interjet_Inv2 Interjet_Inv2.png

JetBlue Airways

  1. White logo with transparent background (hard to see this one)
    JetBlue_Inv JetBlue_Inv.png
  2. Color logo with transparent background
    JetBlue JetBlue.png
  3. color logo with white background
    JetBlue_Inv2 JetBlue_Inv2.png

Southwest Airlines

  1. White logo with transparent background (hard to see this one)
    Southwest_Inv Southwest_Inv.png
  2. Color logo with transparent background
    Southwest Southwest.png
  3. color logo with white background
    Southwest_Inv2 Southwest_Inv2.png

Spirit Airlines

  1. White logo with transparent background (hard to see this one)
    Spirit_Inv Spirit_Inv.png
  2. Color logo with transparent background
    Spirit Spirit.png
  3. color logo with white background
    Spirit_Inv2 Spirit_Inv2.png

Sun Country Airlines

  1. White logo with transparent background (hard to see this one)
    SunCountry_Inv3 SunCountry_Inv3.png
  2. Color logo with transparent background
    SunCountry SunCountry.png
  3. color logo with white background
    SunCountry_Inv2 SunCountry_Inv2.png

** Sunwing Airlines**

  1. White logo with transparent background (hard to see this one)
    Sunwing_Inv Sunwing_Inv.png
  2. Color logo with transparent background
    Sunwing Sunwing.png
  3. color logo with white background
    Sunwing_Inv2 Sunwing_Inv2.png

United Airlines

  1. White logo with transparent background (hard to see this one)
    United_Inv United_Inv.png
  2. Color logo with transparent background
    United United.png
  3. color logo with white background
    United_Inv2 United_Inv2.png

VivaAerobús

  1. White logo with transparent background (hard to see this one)
    VivaAerobus_Inv VivaAerobus_Inv.png
  2. Color logo with transparent background
    VivaAerobus VivaAerobus.png
  3. color logo with white background
    VivaAerobus_Inv2 VivaAerobus_Inv2.png

Volaris Airline

  1. White logo with transparent background (hard to see this one)
    Volaris_Inv Volaris_Inv.png
  2. Color logo with transparent background
    Volaris Volaris.png
  3. color logo with white background
    Volaris_Inv2 Volaris_Inv2.png

WestJet Airlines

  1. White logo with transparent background (hard to see this one)
    WestJet_Inv WestJet_Inv.png
  2. Color logo with transparent background
    WestJet WestJet.png
  3. color logo with white background
    WestJet_Inv2 WestJet_Inv2.png

3 Likes

Nice Work!
Just a hint, i allways rename the png of the livery to something corresponding to the airline like:
A320_westjet.png but then you need to adjust this in the liverydata.json
it is easier then to search for liveries i guess :slight_smile:

1 Like

Thats a good idea, but I don’t feel like changing each liveryData.json file lol. I have all my aircraft in folders for each airline. I then alias those folders to the game airline folders so that I don’t have to save them in multiple places. Thanks for the heads up though :smiley: