The MSFS SimConnect is far behind P3D’s SimConnect and lacks a lot of functions. I guess P3D’s SimConnect will be superior for many years.
The number of MSFS SimConnect functions are 72, not everyone working today
compared to P3D’s SimConnect functions that are more than 200, all working.
Will MSFS ever catch up, I just wonder?
Here is the MSFS SImConnect list:
General DispatchProc Working
SimConnect_Open Working
SimConnect_Close Working
SimConnect_CallDispatch Working
SimConnect_GetNextDispatch Working
SimConnect_RequestSystemState Working See Status of System Events
SimConnect_MapClientEventToSimEvent Working See Status of Sim Events
SimConnect_SubscribeToSystemEvent Working
SimConnect_UnsubscribeFromSystemEvent Working
SimConnect_SetNotificationGroupPriority Working
SimConnect_RequestDataOnSimObject Working
SimConnect_RequestDataOnSimObjectType Working
SimConnect_AddClientEventToNotificationGroup Working
SimConnect_RemoveClientEvent Working
SimConnect_TransmitClientEvent Working
SimConnect_MapClientDataNameToID Working
SimConnect_RequestClientData Working
SimConnect_CreateClientData Working
SimConnect_AddToClientDataDefinition Working
SimConnect_AddToDataDefinition Working
SimConnect_SetClientData Working
SimConnect_SetDataOnSimObject Working
SimConnect_ClearClientDataDefinition No error
SimConnect_ClearDataDefinition No error
SimConnect_MapInputEventToClientEvent Working See Status of Input Events
SimConnect_ClearInputGroup Working
SimConnect_ClearNotificationGroup Working
SimConnect_RequestReservedKey No error, no response
SimConnect_SetInputGroupPriority No error
SimConnect_SetInputGroupState Working
SimConnect_RemoveInputEvent Working
simconnect Exception (20: DATA_ERROR), and using its full path raises an Exception in KH side
SimConnect_FlightPlanLoad No error, no response
SimConnect_FlightSave No error, no response
SimConnect_GetLastSentPacketID Working
SimConnect_RequestResponseTimes Working
SimConnect_InsertString Not tested
SimConnect_RetrieveString Bad response Returns empty strings (either a data or server problem)
SimConnect_CameraSetRelative6DOF No error, no response
SimConnect_AICreateEnrouteATCAircraft Exception
SimConnect_AICreateNonATCAircraft Exception
SimConnect_AICreateParkedATCAircraft Exception
SimConnect_AICreateSimulatedObject Exception
SimConnect_AIReleaseControl Not tested depends on AI objects
SimConnect_AIRemoveObject Not tested depends on AI objects
SimConnect_AISetAircraftFlightPlan Exception
SimConnect_RequestFacilitesList bad response all facility lists are empty
SimConnect_SubscribeToFacilities No error, no response
SimConnect_UnsubscribeToFacilities No error, no response
SimConnect_SetSystemEventState Not tested Depends on Dialog mode
SimConnect_SetSystemState No error, no response Depends on Dialog mode
SimConnect_RequestNotificationGroup Not tested Depends on Dialog mode
SimConnect_MenuAddItem no error, no effect
SimConnect_MenuAddSubItem no error, no effect
SimConnect_MenuDeleteItem no error, no effect
SimConnect_MenuDeleteSubItem no error, no effect
SimConnect_Text Minimal support (TEXT_TYPE_PRINT_color) Simple text works, (TEXT_TYPE_SCROLLING_color) scrolling gives simple text, (TEXT_TYPE_MENU) menu gives no error-no response. (_color) color is ignored
SimConnect_CompleteCustomMissionAction Not tested
SimConnect_ExecuteMissionAction Not tested
SimConnect_WeatherCreateStation Not tested Deprecated
SimConnect_WeatherCreateThermal Not tested Deprecated
SimConnect_WeatherRemoveStation Not tested Deprecated
SimConnect_WeatherRemoveThermal Not tested Deprecated
SimConnect_WeatherRequestCloudState Not tested Deprecated
SimConnect_WeatherRequestInterpolatedObservation Not tested Deprecated
SimConnect_WeatherRequestObservationAtNearestStation Exception Deprecated
SimConnect_WeatherRequestObservationAtStation Not tested Deprecated
SimConnect_WeatherSetDynamicUpdateRate Not tested Deprecated
SimConnect_WeatherSetModeCustom Not tested Deprecated
SimConnect_WeatherSetModeGlobal Not tested Deprecated
SimConnect_WeatherSetModeServer Not tested Deprecated
SimConnect_WeatherSetModeTheme Not tested Deprecated
SimConnect_WeatherSetObservation Not tested Depreca
and here is P3D
SimConnect_AddClientEventToNotificationGroup | Used to add an individual client defined event to a notification group. |
---|---|
SimConnect_AddToClientDataDefinition | Used to add an offset and a size in bytes, or a type, to a client data definition. |
SimConnect_AddToDataDefinition | Used to add a Prepar3D simulation variable name to a client defined object definition. |
SimConnect_CallDispatch | Used to process the next SimConnect message received through the specified callback function. |
SimConnect_ChangeVehicle | Used to change the user’s vehicle. |
SimConnect_ChangeVehicleWithExternalSim | Used to change the user’s vehicle and override the sim to use a specific External Sim instead. |
SimConnect_ClearClientDataDefinition | Used to clear the definition of the specified client data. |
SimConnect_ClearDataDefinition | Used to remove all simulation variables from a client defined object. |
SimConnect_ClearInputGroup | Used to remove all the input events from a specified input group object. |
SimConnect_ClearNotificationGroup | Used to remove all the client defined events from a notification group. |
SimConnect_Close | Used to request that the communication with the server is ended. |
SimConnect_CreateClientData | Used to request the creation of a reserved data area for this client. |
SimConnect_FlightLoad | Used to load an existing scenario file. |
SimConnect_FlightPlanLoad | Used to load an existing flight plan. |
SimConnect_FlightSave | Used to save the current state of a scenario to a scenario file. |
SimConnect_GetLastSentPacketID | Returns the ID of the last packet sent to the SimConnect server. |
SimConnect_GetNextDispatch | Used to process the next SimConnect message received, without the use of a callback function. |
SimConnect_MapClientDataNameToID | Used to associate an ID with a named client date area. |
SimConnect_MapClientEventToSimEvent | Used to associate a client defined event ID with an Prepar3D event name. |
SimConnect_MapInputEventToClientEvent | Used to connect input events (such as keystrokes, joystick or mouse movements) with the sending of appropriate event notifications. |
SimConnect_Open | Used to send a request to the Prepar3D server to open up communications with a new client. |
SimConnect_RemoveClientEvent | Used to remove a client defined event from a notification group. |
SimConnect_RemoveInputEvent | Used to remove an input event from a specified input group object. |
SimConnect_RequestAttachPointData | Used to request attach point positions and orientations from a simulation object. |
SimConnect_RequestClientData | Used to request that the data in an area created by another client be sent to this client. |
SimConnect_RequestDataOnSimObject | Used to request when the SimConnect client is to receive data values for a specific object. |
SimConnect_RequestDataOnSimObjectType | Used to retrieve information about simulation objects of a given type that are within a specified radius of the user’s vehicle. |
SimConnect_RequestMobileSceneryInRadius | Used to retrieve mobile scenery objects that are within a specified radius of the user’s vehicle. |
SimConnect_RequestMobileSceneryDataByID | Used to retrieve data about a specific mobile scenery object using its object ID. |
SimConnect_RequestJoystickDeviceInfo | Used to request the name and number of currently connected joystick devices. |
SimConnect_RequestNotificationGroup | Used to request events are transmitted from a notification group, when the simulation is in Dialog Mode. |
SimConnect_RequestReservedKey | Used to request a specific keyboard TAB-key combination applies only to this client. |
SimConnect_RequestSceneryComplexity | Used to request the current scenery complexity setting. |
SimConnect_RequestSessionDuration | Used to request the duration of the current scenario in seconds. |
SimConnect_RequestShadowFlags | Used to request the current shadow flag settings. |
SimConnect_RequestSystemState | Used to request information from a number of Prepar3D system components. |
SimConnect_RequestTrafficSettings | Used to request the current traffic settings. |
SimConnect_RequestVersion | Used to request license type and version numbers of P3D and SimConnect. |
SimConnect_SetClientData | Used to write one or more units of data to a client data area. |
SimConnect_SetDataOnSimObject | Used to make changes to the data properties of an object. |
SimConnect_SetInputGroupPriority | Used to set the priority for a specified input group object. |
SimConnect_SetInputGroupState | Used to turn requests for input event information from the server on and off. |
SimConnect_SetNotificationGroupPriority | Used to set the priority of a notification group. |
SimConnect_SetSystemEventState | Used to turn requests for event information from the server on and off. |
SimConnect_SetSystemState | Used to access a number of Prepar3D system components. |
SimConnect_SetTrafficSettings | Used to set the current traffic settings. |
SimConnect_SubscribeToSystemEvent | Used to request that a specific system event is notified to the client. |
SimConnect_SubscribeToSystemEventEx | Used to request that a specific system event is notified to the client. Flags allow you to request a blocking callback. |
SimConnect_TransmitClientEvent | Used to request that the Prepar3D server transmit to all SimConnect clients the specified client event. |
SimConnect_UnsubscribeFromSystemEvent | Used to request that notifications are no longer received for the specified system event. |
Helper Functions | Description |
SimConnect_InsertString | Used to assist in adding variable length strings to a structure. |
SimConnect_RequestResponseTimes | Used to provide some data on the performance of the client-server connection |
SimConnect_RetrieveString | Used to assist in retrieving variable length strings from a structure. |
AI Object Specific Functions | Description |
SimConnect_AICreateEnrouteATCAircraft | Used to create an AI controlled aircraft that is about to start or is already underway on its flight plan. |
SimConnect_AICreateNonATCAircraft | Used to create an aircraft that is not flying under ATC control (so is typically flying under VFR rules). |
SimConnect_AICreateParkedATCAircraft | Used to create an AI controlled aircraft that is currently parked and does not have a flight plan. |
SimConnect_AICreateSimulatedObject | Used to create AI controlled objects other than aircraft. |
SimConnect_AICreateSimulatedObjectEx | Used to create AI controlled objects other than aircraft. Extended for use with disabled simulations and Owned objects |
SimConnect_AICreateObjectWithExternalSim | Used to create an AI object, overriding the sim to use a specific External Sim instead. |
SimConnect_AIReleaseControl | Used to clear the AI control of a simulated object, typically an aircraft, in order for it to be controlled by a SimConnect client. |
SimConnect_AIReleaseControlEx | Used to clear the AI control of a simulated object, typically an aircraft, in order for it to be controlled by a SimConnect client. Extended to be able to remove the AI entirely. |
SimConnect_AIRemoveObject | Used to remove any object created by the client using one of the SimConnect AI creation functions. |
SimConnect_AISetAircraftFlightPlan | Used to set or change the flight plan of an AI controlled aircraft. |
SimConnect_AISetGroundClamp | Used to enable/disable ground clamping on a specific SimConnect owned SimObject. |
Camera Specific Functions | Description |
SimConnect_AddPostProcess | Used to add a post process effect to the specified camera. |
SimConnect_AddPostProcessMainCamera | Used to add a post process effect to the main camera. |
SimConnect_CameraPanToView | Used to smoothly transition the view of the specified camera to the view of the specified target camera. |
SimConnect_CameraSetRelative6DOF | Used to adjust the user’s aircraft view camera. |
SimConnect_CameraSetRelative6DofByName | Used to adjust the specified view’s camera. |
SimConnect_CameraSmoothRelative6DOF | Used to smoothly transition the view of the main camera to the specified location. |
SimConnect_CameraSmoothRelative6DOFByName | Used to smoothly transition the view of the specified camera to the specified location. |
SimConnect_CameraZoomIn | Used to adjust the zoom of the camera. |
SimConnect_CameraZoomOut | Used to adjust the zoom of the camera. |
SimConnect_ChangeView | Used to change the camera used by the main view. |
SimConnect_CloseView | Used to close a view. |
SimConnect_CreateCameraDefinition | Used to create a new camera definition. |
SimConnect_CreateCameraInstance | Used to create a new camera instance from a camera definition. |
SimConnect_DeleteCameraInstance | Used to remove a camera instance from a camera definition. |
SimConnect_DockView | Used to dock a view. |
SimConnect_MainCameraPanToView | Used to smoothly transition the view of the main camera to the view of the specified target camera. |
SimConnect_MainCameraZoomIn | Used to adjust the zoom of the main camera. |
SimConnect_MainCameraZoomOut | Used to adjust the zoom of the main camera. |
SimConnect_OpenView | Used to open a new view. |
SimConnect_RemovePostProcess | Used to remove a post process effect to the specified camera. |
SimConnect_RemovePostProcessMainCamera | Used to remove a post process effect to the main camera. |
SimConnect_RequestCameraFov | Used to request the field-of-view of a given view (horizontal and vertical). See SIMCONNECT_RECV_CAMERA_FOV. |
SimConnect_RequestCameraRelative6DOF | Used to request the XYZ delta offset from the eyepoint reference point, as well as the pitch, bank, and heading of the main view. |
SimConnect_RequestCameraRelative6DofByName | Used to request the XYZ delta offset from the eyepoint reference point, as well as the pitch, bank, and heading of a given view. |
SimConnect_RequestCameraSensorMode | Used to request the current sensor mode of a given view. |
SimConnect_RequestCameraWindowPosition | Used to request the current window position of a given view. |
SimConnect_RequestCameraWindowSize | Used to request the current window size of a given view. |
SimConnect_RequestMainCameraFov | Used to request the field-of-view of the main view (horizontal and vertical). See SIMCONNECT_RECV_CAMERA_FOV. |
SimConnect_RequestMainCameraSensorMode | Used to request the current sensor mode of the main view. |
SimConnect_SendCameraCommand | Used to simulate user inputs to control camera movement and rotation. |
SimConnect_SetCameraFov | Used to change the FoV (Field of View) of a camera. |
SimConnect_SetCameraHorizontalFov | Used to change the horizontal FoV (Field of View) of a camera. |
SimConnect_SetCameraSensorMode | Used to change the sensor mode of a camera. |
SimConnect_SetCameraVerticalFov | Used to change the vertical FoV (Field of View) of a camera. |
SimConnect_SetCameraWindowPosition | Used to set the window position of the specified view. |
SimConnect_SetCameraWindowSize | Used to set the window size of the specified view. |
SimConnect_SetMainCameraFov | Used to change the FoV (Field of View) of the main camera. |
SimConnect_SetMainCameraHorizontalFov | Used to change the horizontal FoV (Field of View) of the main camera. |
SimConnect_SetMainCameraSensorMode | Used to change the sensor mode of the main camera. |
SimConnect_SetMainCameraVerticalFov | Used to change the vertical FoV (Field of View) of the main camera. |
SimConnect_UndockView | Used to undock a view. |
SimConnect_CaptureImage | Used to capture an image of a view. |
SimConnect_BeginVideoStream | Used to begin a video stream of a view. |
SimConnect_EndVideoStream | Used to end a video stream of a view. |
Facilities Data Functions | Description |
SimConnect_RequestFacilitiesList | Used to request a list of all the facilities of a given type currently held in the facilities cache. |
SimConnect_SubscribeToFacilities | Used to request notifications when a facility of a certain type is added to the facilities cache. |
SimConnect_UnsubscribeToFacilities | Used to request that notifications of additions to the facilities cache are not longer sent. |
Menu Specific Functions | Description |
SimConnect_MenuAddItem | Used to add a menu item, associated with a client event. |
SimConnect_MenuAddSubItem | Used to add a sub-menu item, associated with a client event. |
SimConnect_MenuDeleteItem | Used to remove a client defined menu item. |
SimConnect_MenuDeleteSubItem | Used to remove a specified sub-menu item. |
SimConnect_Text | Used to display a text menu, message window, or scrolling or static text, on the screen. |
Structured Scenario Specific Functions | Description |
SimConnect_CompleteCustomMissionAction | Used to complete the scenario action specified by a GUID. |
SimConnect_ExecuteMissionAction | Used to execute the scenario action specified by a GUID. |
SimConnect_RequestFlightSegmentCount | Used to request the number of Flight Segment objects in the active scenario. |
SimConnect_RequestFlightSegmentDataByGUID | Used to request information about a Flight Segment object in the active scenario. |
SimConnect_RequestFlightSegmentDataByIndex | Used to request information about a Flight Segment object in the active scenario. |
SimConnect_RequestFlightSegmentRangeData | Used to request information about a specific range of a Flight Segment object in the active scenario. |
SimConnect_RequestGoalCount | Used to request the number of Goal/Group Goal objects in the active scenario. |
SimConnect_RequestGoalDataByGUID | Used to request information about a Goal/Group Goal object in the active scenario. |
SimConnect_RequestGoalDataByIndex | Used to request information about a Goal/Group Goal object in the active scenario. |
SimConnect_RequestMissionObjectiveCount | Used to request the number of Mission Objective objects in the active scenario. |
SimConnect_RequestMissionObjectiveDataByGUID | Used to request information about a Goal/Group Goal object in the active scenario. |
SimConnect_RequestMissionObjectiveDataByIndex | Used to request information about a Goal/Group Goal object in the active scenario. |
SimConnect_ResolveGoal | Used to resolve a goal to specified goal state. |
SimConnect_RequestChildGoalDataByIndex | Used to request information about a mission objective or group goal’s children. |
SimConnect_GenerateFlightAnalysisDiagrams | Used to generate diagrams as shown in the flight analysis UI which can be used, for example, to examine ILS landing performance. |
SimConnect_RequestLandingTriggerCount | Used to request the number of Area Landing Trigger or Airport Landing Trigger objects in the active scenario. |
SimConnect_RequestLandingTriggerLandingInfoCount | Used to request information about a Landing Trigger object’s landings in the active scenario. |
SimConnect_RequestLandingTriggerLandingInfoByIndex | Used to request information about a specific landing of a Landing Trigger object in the active scenario. |
Weather Specific Functions | Description |
SimConnect_WeatherCreateStation | Used to add a weather station. |
SimConnect_WeatherCreateThermal | Used to create a thermal at a specific location. |
SimConnect_WeatherRemoveStation | Used to remove a weather station. |
SimConnect_WeatherRemoveThermal | Used to remove a thermal. |
SimConnect_WeatherRequestCloudState | Used to request cloud density information on a given area. |
SimConnect_WeatherRequestInterpolatedObservation | Used to send a request for weather data that is interpolated from the weather at the nearest weather stations. |
SimConnect_WeatherRequestObservationAtNearestStation | Used to send a request for the weather data from the weather station nearest to the specified lat/lon position. |
SimConnect_WeatherRequestObservationAtStation | Used to send a request for the weather data from a weather station identified by its ICAO code. |
SimConnect_WeatherSetDynamicUpdateRate | Used to set the rate at which cloud formations change. |
SimConnect_WeatherSetModeCustom | Used to set the weather mode to user-defined. |
SimConnect_WeatherSetModeGlobal | Used to set the weather mode to global, so the same weather data is used everywhere. |
SimConnect_WeatherSetModeServer | Deprecated. |
SimConnect_WeatherSetModeTheme | Used to set the weather mode to a particular theme. |
SimConnect_WeatherSetObservation | Used to set the weather at a specific weather station, identified from within the Metar data string |
Observer View Specific Functions | Description |
SimConnect_CreateObserver | Used to create an observer view. |
SimConnect_RequestObserverData | Used to request all data for a specific observer. |
SimConnect_MoveObserver | Used to move an observer using an xyz translation. |
SimConnect_RotateObserver | Used to rotate an observer around a specified axis. |
SimConnect_SetObserverPosition | Used to place an observer at a specific world position. |
SimConnect_SetObserverRotation | Used to set an observer’s specific rotation. |
SimConnect_SetObserverLookAt | Used to have an observer look at a world position. |
SimConnect_SetObserverLookAtEx | Used to have an observer look at a world position round world corrected. |
SimConnect_ObserverTrackLocationOn | Used to have an observer track a world position (round world corrected) using an above ground level altitude and accounting for changes in elevation. |
SimConnect_ObserverTrackLocationOff | Used to disable continuous tracking of the previously specified world position. |
SimConnect_SetObserverFieldOfView | Used to set an observer’s field of view. |
SimConnect_SetObserverStepSize | Used to set an observer’s linear and angular step size. |
SimConnect_SetObserverFocalLength | Used to set an observer’s focal length (in meters). |
SimConnect_SetObserverFocusFixed | Used to switch an observer’s focus between local and world. |
SimConnect_SetObserverRegime | Used to switch an observer’s regime (terrestrial, tellurian, or ghost). |
SimConnect_SetObserverZoomLevels | Used to set an observer’s zoom level. |
SimConnect_ObserverTrackEntityOn | Used to enable continuous tracking of the specified entity. |
SimConnect_ObserverTrackEntityOff | Used to disable continuous tracking of the previously specified entity. |
SimConnect_ObserverAttachToEntityOn | Used to attach an observer to the specified entity. |
SimConnect_ObserverAttachToEntityOff | Used to detach an observer from its attached entity. |
SimConnect_SetObserverSceneryOrigin | Used to switch an observer’s scenery origin mode (target or self). |
Ground Info Specific Functions - Overview | Description |
SimConnect_RequestGroundInfo | Used to request a grid of ground altitudes at a specific lat/lon. |
SimConnect_RequestGroundInfoOnSimObject | Used to request a recurring grid of ground altitudes based on a SimObjects lat/lon. |
Synchronous SimConnect Specific Functions - Overview | Description |
SimConnect_RequestSynchronousBlock | Used to request a blocking callback. |
SimConnect_SynchronousUnblock | Used to release a blocking callback. |
SimConnect_SetSynchronousTimeout | Used to set the error timeout length for blocking callbacks. |
SimConnect_SubscribeToSystemEventEx | Used to request that a specific system event is notified to the client. Flags allow you to request a blocking callback. |
External Sim Specific Functions - Overview | Description |
SimConnect_RegisterExternalSim | Used to register this client as an external sim provider. |
SimConnect_UnregisterExternalSim | Used to unregister this client as an external sim provider. |
SimConnect_RegisterExternalSecondarySim | Used to register this client as an external secondary sim provider. |
SimConnect_UnregisterExternalSecondarySim | Used to unregister this client as an external secondarysim provider. |
SimConnect_AttachExternalSecondarySimToSimObject | Used to attach an External Secondary Sim to an existing SimObject. |
SimConnect_DetachExternalSecondarySimFromSimObject | Used to detach an External Secondary Sim from an existing SimObject. |
SimConnect_AICreateObjectWithExternalSim | Used to create an AI object, overriding the sim to use a specific External Sim instead. |
SimConnect_ChangeVehicleWithExternalSim | Used to change the user’s vehicle and override the sim to use a specific External Sim instead. |
Attach Sim Specific Functions - Overview | Description |
SimConnect_AttachObjectToSimObject | Used to create a SimObject and attach it to an existing SimObject. |
SimConnect_AttachSimObjectToSimObject | Used to attach an existing SimObject to another existing SimObject. |
SimConnect_ReleaseSimObjectFromSimObject | Used to release a SimObject from another SimObject. |
Attach Weapon Specific Functions - Overview | Description |
SimConnect_AttachWeaponToObject | Used to create a Weapon and attach it to an existing SimObject. |
SimConnect_ClearWeapons | Used to remove all Weapons from a SimObject. |
Effect Specific Functions | Description |
SimConnect_CreateEffect | Used to create an effect at a location or attach it to an existing SimObject. |
SimConnect_RemoveEffect | Used to remove an effect. |
Recorder Specific Functions | Description |
SimConnect_PlaybackRecording | Used to playback a specified recording from a specified start time to a specified end time. |
SimConnect_StartRecorder | Used to trigger the Prepar3D Recorder to start recording. |
SimConnect_StopRecorderAndSaveRecording | Used to trigger the Prepar3D Recorder to stop recording and either prompt the user or save the recording with a specified file name. |
SimConnect_RequestRecordingInfo | Used to request information on a recording. |
SimConnect_RequestBookmarkInfo | Used to request bookmark information on a recording. |
Deprecated Functions | Description |
SetCameraRenderSettings | Deprecated |
SetCameraColorizationMode | Deprecated |