With X-Plane 12.4.0 now available, let’s take a deeper dive into some of the changes concerning X-Plane developers!

I am unusually tardy with this post, so I would first like to apologize for the delay. I chose today’s title mostly because of multi-threading… but also because I’m all about family. And the X-Plane family has certainly come together over the holidays with our latest release.

12.4.0 is out now – Introducing some significant performance upgrades, A330 Improvements, Tobii integration, new art assets, and much more. We’ve been furiously working on this for quite a while in the latter half of 2025, and we are happy to see such a well-received reaction. I personally frequent Discord, Reddit, the Org forums, AVSIM, and other Facebook groups, and we want to make sure users are feeling more heard.

One thing that has impressed me of late is the amount of creations going on. RealOps is breaking ground with its ground-handling plugin. The wonderful scenery innovations by X-Codr. New career mode plugins. More people are trying out aircraft development. New developer tools/pull requests from XP2B. The community has been cooking lately!

More importantly, we’re focused on giving you guys and gals more features to create in X-Plane. This is going to be a big focus for some upcoming updates of ours. (No, that isn’t a reference to scenery… that comes later). But more on that another day!

So let’s get into what’s new for this update…


SDK Changes

SDK 430

SDK 430 is now available and compatible with X-Plane 12.4.0 or newer.

Warning: the 4.3.0 SDK incorrectly identifies itself as version “421” in the version included in X-Plane 12.4.0. Despite this, all entry points are present. The version number is corrected to 430 to match published docs as of X-Plane 12.4.1.

Official Changelog

Other Noteworthy Changes

  • Fixed an error where users might get the message “The sim destroyed an instance during the dag!” when using add-ons (XPD-17441)
  • Improved documentation of XPLM_MSG_DATAREFS_ADDED (XPD-17317)
  • Fixed return value of XPLMGetVirtualKeyDescription (XPD-17397)

Future SDK changes

We will/should be adding access to additional basemaps/terrain data in a future update.

What happened with plugins during 12.4.0?

The short story here is, we found quite a few plugins calling X-Plane functions before it was fully loaded, which is a big no-no. I’ve asked Ben to make a blog post in his free time about further details on this, and how you can best avoid such incidents in the future.

Can you improve documentation on this?

Short answer: Yes
Long answer: I don’t think it’s any secret that we’re in the middle of a large documentation revamp, so there will be plenty of forthcoming changes. When we’re ready to communicate more, we shall!


Performance Improvements

The glorious future is here! Or at least, partially. X-Plane now takes advantage of multi-threading for scenery only. I strongly encourage you to read Sidney’s post about it here, and make sure you understand performance here. But here are a few Q&A’s

Should I expect massive amounts of increases?
It depends on your hardware and what the bottleneck was in the first place. If you’re GPU-limited (which is your GPU Compute time taking longer than your CPU), you are unlikely to see any benefits

Is this the end of multi-core/threading improvements?
No! Please see Sidney’s post for a full outline. Additionally, 12.4.1 will have additional performance improvements.

Will this help my multi-monitor setup?
Not inherently, as this is geared towards the scenery system. We have plans to address multi-monitor displays and further parallelize that work. This is not a short-term item, and I would suggest you read Sidney’s article.

Are you working on device losses?
Yes, but with caveats. We know it occurs disproportionately more with AMD devices. However, we found user feedback to be particularly poor. Throughout 12.4.0 beta, we decided to enable a “partial flavour” of AMD aftermath by default, and this should help us get one step closer to diagnosing these issues.

For the bug trackers here, we have XPD-17857, if you want to follow along.

How can I help?
Contact us via support, and they will give you further instructions. And be prepared to submit Aftermath reports!


New Assets

WED artists, we won with this update. Petr and Justin have created a brand new round of assets, fulfilling some long-requested items.

Segmented Circle
lib/airport/markings/segmented_circle

Wind Tees (Currently Not Animated)
lib/airport/markings/wind_Tee

Signal Square (Common for small EU airfields)
lib/airport/markings/signal_square

New Glider Models: ASK-21 & Ventus 3
lib/airport/aircraft/gliders

Animated Cranes
lib/vehicles/static/tower_crane

Construction Material Objects: Cable Wires, Wooden Pallets, Steel Pipes, Concrete Pipes, Cement, PVC Pipes, Concrete Blocks, Steel Beam
lib/industrial_area/construction

VHF Dipole Antenna Tower
lib/airport/radars/VHF

RV/MotorHomes/Trailers
lib/vehicles/static/RVs

Camping Equipment: Tents, Chairs, Tables, Coolers
lib/public_area/camping

Completely Revamped Modern Cars
lib/cars

New Taxis
lib/cars

Pavements: Asphalt, Concrete, Grass, Mosaic, Tiled, Mulch, Grates (Pavements are 0.15m AGL, if you wish to place objects on top)
Documentation Here
lib/airport/ground/sidewalk_15cm

Planter Objects: Grass, Bushes, Rock Shrubs
lib/vegetation/planters

Fences: Mesh, Metallic, Stone Wall, Wooden
lib/vegetation/planters

Road Bumps
lib/airport/ground/roads/speed_bumps

We’ll certainly be back with even more assets in future updates (for those who attended our Discord Developer Stream over Christmas, if you know… you know). But my personal thanks to Petr and Justin for knocking these out of the park.

A Note On Grass…

Some of you will be looking at that grass polygon with a swooning desire to place large swathes of it over your airfields…

PLEASE, PLEASE, PLEASE…. DO NOT DO THIS!

This is a one-way track to performance degradation, and we will block gateway submissions that abuse this! We have also dreamed that one day the world will be filled with lush grass to touch. But this is not the device to get there. Keep your grass planter objects in small, localised areas.


Gateway Update

Finally, we have our latest round of Gateway airports by our incredible WED artists. I’m working with Julian to get more updates to you, but I’m in awe at some of the work being done by the artists lately.

Don’t forget that Worldeditor 2.7 Beta is also available to try (although you will not be able to submit gateway airports with this). This provides the ability to flatten the default mesh (default mesh only!)

(Note: This list is not a complete representation of all changed/added airports)


Australia

YAYE — Ayers Rock

YHGI — [H] Hogan Island

YMAY — Albury

YNBA — [H] Nubeena

YPAR — [H] Port Arthur

YRKB — [H] Rokeby Police Academy

YRTN — [H] Railton

YSHD — [H] Sheffield

YTSI — [H] Tasman Island

YTUL — [H] Tullah

YWDM — [H] Waddamana

YWTH — [H] Waterhouse Island

Austria

LOAV — Vöslau

LOKR — St. Donat-Mairist

LOLO — Linz-Ost

LOWG — Graz

LOWZ — Zell am See

XLO0002 — [X] Leopoldsdorf

XLO000B — Ameis

Bahamas

MYIG — Matthew Town

Belarus

UMMG — Hrodna

XUM000A — Shchuchyn

Belgium

EBBT — Brasschaat airfield

XEB0005 — [H] Oostdijckbank Platform

XEB0006 — [H] OSY-OS1ST Heliport

Bhutan

VQPR — Paro Intl

Bosnia and Herzegovina

XLQ000B — Lazy Horse Ranch

Brazil

SBGR — Gov André Franco Montoro

SDXX — [H] Fazenda Santa Vitoria

SNDU — Ponta do Sol

SNLO — Sao Lourenco

SSHK — Fazenda Jaguarandy

XSB000V — SiCPA

Bulgaria

LBBG — Burgas

Canada

C24 — Mineral County Memorial

CAK3 — Delta Heritage Air Park

CYFR — Fort Resolution

CYUY — Rouyn Noranda

CYVQ — Norman Wells

CYYU — Kapuskasing

XC002V — [S] Pistol Lake Seaplane Base

XC00DF — Minaki

China

XZ0036 — Zhongshan Sanjiao

XZ003F — Dunhuang Mingshashan

XZ003I — Yangjiang Heshan

ZLDH — Dunhuang

Czech Republic

LKPR — Praha – Ruzyne

XLK0009 — Hláska

DEU

ED1C — [H] Uniklinik Frankfurt a.M.

Democratic Republic of the Congo

XFZ0003 — Boma

Denmark

EKOD — Odense/Hans Christian Andersen

EKSP — Vojens / Skrydstrup

Estonia

EETN — Lennart Meri Tallinn

FRA France

2051 — [X] Cavallo

Finland

EFHK — Helsinki Vantaa

France

LFGI — Dijon Darois

LFPN — Paris Saclay Versailles

LFRC — Cherbourg Manche

LFYG — Cambrai Niergnies

Germany

EDAB — Bautzen

EDAZ — Schönhagen

EDBC — Magdeburg/Cochstedt

EDFM — Mannheim City

EDHM — Hartenholm

EDRM — Traben-Trarbach Mont Royal

EDTM — Mengen-Hohentengen

EDTR — Herten-Rheinfelden

EDWI — Wilhelmshaven JadeWeser

XED001U — [H] LRZ Schkeuditz / Dolzig

Germany (civil)

XEDB2 — Fürth-Seckendorf

Greece

LGSK — Alexandros Papadiamantis

Greenland

BGCO — Nerlerit Inaat

BGKK — Kulusuk

Hungary

LHKE — Kecskemét (Titán)

Iceland

BIIS — Isafjordur

India

VAUD — Udaipur

VIAR — Amritsar

VICG — Chandigarh Intl

VIDN — Dehradun

VIDP — Indira Gandhi Intl

XVI000I — Donyi Polo

Indonesia

WAPB — [X] Bula

WAPO — Larat

Ireland

XEI001K — [H] Bull Rock Lighthouse

Italy

LIEE — Cagliari Elmas

LIMF — Torino Caselle

LIPV — Venezia Lido G. Nicelli

LIRF — Leonardo da Vinci Intl

LIRQ — Firenze Peretola

XLI001Y — Avro

Kenya

HKMO — Mombasa Moi Intl

Libya

HL81 — Al Hamada Con 66 East

Mexico

MMPP — Punta Pescadero

Morocco

GMTN — Saniat Rmel

Nepal

VNLK — Lukla – Tenzing Hillary

Netherlands

EHEH — Eindhoven

XEH001E — [H] K12-D Heliport

XEH001F — [H] K12-K Heliport

XEH001G — [H] L10-E Heliport

XEH001H — [H] L10-L Heliport

XEH001I — [H] L10-M Heliport

XEH001J — [H] L10-A Heliport

XEH001K — [H] L10-C Heliport

XEH001L — [H] L10-F Heliport

XEH001M — [H] K12-G Heliport

XEH001P — [H] Hollandse Kust Zuid Alpha

XEH001Q — [H] Borssele Alpha

XEH001R — [H] Borssele Beta

XEH001S — [H] Lichteiland Goeree

XEH001T — [H] Europlatform

XEH0022 — [H] K12-A Heliport

New Zealand

NZLX — Alexandra Aerodrome

NZNS — Nelson

NZQN — Queenstown

Norway

ENTC — Tromso Langnes

Panama

XMP0003 — El Real de Santa Maria

Papua New Guinea

XAY004P — Suaka Airstrip

Philippines

RPLL — Ninoy Aquino Intl

RPMN — Sanga Sanga

RPVM — Mactan-Cebu

Poland

EPGD — Gdansk Lech Walesa

Romania

LRCL — Cluj Napoca

LROP — Otopeni / Henri Coanda

Russia

XU003M — Popovka

Russian Federation

UNWW — Spichenkovo

Saint Lucia

TLPC — George F L Charles

South Africa

FAMM — Mafikeng

Spain

LEBB — Bilbao

LECX — Castell de Castells Cocoll

LEVS — Cuatro Vientos

Spain (mainland section and Balearic Islands)

XLE002C — Godos – Caldas de Rey

XLE002Y — Gergal

Sweden

ESGG — Göteborg Landvetter

ESSA — Stockholm Arlanda

ESUP — Pajala

Switzerland

LSPF — Schaffhausen

LSZA — Lugano

LSZT — Lommis

LSZU — Buttwil

Taiwan

RCTP — Taipei Taoyuan Intl

USA United States

51R — Madisonville Muni

Ukraine

XUK0031 — Odesa Zastava

XUK0033 — Luhanka

XUK0034 — Oleksandriya

XUK0035 — Znamyanka

XUK0036 — Zhuravka

XUK003A — Volodymyrivka

XUK003B — Pavlysh

United Arab Emirates

OMDB — Dubai Intl

United Kingdom

EGHA — Compton Abbas

EGTR — Elstree

United States

0A3 — Smithville Muni

1VA4 — [H] Evergreen

3B5 — [X] Twitchell

4TE0 — [X] Lone Star Steel Co

80B — [S] Long Pond

8C5 — Toledo Muni

9C0 — [S] Peninsula Point Pullout

IA63 — Edgren

IN24 — [H] Franciscan Health M. City

KALS — San Luis Valley – Bergman Fld

KAMW — James Herman Banning Ames Muni

KANK — Harriet Alexander Field

KBNO — Burns Muni

KCOF — Patrick SFB

KCXE — Chase City Muni

KDTW — Detroit Metro Wayne County

KFAY — Fayetteville Rgnl/Grannis Fld

KFSM — Fort Smith Rgnl

KGBR — Walter J Koladza

KINW — Winslow-Lindbergh Rgnl

KLAS — Harry Reid Intl

KLAX — Los Angeles Intl

KLCK — Rickenbacker Intl

KLUK — Cincinnati Muni Lunken Fld

KMSP — Minneapolis Saint Paul Intl

KNGU — NS Norfolk

KORC — [X] Orange County Muni

KPIT — Pittsburgh Intl

KPOH — Pocahontas Muni

KSCK — Stockton Metropolitan

KSOY — [X] Sioux Center Muni

M57 — [S] Rangeley Lake

ME12 — [S] Brettuns Pond

ME27 — [S] Double A

PAAQ — Palmer Muni

PAEN — Kenai Muni

PAKT — Ketchikan Intl

PASI — Sitka Rocky Gutierrez

PAVD — Valdez Pioneer Fld

TN19 — [H] Harriman City

UT22 — [H] Logan Regl Hospital

W31 — Lunenburg County

W43 — Hulett Muni

W63 — Lake Country Regl

W78 — William M Tuck

WV32 — New River Gorge

XK005G — [H] Longview

United States (Contiguous)

XK00AO — [H] Intermountain Med Ctr

XK00DL — Triple Tree

XK00DY — Highland View Field

XK00DZ — [S] Camden

XK00E0 — Ridgeview

XK00E1 — [H] NorfolK NS Heliport

XK00E2 — [S] Lucky Landing Marina

XK00E3 — [H] Cranberry Isles

XK00E4 — [H] Utah Valley Regl Med Ctr

XK00E5 — Sioux County Rgnl

XK00E6 — River View Airpark

United States (Puerto Rico)

XTJ000T — [H] Costa Sur Power Plant

Uruguay

XSU0007 — Aeroclub de Rocha

Venezuela

SVOK — Oritupano


That’s all from this update. Catch you next time!

About Dellanie Byron

No-one quite knows who he is, or where he came from. However this happy little Quokka exhibits a passion for design.

Leave a Reply

Your email address will not be published. Required fields are marked *

Please do not report bugs in the blog comments.
Only bugs reported via the X-Plane Bug Reporter are tracked.