# Go Installation

> Install the polyglot SDK as a Go module.

```bash
go get github.com/clutchcall/clutchcall-sdk/go@latest
```

CGO links `clutchcall_core_ffi` automatically when the prebuilt binary is on
`LD_LIBRARY_PATH` (or `DYLD_LIBRARY_PATH` on macOS). Use
`CLUTCHCALL_LIB_PATH` to point at a custom location.

## Sub-packages

Each modality is its own sub-package:

```go
import (
  "github.com/clutchcall/clutchcall-sdk/go/pkg/voice"
  "github.com/clutchcall/clutchcall-sdk/go/pkg/streams"
  "github.com/clutchcall/clutchcall-sdk/go/pkg/robotics"
  "github.com/clutchcall/clutchcall-sdk/go/pkg/games"
  "github.com/clutchcall/clutchcall-sdk/go/pkg/data"
  "github.com/clutchcall/clutchcall-sdk/go/pkg/moqt"
)
```

The root package (`github.com/clutchcall/clutchcall-sdk/go`) still hosts the legacy
`ClutchCallClient` voice-RPC surface.

## Verify

```go
package main

import (
  "context"
  "fmt"
  "github.com/clutchcall/clutchcall-sdk/go/pkg/moqt"
)

func main() {
  client, err := moqt.Connect(context.Background(),
      "quic://relay.clutchcall.dev", "")
  if err != nil { panic(err) }
  fmt.Println("rtt:", client.ConnectionRTTUs(), "µs")
  client.Close()
}
```

## Next

  - **[Quickstart](/sdks/go/quickstart)** — Streams modality end to end.
  - **[Reference](/sdks/go/reference)** — Every modality, every method.
  - **[Examples](/sdks/go/examples)** — Per-modality examples.
  - **[Modalities](/modalities/overview)** — The 5-modality model.
