PurrNet
  • 🐈Introduction
    • ‼️Unique to PurrNet
    • 💲Pricing
    • 💻Compatibility
    • 📚Addon library
    • 🗺️Roadmap
    • 🏎️Performance
      • RPC Benchmarks
      • Network Transform benchmarks
    • 🥰Support PurrNet
  • 📚Guides
    • Installation/Setup
    • Getting Started
    • Converting to PurrNet
      • Converting from Mirror
      • Converting from FishNet
    • Lobby System
    • Networking custom classes, structs & types
    • Chat system with broadcasts
    • Easy Multiplayer Physics (input Sync)
  • 🎮Full game guides
    • 🔫First Person Shooter
    • 🪓Survival Game
  • 🖥️Systems and modules
    • Network Manager
      • Network Rules
      • Network Prefabs
      • Network Visibility
        • Distance condition
      • Transports
        • Composite Transport
        • UDP Transport
        • Web Transport
        • Local Transport
        • Steam Transport
        • Purr Transport
      • Authentication
    • PlayerID (Client connection)
    • Network Identity
      • NetworkBehaviour
      • Ownership
      • Sync Types
        • SyncVar
        • SyncList
        • SyncArray
        • SyncQueue
        • SyncDictionary
        • SyncEvent
        • SyncHashset
        • SyncTimer
      • Don't destroy on load
    • Network Modules
    • Collider Rollback
    • Client Side Prediction
      • Overview
      • Predicted Identities
      • Predicted Hierarchy
      • Best Practices
      • Input Handling
      • State Handling
    • Plug n' play components
      • Network Transform
      • Network Animator
      • Network Reflection (Auto Sync)
      • State Machine (Auto Networked)
    • Spawning & Despawning
    • Remote Procedure Call (RPC)
      • Generic RPC
      • Static RPC
      • Awaitable RPC
      • Direct Local Execution of RPCs
    • Instance Handler
    • Scene Management
    • Broadcast
  • 🤓Terminology
    • Early Access
    • Channels
    • Client Auth/Everyone (Unsafe)
    • Host
    • Server Auth (Safe)
  • 💡Integrations
    • Dissonance
    • Cozy Weather
Powered by GitBook
On this page
  1. Terminology

Channels

Channels are for the developer to decide how the data is sent. Typically the reliable channels are the most commonly used, but comes at a higher data cost. So if you are sending something all the time and you don't necessarily care if you lose a packet or two, the Unreliable channel might be a good option for you.

public enum Channel : byte
{
    /// <summary>
    /// It ensures that the data is received but the order is not guaranteed.
    /// </summary>
    ReliableUnordered,
    
    /// <summary>
    /// Packets are guaranteed to be in order but not guaranteed to be received.
    /// </summary>
    UnreliableSequenced,
    
    /// <summary>
    /// Packets are guaranteed to be received in order. -- Default channel
    /// </summary>
    ReliableOrdered,
    
    /// <summary>
    /// Only the last sent packet is guaranteed to be received.
    /// </summary>
    ReliableSequenced,
    
    /// <summary>
    /// Packets are not guaranteed to be received nor in order.
    /// </summary>
    Unreliable
}
PreviousEarly AccessNextClient Auth/Everyone (Unsafe)

Last updated 8 months ago

🤓