SimConnect Go SDK
Build Microsoft Flight Simulator add-ons with Go. Lightweight, typed, zero-dependency wrapper over SimConnect.dll for MSFS 2020 & 2024.
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.
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.
}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