Fish-Net: Networking Evolved
  • Overview
    • What is FishNet?
      • Features
        • Unity Compatibility
        • Performance
          • Benchmark Setup
          • Fish-Networking Vs Mirror
      • Pro, Projects, and Support
      • Business Support
      • Development
        • Changelog
        • Roadmap
      • Branding
      • Legal Restrictions
    • Showcase
      • Upcoming Releases
    • Asset Integrations
      • Fish-Network-Discovery
    • Community Resources
  • Guides
    • Getting Started
      • Installing Fish-Networking
      • Getting Connected
      • Preparing Your Player
      • Moving Your Player Around
      • Spawning and Despawning Items
      • Using SyncVars to Sync Colors
      • Connecting to Remote Devices
      • Beyond the Basics
    • High-Level Overview
      • Fundamentals
      • Networking Models
      • Terminology
        • Server, Client, Host
        • Communicating
        • Miscellaneous
      • Transports
    • Features
      • Server and Client Identification
        • Executing on Server or Client
        • NetworkConnections
      • Networked GameObjects and Scripts
        • NetworkObjects
        • NetworkBehaviour
        • Spawning and Despawning
          • Predicted Spawning
          • Nested NetworkObjects
          • Object Pooling
      • Network State Events
      • Network Communication
        • Remote Procedure Calls
        • SyncTypes
          • Customizing Behavior
          • SyncVar
          • SyncList
          • SyncHashSet
          • SyncDictionary
          • SyncTimer
          • SyncStopwatch
          • Custom SyncType
        • Broadcasts
      • Data Serialization
        • Custom Serializers
          • Interface Serializers
          • Inheritance Serializers
      • Ownership
        • Using Ownership To Read Values
      • Area of Interest (Observer System)
        • Modifying Conditions
        • Custom Conditions
      • Scene Management
        • Scene Events
        • Scene Data
          • SceneLookupData
          • SceneLoadData
          • SceneUnloadData
        • Loading Scenes
          • Automatic Online and Offline Scenes
        • Unloading Scenes
        • Scene Stacking
        • Scene Caching
        • Scene Visibility
        • Persisting NetworkObjects
        • Custom Scene Processors
          • Addressables
      • InstanceFinder
      • Addressables
      • Transports
        • Multipass
      • Prediction
        • What Is Client-Side Prediction
        • Configuring PredictionManager
        • Configuring TimeManager
        • Configuring NetworkObject
        • Offline Rigidbodies
        • Interpolations
        • Creating Code
          • Controlling An Object
          • Non-Controlled Object
          • Understanding ReplicateState
            • Using States In Code
            • Predicting States In Code
          • Advanced Controls
        • Custom Comparers
        • PredictionRigidbody
        • Using NetworkColliders
      • Lag Compensation
        • States
        • Raycast
        • Projectiles
    • Upgrading API
    • Server Hosting
      • Edgegap - Official Partner
        • Getting Started with Edgegap
      • Hathora
        • Getting Started with Hathora
      • Amazon Web Services (AWS)
        • Getting Started with AWS
    • Upgrading To Fish-Networking
    • Troubleshooting
      • Technical Limitations
      • Creating Bug Reports
        • Report Example
      • FAQ
  • FishNet Building Blocks
    • Components
      • Managers
        • NetworkManager
        • TimeManager
        • PredictionManager
        • ServerManager
        • ClientManager
        • SceneManager
        • TransportManager
          • IntermediateLayer
        • StatisticsManager
        • ObserverManager
          • HashGrid
        • RollbackManager (Pro Feature)
      • Prediction
        • Network Collider
          • NetworkCollision
          • NetworkCollision2D
          • NetworkTrigger
          • NetworkTrigger2D
        • OfflineRigidbody
        • PredictedOwner
        • PredictedSpawn
      • Utilities
        • PingDisplay
        • BandwidthDisplay
        • Tick Smoothers
          • NetworkTickSmoother
          • OfflineTickSmoother
          • MonoTickSmoother [Obsolete]
          • DetachableNetworkTickSmoother [Obsolete]
      • PlayerSpawner
      • DefaultScene
      • ServerSpawner
      • Authenticator
      • ColliderRollback
      • NetworkAnimator
      • NetworkBehaviour
      • NetworkTransform
      • NetworkObject
      • NetworkObserver
    • Prefabs
      • NetworkManager
      • NetworkHudCanvas
    • ScriptableObjects
      • ObserverConditions
        • DistanceCondition
        • GridCondition
        • HostOnlyCondition
        • MatchCondition
        • OwnerOnlyCondition
        • SceneCondition
      • SpawnablePrefabs
        • DefaultPrefabObjects
        • SinglePrefabObjects
        • DualPrefabObjects
      • LevelLoggingConfiguration
    • Transports
      • Tugboat
      • Multipass
      • Yak (Pro Feature)
      • Bayou
      • FishyWebRTC
      • FishyUnityTransport
      • FishySteamworks (Steam)
      • FishyEOS (Epic Online Services)
      • FishyFacepunch (Steam)
      • FishyRealtime (Photon)
  • API Documentation
    • API Reference
Powered by GitBook
On this page
  • Overview
  • No-break Promise
  • Long-Term Support
  • External Links
  • Community Made Resources
  • Need more documentation?
  1. Overview

What is FishNet?

NextFeatures

Last updated 12 days ago

Overview

Fish-Networking (FishNet) is an original free versatile networking solution for , built from the ground up, offering more features than any other free solution.

FishNet is server authoritative by design by allowing the use of dedicated servers, but does permit users to act as server and client, for faster development and testing. There are no CCU caps or CCU paywalls in FishNet, you can also use any server host you want to, including hosting the server yourself or letting your players do it.

Any kind of network topology is supported through the Transport system. Transports can use a variety of technologies to allow communications between server, client, and even third parties.

High-level API allows you to quickly access the ability to synchronize states, logic, objects, and more, without needing to get your hands dirty. We also believe in providing the best experience possible; you may additionally utilize low-level functionality via included events or inheritance.

No-break Promise

Developing projects can take a lot of time, and updating your networking solution along the way is often inevitable. Fish-Networking promises to not release any breaking API or behavior changes between major versions. Major releases will occur no more frequent than every six months, unless absolutely necessary.

When breaks do occur we will do our best to keep the changes simple. We also have our section which will describe planned breaks, the next major release, and how to remedy breaks for each version.

Long-Term Support

Fish-Networking is the only solution to offer free LTS. We will be using a unique but effective approach at creating LTS releases. Rather than the standard expectations of being locked into a version for long-term support, FishNet is providing what we refer to as 'Release' and 'Development' switches. Any version of Fish-Networking which ends in R supports switching between Release and Development features, for example: 3.10.7R.

With Fish-Networking Long-Term support does not mean being stuck on older versions! Whenever a change or new feature becomes available public you may disabled it at anytime. Disabling an upcoming change will suspend the changes and allow FishNet to operate on the proven stable version of the same feature. This allows you to stay on the latest releases to get the latest tech and bug fixes without worrying about each update breaking your project.

To toggle between beta features simply use the Fish-Networking menu in engine, choose Beta, and turn on or off each feature to your liking.

External Links

Community Made Resources

There are many third-party add-ons, integrations, and resources that can aid you through your development. Many assets also have direct support for FishNet and work well together with it.

Asset Integrations Community Resources

Need more documentation?

Documentation is especially important to newcomers, and we understand this. As Fish-Networking developers it can at times be difficult to know what is expected or lacking for beginners. If you find a topic unclear, or not covered well enough, please visit our and create a new discussion requesting improvements.

You can also contribute to our documentation directly using !

Unity
Break Solutions
GitHub Discussions
GitHub
Page cover image
Cover

Fish-Networking GitHub

Cover

Asset Store

Cover

Community Discord