OpenNOW is a native macOS cloud gaming client built with AppKit, Objective-C++, and WebRTC. It gives you a desktop-first way to sign in, browse games, and launch cloud streams.
- Native Mac interface with OAuth sign-in, persistent sessions, and account switching.
- Game catalog, library browsing, and a focused cloud-stream launch flow.
- Native WebRTC streaming with keyboard, mouse, gamepad, audio, microphone, and clipboard support.
- Stream tuning for resolution, FPS, codec, bitrate, region, HDR, and recovery behavior.
- Local upscaling, MP4 recording, stats HUD, Discord Rich Presence, and end-session diagnostics.
- macOS with AppKit/Cocoa support
clang++with C++20 and Objective-C ARC support- Xcode 16 or newer
WebRTC.frameworkorWebRTC.xcframeworkinthird_party/webrtc-official
OpenNOW uses the Apple Sentry SDK through Swift Package Manager in OpenNOW.xcodeproj:
https://github.com/getsentry/sentry-cocoa.gitThe project requires Sentry Cocoa 9.16.1 or newer and enables UI Profiling with trace lifecycle. To send the built-in verification event, run the app from Xcode with:
OPN_SENTRY_VERIFY=1Set OPN_SENTRY_INFO_LOGS=1 to forward verbose info-level runtime logs to Sentry structured logs.
Set OPN_SENTRY_TRACES_SAMPLE_RATE and OPN_SENTRY_PROFILE_SESSION_SAMPLE_RATE to tune trace and profile sampling.
xcodebuild -project OpenNOW.xcodeproj -scheme OpenNOW -configuration Debug buildDebug build artifacts are written under Xcode DerivedData.
For day-to-day development, open OpenNOW.xcodeproj in Xcode and run the OpenNOW target.
For optimized builds, use:
xcodebuild -project OpenNOW.xcodeproj -scheme OpenNOW -configuration Release buildRelease app bundles are written under Xcode DerivedData. To produce zip and DMG artifacts, run:
scripts/release-mac.shxcodebuild -project OpenNOW.xcodeproj -scheme OpenNOW cleanOpen issues for bugs or feature requests and submit pull requests for improvements.
