> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Network Management

> Get available networks, check current network, and switch networks in Unity.

## Available networks

Access networks enabled in your Dynamic Console:

```csharp theme={"system"}
using DynamicSDK.Core;
using UnityEngine;

// EVM networks (Ethereum, Polygon, Base, etc.)
foreach (var network in DynamicSDK.Instance.Networks.Evm.AvailableNetworks)
{
    Debug.Log($"{network.Name} - Chain ID: {network.ChainId}");
}

// Solana networks
foreach (var network in DynamicSDK.Instance.Networks.Solana.AvailableNetworks)
{
    Debug.Log(network.Name);
}
```

## Get current network

```csharp theme={"system"}
public async void GetCurrentNetwork(BaseWallet wallet)
{
    var network = await DynamicSDK.Instance.Wallets.GetNetwork(wallet);
    Debug.Log($"Current network: {network}");
}
```

## Switch network

```csharp theme={"system"}
public async void SwitchNetwork(BaseWallet wallet, string networkId)
{
    try
    {
        await DynamicSDK.Instance.Wallets.SwitchNetwork(wallet, networkId);
        Debug.Log("Network switched successfully");
    }
    catch (System.Exception e)
    {
        Debug.LogError($"Failed to switch network: {e.Message}");
    }
}
```

## Complete example

```csharp theme={"system"}
using DynamicSDK.Core;
using UnityEngine;
using System.Linq;

public class NetworkManager : MonoBehaviour
{
    private BaseWallet _wallet;

    private void Start()
    {
        _wallet = DynamicSDK.Instance.Wallets.UserWallets.FirstOrDefault();

        if (_wallet != null)
        {
            ListAvailableNetworks();
        }
    }

    public void ListAvailableNetworks()
    {
        Debug.Log("Available EVM Networks:");
        foreach (var network in DynamicSDK.Instance.Networks.Evm.AvailableNetworks)
        {
            Debug.Log($"  {network.Name} (Chain ID: {network.ChainId})");
        }

        Debug.Log("Available Solana Networks:");
        foreach (var network in DynamicSDK.Instance.Networks.Solana.AvailableNetworks)
        {
            Debug.Log($"  {network.Name}");
        }
    }

    public async void SwitchToPolygon()
    {
        if (_wallet == null || _wallet.Chain.ToUpper() != "EVM")
        {
            Debug.LogError("No EVM wallet available");
            return;
        }

        var polygonNetwork = DynamicSDK.Instance.Networks.Evm.AvailableNetworks
            .FirstOrDefault(n => n.Name.Contains("Polygon"));

        if (polygonNetwork == null)
        {
            Debug.LogError("Polygon network not found");
            return;
        }

        try
        {
            await DynamicSDK.Instance.Wallets.SwitchNetwork(_wallet, polygonNetwork.ChainId.ToString());
            Debug.Log($"Switched to {polygonNetwork.Name}");
        }
        catch (System.Exception e)
        {
            Debug.LogError($"Failed to switch: {e.Message}");
        }
    }
}
```

## Next steps

* [Token Balances](https://docs.dynamic.xyz/docs/unity/wallets/general/token-balances.md) - Get balances on different networks
* [Send EVM Transactions](https://docs.dynamic.xyz/docs/unity/wallets/evm/send-transactions.md) - Send transactions on EVM networks
* [Send Solana Transactions](https://docs.dynamic.xyz/docs/unity/wallets/solana/send-transactions.md) - Send on Solana


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.