Table of Contents

Overview

AppleTvControlLibrary is a .NET implementation of the Apple TV Companion Link protocol. It supports encrypted Companion Link sessions used for remote input, touch control, media control, power-state updates, app launching, and user-account switching.

The implementation is scoped to Companion Link. It does not implement MRP, AirPlay 2, RAOP, or DMAP/DACP.

Packages

Package Purpose
AppleTvControlLibrary Companion Link protocol, pairing, framing, encryption, OPACK, TLV8, and high-level commands.
AppleTvControlLibrary.Discovery mDNS/DNS-SD discovery for _companion-link._tcp services.
AppleTvControlLibrary.All Convenience meta-package that restores both independent libraries.

The protocol and discovery packages are intentionally independent. A host with a known device address can use the Companion Link package without multicast discovery; a host can also use the discovery API independently.

Protocol formats

Companion Link messages use OPACK, not JSON. Pairing and verification messages use TLV8. The WPF reference host uses JSON only to persist its local paired-device credential model.

See the Companion Link API reference and Discovery API reference.