# Network Services

Essential Kit's Network Services feature lets Unity teams monitor network connectivity and server reachability without maintaining platform-specific code. This tutorial walks you through setup, monitoring APIs, testing, and troubleshooting so you can build offline-first experiences and gracefully handle connectivity changes.

{% hint style="info" %}
Using PlayMaker? See the PlayMaker guide: [PlayMaker](https://assetstore.essentialkit.voxelbusters.com/features/network-services/playmaker).
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=FNYw6eLPK0s>" %}
Network Services Video Tutorial
{% endembed %}

{% hint style="info" %}
Looking for a working reference? Open the demo scene at `Assets/Plugins/VoxelBusters/EssentialKit/Examples/Scenes/NetworkServicesDemo.unity` and the companion script at `Assets/Plugins/VoxelBusters/EssentialKit/Examples/Scripts/NetworkServicesDemo.cs` to see the full API in action.
{% endhint %}

## What You'll Learn

* Monitor internet connectivity status with real-time change detection
* Check specific server reachability for backend availability
* Handle offline scenarios gracefully with proper UI feedback
* Optimize battery usage by controlling when monitoring is active

## Why Network Services Matters

* **Better UX**: Inform users about offline status before they attempt network operations
* **Offline-First Design**: Build features that work offline and sync when connectivity returns
* **Server Monitoring**: Detect when your backend is unreachable separately from general internet status
* **Battery Conscious**: Start/stop monitoring to conserve battery when network status isn't needed

## Tutorial Roadmap

1. [Setup](https://assetstore.essentialkit.voxelbusters.com/features/network-services/setup) - Enable the feature and configure monitoring options
2. [Usage](https://assetstore.essentialkit.voxelbusters.com/features/network-services/usage) - Monitor connectivity, handle status changes, check reachability
3. [Testing](https://github.com/voxelbusters/essential-kit-docs/blob/master/tutorials/v3/features/network-services/testing.md) - Simulate network changes and verify on devices
4. [FAQ](https://assetstore.essentialkit.voxelbusters.com/features/network-services/faq) - Troubleshoot common issues

## Key Use Cases

* **Multiplayer Games**: Block matchmaking when offline, queue actions for when connectivity returns
* **Live Events**: Disable event features when server is unreachable
* **Content Downloads**: Pause downloads when offline, resume when connectivity returns
* **Social Features**: Show offline indicator for leaderboards, friends, and chat

## Prerequisites

* Unity project with Essential Kit v3 installed and Network Services feature included
* iOS or Android target (no special permissions required)
* Test environment with ability to toggle network connectivity

{% content-ref url="network-services/setup" %}
[setup](https://assetstore.essentialkit.voxelbusters.com/features/network-services/setup)
{% endcontent-ref %}

{% content-ref url="network-services/usage" %}
[usage](https://assetstore.essentialkit.voxelbusters.com/features/network-services/usage)
{% endcontent-ref %}

{% content-ref url="<https://github.com/voxelbusters/essential-kit-docs/blob/master/tutorials/v3/features/network-services/testing.md>" %}
<https://github.com/voxelbusters/essential-kit-docs/blob/master/tutorials/v3/features/network-services/testing.md>
{% endcontent-ref %}

{% content-ref url="network-services/faq" %}
[faq](https://assetstore.essentialkit.voxelbusters.com/features/network-services/faq)
{% endcontent-ref %}
