Skip to content
Go 1.25+ · Windows · SimConnect.dll

SimConnect Go SDK

Build Microsoft Flight Simulator add-ons with Go. Lightweight, typed, zero-dependency wrapper over SimConnect.dll for MSFS 2020 & 2024.

$ go get github.com/mrlm-net/simconnect
Latest Release Go Reference v0.3.0 Progress

Why SimConnect Go SDK

Zero Dependencies

Standard library only. No external packages to manage, audit, or update.

Fully Typed API

Strong typing with dedicated structs, enums, and typed constants throughout.

Auto-Reconnect

Built-in connection lifecycle management with automatic reconnection support.

Ready-Made Datasets

Pre-built dataset definitions for aircraft, environment, facilities, and traffic.

Tiered Buffer Pooling

Optimized 4KB/16KB/64KB buffer pools for zero-allocation hot paths.

MSFS 2020 & 2024

Full compatibility with both simulator generations out of the box.

Two ways to connect

Use the low-level client for full control, or the manager for production-ready lifecycle management.

Low-Level Client
package main

import (
    "log"
    "github.com/mrlm-net/simconnect"
)

func main() {
    client := simconnect.NewClient("My App")

    if err := client.Connect(); err != nil {
        log.Fatal(err)
    }
    defer client.Disconnect()

    // Read simulator data, emit events, etc.
}
Manager with Auto-Reconnect
package main

import (
    "fmt"
    "github.com/mrlm-net/simconnect/pkg/manager"
)

func main() {
    mgr := manager.New("My App",
        manager.WithAutoReconnect(true),
    )

    mgr.OnConnectionStateChange(
        func(old, current manager.ConnectionState) {
            fmt.Printf("%s -> %s\n", old, current)
        },
    )

    mgr.Start()
}

Microsoft Flight Simulator 2020 & 2024 · Go 1.25+ · Windows · Zero external dependencies