Darn - I just posted this in the wrong thread, so deleted/copied here…
Update as of Sim Update 1 Beta currently:
Summary: “User” waypoints loaded from a PLN (EFB format or MSFS2020 format) are being displayed in the EFB app, but some of those waypoints (e.g. 2nd, 3rd and last) are missing in the “GET_FLIGHTPLAN” API call. The wp name/id is being passed ok for those waypoints that make it through to the API.
Test “EFB format” PLN file attached below. Departure/Arrival airports plus mix of 7 “User” waypoints. For the purposes of testing I’ve included “User” waypoints actually matching the departure/arrival airport locations simply because I suspect if the MSFS2024 code wants to delete waypoints for some reason, that would be the likely choice. I would strongly suggest if the waypoint is a “User” waypoint, MSFS should never delete that waypoint, I just can’t see any rationale where the sim code would know better. However, if somehow there is a rationale for MSFS2024 deleting “User” waypoints hopefully that can be documented and consistent.
The PLN (listed below) is essentially:
LIDB -- Departure Airport, Runway 22
Belluno -- User waypoint
Start -- User waypoint
WP1 -- User waypoint
WP2 -- User waypoint
WP3 -- User waypoint
Finish -- User waypoint
Belluno -- User waypoint
LIDB -- Destination airport
The waypoints make it as far as the EFB UI, including the name:
But then seemingly random waypoints from that set are missing from the GET_FLIGHTPLAN waypoints structure, e.g. given the example above the current SU1 waypoints list served by GET_FLIGHTPLAN are:
LIDB
Belluno
WP2
WP3
LIDB
I.e. waypoints “WP1” and “Finish” have disappeared and also (but less critically) the extra User waypoint added for the arrival airports. An example successful output could be:
LIDB
Belluno
Start
WP1
WP2
WP3
Finish
Belluno
LIDB
Note the ‘duplicate’ waypoints for the Departure/Arrival in MSFS2020 are always “Airport” waypoints so it’s possible to differentiate there if needed. However my example PLN in ‘EFB format’ (I cut and paste from the SDK docs and added my best guess at “User” waypoints) so I suspect any waypoints being deleted is not as intended.
I’ve tried to keep the PLN structure as simple as possible, a constraint is the documentation for the new EFB PLN format is not updated since the typos were acknowledged. I’ve tried the EFB format with or without ‘User’ waypoints matching the start/end airport which is convenient for our use case, but that makes no difference to intermediate “User” waypoints missing in the GET_FLIGHTPLAN “waypoints” array API return.
It would be really helpful to have an example PLN file (EFB or otherwise) that should load correctly via the EFB including User waypoints, as it’s always possible I’ve guessed the EFB format wrong.
I’ve done a lot of tests and they’re all showing the same issue, but the PLN matching the comments above is :
<SimBase.Document>
<FlightPlan.FlightPlan>
<DepartureID>LIDB</DepartureID>
<DestinationID>LIDB</DestinationID>
<Title>LIDB - LIDB</Title>
<Descr>Flight from LIDB to LIDB</Descr>
<FPType>VFR</FPType>
<CruisingAlt>8000</CruisingAlt>
<AppVersion>
<AppVersionMajor>12</AppVersionMajor>
</AppVersion>
<DepartureDetails>
<RunwayNumberFP>22</RunwayNumberFP>
</DepartureDetails>
<ATCWaypoint id="Belluno">
<ATCWaypointType>User</ATCWaypointType>
<WorldPosition>N46° 10' 2.00",E12° 14' 52.00",+001240.00</WorldPosition>
</ATCWaypoint>
<ATCWaypoint id="Start">
<ATCWaypointType>User</ATCWaypointType>
<WorldPosition>N46° 9' 47.48",E12° 9' 35.92",+001965.00</WorldPosition>
</ATCWaypoint>
<ATCWaypoint id="WP 1">
<ATCWaypointType>User</ATCWaypointType>
<WorldPosition>N46° 1' 42.37",E11° 19' 9.65",+003668.00</WorldPosition>
</ATCWaypoint>
<ATCWaypoint id="WP 2">
<ATCWaypointType>User</ATCWaypointType>
<WorldPosition>N46° 33' 53.14",E12° 12' 9.18",+007119.00</WorldPosition>
</ATCWaypoint>
<ATCWaypoint id="WP 3">
<ATCWaypointType>User</ATCWaypointType>
<WorldPosition>N46° 15' 11.65",E13° 32' 17.69",+001758.53</WorldPosition>
</ATCWaypoint>
<ATCWaypoint id="Finish">
<ATCWaypointType>User</ATCWaypointType>
<WorldPosition>N46° 10' 7.97",E12° 15' 34.57",+001158.14</WorldPosition>
</ATCWaypoint>
<ATCWaypoint id="Belluno">
<ATCWaypointType>User</ATCWaypointType>
<WorldPosition>N46° 10' 2.00",E12° 14' 52.00",+001240.00</WorldPosition>
</ATCWaypoint>
</FlightPlan.FlightPlan>
</SimBase.Document>