Invalid icao_type_designator in default aircraft causes failed model matching fallback

:wave: Thank you for using the Bug section, using templates provided will greatly help the team reproducing the issue and ease the process of fixing it.

Are you using Developer Mode or made changes in it?

Yes, but same behaviour without devmode.

Have you disabled/removed all your mods and addons?

Yes, same behaviour with or without addons.

Brief description of the issue:

Filed on zendesk as #187656
Justification to mods for making a new thread vs posting in existing threads: There are other threads about similar topics, but this is a specific solution to a specific problem, not complaining about it not working, and not speculation about why it’s not working. This is the actual reason and fix.
I have only tagged ms-store, but this likely is the same for all platforms.

TL;DR:

  • Multiplayer model matching fails to fall back to the correct base aircraft if a user is using a custom livery not installed on your pc. This is a common complaint. (For example, default F/A-18 with custom livery being replaced by giant generic airliner).
  • The fix for this is correcting the icao_type_designator to a valid icao designator in the default aircraft affected.
  • This will take 30 seconds per aircraft to fix.

Background:
When a user is using a default plane with a custom livery on multiplayer, the sim’s model matching will often fail to fall back to the correct plane. For example, a Cabri G2 with custom livery will show up as a Bonanza lookalike to other players, and an F/A-18 with a custom livery will show up as a generic 2 engine airliner to other players. This is seen frequently in community flights.

The sim is actually able to fall back to the correct installed model in such cases, but is being blocked by those default planes (and many third party planes) using invalid ICAO type designators. This function only works correctly if the ICAO designator is valid according to the official ICAO database.

Changes required to respective aircraft.cfg:

For F/A-18 Hornet: change icao_type_designator =“FA18E” to icao_type_designator =“F18S”.

For Cabri G2: change icao_type_designator = “Cabri” to icao_type_designator = “G2CA” (model and designator swapped)

For Bell 407: icao_type_designator =“Bell 407” to icao_type_designator =“B407”

For Goose G-21:
(This plane’s info is also incorrectly formatted)
icao_type_designator =“G21”
icao_manufacturer =“GRUMMAN”
icao_model =“G-21A Goose”
icao_engine_type =“Piston”
icao_engine_count =1
icao_WTC =“L”

For PC-6: icao_type_designator =“PC6” to icao_type_designator =“PC6T” (some versions missing quotation marks)

For DC-3: icao_type_designator =DC-3 to icao_type_designator =“DC3” (+formatting, missing quotation marks)

For LS8: icao_type_designator =“MXS” to icao_type_designator =“LS8” (ICAO for this plane is completely wrong and actually for an aerobatic plane, MXS-R)

For DG1001: Currently DGF and incorrectly formatted, should most likely be “DG1T”, but the DG-1001E is not in the ICAO database.

Savage Shock Ultra: Entirely missing most icao info from aircraft.cfg!

(I have not checked encrypted aircraft)

Info to 3rd party devs:
This works the same in 3rd party aircraft. Please use a valid icao_type_designator to have your aircraft model match with custom liveries for your aircraft.

Provide Screenshot(s)/video(s) of the issue encountered:

current:


fixed:

Detailed steps to reproduce the issue encountered:

1: Read the SU12 SDK documentation to see that this is how model matching works.
2: Set up PC A with an aircraft listed in the description and a custom livery for that aircraft. PC B should not have the custom livery. (This can be done by removing the aviator’s club liveries on one pc instead, but remember to restart the sim before proceding).
3: Load both PCs near each other, observe on PC B that PC A’s aircraft is swapped with a generic AI plane.
4: Correct the icao_type_designator on that aircraft on both PC’s.
5: Restart both sims and repeat the test.
6: PC B will now see PC A as the correct default plane (with fallback to a default livery), as long as there’s no other causes preventing it like too many models nearby or traffic variety setting too low.

PC specs and/or peripheral set up if relevant:

Build Version # when you first started experiencing this issue:

This has been happening forever, but especially prevalent since the F/A-18 was released and even more after the 40th anniversary update where almost every plane is wrong.


:loudspeaker: For anyone who wants to contribute on this issue, Click on the button below to use this template:

Do you have the same issue if you follow the OP’s steps to reproduce it?

Provide extra information to complete the original description of the issue:

If relevant, provide additional screenshots/video:

That is some seriously excellent detective work!

4 Likes

Great work! For the benefit of developers, correct ICAO type designators can be searched for here:
https://www.icao.int/publications/DOC8643/Pages/Search.aspx

3 Likes

I wish this had more visibility. even 3rd party stuff is wrong half the time.

2 Likes

It kills me that this issue isn’t getting way more attention. It would improve the multiplayer experience by a lightyear if I didn’t see F/A-18s as giant, yellow, pointy-nosed turbofans. I also can’t stand that default aircraft will show up as generic when I don’t have the livery sometimes.

I’m confused about a few things regarding model matching, though. If I understand correctly that the sim checks the ICAO designator to find a model/livery to use, why do I often see generic models for third party aircraft that I have installed and seem to use the correct ICAO designator. For example, I’m pretty sure LVFR’s A321neo ICAO designator is correctly displayed as A21N, but I never have seen model matching work with that aircraft, or LVFR’s other variants. Unless I’m mistaken, I should have the same exact aircraft and liveries as everybody else for that aircraft, so what’s the problem with model matching there?

Furthermore, I have almost all of 4Simmers A320neo livery packs installed. I notice an inordinately large proportion of A20Ns that I come across in multiplayer use the A320neo Corporate liveries. This is clearly a livery mismatch, so I’m assuming they are using some 3rd party livery that I don’t have installed, but I’m confused as to why it would always be a corporate jet livery? Why wouldn’t it just use one of the default ones or maybe choose a random one from the selection that I have installed?

Clearly I still don’t understand a lot about how the sim handles model matching, but I know for sure that it doesn’t do it well. Really detracts a lot from the immersion for me.

It should in theory first try to match the simtitle exactly (the full unique name of the aircraft addon and livery), then if it fails use icao designator and pick a random livery variant. I’m not sure if it does a check at all to attempt to match livery and icao if the exact simtitle isn’t found.
If you’re seeing generics where you should have icao matches, make sure TRAFFIC VARIETY is set to ULTRA in traffic settings if you’re on pc. That setting limits the amount of different models in your scene, to reduce memory usage.

1 Like

I’m on Xbox, so traffic variety is fixed for us. I’ve considered that as a possibility, but I think it happens even when an A21N the only one around (since I fly with no live traffic, only multiplayer).

Obviously this wouldn’t fix the issue where the sim will pick a ridiculously wrong model type for an aircraft you don’t have installed. For example, how I will see F-14, F-16, F-22 etc as an Airbus when I have the F/A-18 installed and that’s clearly a better match. I guess that the aircraft.cfg needs some kind of ‘generic type’ indicator so that the model matching could find the thing you have installed locally that most closely matches that.

This might actually be the most immersion-breaking thing in the whole sim, for me, as someone who often attends the Friday group flights. So much so that I’ve bought multiple (cheap, I’m not that spendthrift) aircraft that I don’t and probably never will fly, just to have the model available.

I still think that a manual model-matching config file so you could specify ‘for icao_type_designator x, always substitute icao_type_designator y’ would be a quick and easy solution.

1 Like

I agree that the aircraft devs should be using the proper ICAO aircraft designators.

The issue is that this was never enforced at the get-go, such as making this a required field that broke the plane if an official ICAO wasn’t used. The aircraft devs I’ve talked to regarding this never realized that, by not using the official ICAO, it would prevent their model from being seen when people created custom liveries. Asobo did a poor job documenting how their multiplayer model matching works, and only recently updated their SDK documentation to mention that the official ICAOs were checked against.

At this point, I don’t believe the devs would update their aircraft configs and re-release their product unless it was forced upon them to do so, which could cause some transition issues.

In the meantime, a freeware app will soon be released that will essentially fix the ICAO issue being experienced by everyone without Asobo having to do anything.

As taken from the SDK, this is the order of precedence for how multiplayer aircraft are seen.


Note For Multiplayer Aircraft

For an aircraft to be visible in a multiplayer situation, the user viewing the aircraft must have the package installed, otherwise a substitute aircraft will be shown. Even with the correct base package installed, if they don’t have the same livery title available then they may see an aircraft of the same characteristics based on the ICAO designator for the aircraft, as given by the icao_type_designator parameter. The following flowchart illustrates how this works:

It is important to note, however, that if the user has selected to only view generic aircraft within the simulation options, then none of the above will be applied and only appropriate generic aircraft will be shown.


Also, buried in the dev mode section (which Asobo kept separate for some reason and some devs, like myself, don’t use the built-in tool) is this segment:

  • Type Designator: The ICAO type designator of the plane. It can be different to the ATC Type field. All possible values are available from the [ICAO official database] For example the Airbus A320 Neo you would have “A20N”. Note that this is the parameter that will - in part - govern which aircraft are visible in a multiplayer scenario. Please see [Note For Multiplayer Aircraft] for more information.

I tried to change the designator info, but the nametags still shows up as FA18E and so on (and not F18S like your screenshot), what am I doing wrong?
path is 
\asobo-aircraft-fa18e\SimObjects\Airplanes\Asobo_FA18E
and this is the section in the aircraft.cfg:

[GENERAL]
atc_type =“TT:ATCCOM.ATC_NAME BOEING.0.text”
atc_model =“TT:ATCCOM.AC_MODEL_FA18E.0.text”
Category = “airplane”
performance =“TEXT TO ADD”
icao_type_designator =“F18S”
icao_manufacturer =“BOEING”
icao_model =“FA18E Super Hornet”
icao_engine_type =“Jet”
icao_engine_count =2
icao_WTC =“M”
icao_generic=0

Sorry, I didn’t notice this reply sooner.
If you edit it it will appear on your nametag for other players, and if they have also edited the tag you will both see the correct plane. It’s not enough that you’re the only one with the correct tag.
It needs to be fixed by the aircraft dev, or the model matching needs to not require valid tags.
The M3 model matching tool can now edit the sim’s icao list, so that’s a workaround.

Gotcha, and no worries.

M3 seems to do the trick for now.