#
Introduction
EazyNetChecker is a lightweight, reliable, and powerful Unity tool that accurately determines real internet connectivity across all platforms and devices.
Unity’s built-in Application.internetReachability does not verify whether a device is truly online, and it was never designed to.
Common workarounds like pinging Google can also be misleading, especially on captive portals, hotel Wi-Fi, or restricted networks.
EazyNetChecker solves this problem by using Captive Portal Detection, the same technique used by major operating systems such as Windows, Android, iOS, and macOS. This ensures fast, consistent, and trustworthy results, so your game can respond appropriately to real connectivity changes.
In addition to built-in, battle-tested endpoints, EazyNetChecker allows you to define and validate connectivity against your own services and endpoints, using rules that match your project’s exact requirements. You can also run multiple network checks in parallel, each with its own criteria, timing, and validation logic, making it ideal for complex online games, backend-heavy apps, or service-specific availability checks.
#
✨ Key Features
- Accurate connectivity detection: Detect real internet access using captive portal checks.
- Built-in methods: Supports popular and proven endpoints (Google, Microsoft, Apple).
- Custom check methods: Define custom endpoints with flexible validation rules and response criteria.
- Multi-service monitoring: Run multiple connectivity checks simultaneously with independent endpoints and rules
- Flexible scheduling options: on start, manual, continuous
- Event-driven architecture: Hook into check start, completion, status changes, and timeouts.
- Multiple ways to await results: Including async and await, coroutines, and callbacks.
- Import/export: Easily share and back up your custom methods.
- Clean and modular API: Use strongly typed statics, or instances - your choice.
- DI-friendly: Designed to work well with dependency injection.
- Powerful Editor Window: A modern UI for managing methods, settings, and diagnostics.
- Comprehensive documentation: To get you started quickly.
#
🧠 Core concepts
- Net check method: A set of rules which define a network validation contract (what to call, what to expect). EazyNetChecker comes with built-in methods, and you can create your own custom methods.
- Net check service: The runtime service instance that schedules checks, tracks status, and exposes events. Each service uses a check method.
- Method registry: Aggregates built-in and custom methods during runtime, and resolves them by id.
- Service factory: Creates
NetCheckServiceinstances with the right runners and settings. - Service registry: Tracks active services so they can be queried and managed.
#
🧭 Choose how to use it
EazyNetChecker supports both coding styles. Pick the one that matches your architecture, or mix and match.
- Instance-based
- Build and own the system yourself.
- Useful for dependency injection and explicit lifecycle control.
- Singleton
- Use the
EazyNetCheckerfacade and its static API. - Handy for small projects or when a singleton fits your style.
- Use the
The system is DI friendly
EazyNetCheckerSystemBuilder constructs an EazyNetCheckerSystem that you can inject into your own container. The static facade is a convenience layer on top of that system.
#
🚀 Ready to Get Started?
Check out the Getting Started guide to install and set up your first check in minutes.