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. Systems and modules
  2. Network Manager

Network Visibility

PreviousNetwork PrefabsNextDistance condition

Last updated 8 months ago

Overall this system deciphers whether the server should send data from a Network Identity to a specific client. The takes in a network visibility rule-set, and this rule-set consists of rules/conditions.

In the you can modify the behavior of this as to whether the object is destroyed, de-spawned or simply stays without receiving or sending data.

A simple example of this is the . If the distance is set to 50 units, if the player is further away from an object than 50 units, they won't receive any data. This is great for performance, especially in larger environments and games, so we don't have to send unnecessary data.

The network visibility rules/conditions, can be added as global conditions, but they can also be added on a per basis, by adding a custom rule-set as an override.

You can also custom make your own condition for cases where the pre-made conditions aren't fitting. All you need to do is inherit from INetworkVisibilityRule and implement the HasVisibility rule, and simply return true or false depending on whether it should send data or not.

🖥️
Network Manager
Network Rules
Distance Condition
Network Identity