# FishNet Building Blocks

- [Components](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components.md): Components are included scripts which you may attach to your objects for additional functionality.
- [Managers](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers.md): Manager components are generally only added once per NetworkManager and play a vital role on configuring your project.
- [NetworkManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/network-manager.md): The NetworkManager is an essential component for running the client and server. It acts as a bridge between core components and configuring your network.
- [TimeManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/time-manager.md): The TimeManager handles and provides callbacks related to network timing.
- [PredictionManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/predictionmanager.md): The PredictionManager provides states, callbacks, and settings to fine tuning prediction for your game type.
- [ServerManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/server-manager.md): The ServerManager handles validation of clients and a variety of settings only applicable to the server.
- [ClientManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/clientmanager.md): The ClientManager provides settings unique to clients.
- [SceneManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/scenemanager.md): The SceneManager handles networking scenes between the server and clients, including updating active scenes, addressable scenes, provide helpful callbacks, and more.
- [TransportManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/transportmanager.md): The TransportManager handles talking to the transports as well sending, receiving, and even customizing packets on the fly.
- [IntermediateLayer](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/transportmanager/intermediatelayer.md): The IntermediateLayer is a pass-through for data in and out. This feature can be used to encrypt data, inject headers, and more.
- [StatisticsManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/statisticsmanager.md): The StatisticManager provides statics about Fish-Networking for a variety of tasks, including monitoring network traffic.
- [ObserverManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/observermanager.md): The ObserverManager assists in controlling what network objects each client may see.
- [HashGrid](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/observermanager/hashgrid.md): The HashGrid is the managing script for when using the Grid Observer Condition.
- [RollbackManager (Pro Feature)](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/rollbackmanager-pro-feature.md): RollbackManager contains configurations and optimizations for how colliders are sent back in time when using lag compensation.
- [DebugManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/managers/debugmanager.md): The DebugManager helps you debug various networking functions when in the Unity Editor or Development builds.
- [Prediction](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/prediction.md): Prediction components are for use with FishNet's prediction systems. Learn more about each of them here!
- [Network Collider](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/prediction/network-collider.md): The NetworkCollider components are a simple way to use Trigger and Collision callbacks with prediction.
- [NetworkCollision](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/prediction/network-collider/networkcollision.md): NetworkCollision is used to execute collision events for use with prediction.
- [NetworkCollision2D](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/prediction/network-collider/networkcollision2d.md): NetworkCollision2D is used to execute collision2D events for use with prediction.
- [NetworkTrigger](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/prediction/network-collider/networktrigger.md): NetworkTrigger is used to execute trigger events for use with prediction.
- [NetworkTrigger2D](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/prediction/network-collider/networktrigger2d.md): NetworkTrigger2D is used to execute trigger2D events for use with prediction.
- [OfflineRigidbody](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/prediction/offlinerigidbody.md): This component can be used to prevent client side objects from running physics too quickly due to prediction replays.
- [PredictedOwner](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/prediction/predictedowner.md): The PredictedOwner component allows a user to claim ownership of an object immediately and be able to use it before the server officially gives the ownership over.
- [PredictedSpawn](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/prediction/predictedspawn.md): The PredictedSpawn component allows you to spawn this Network Object directly on the client side.
- [Utilities](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/utilities.md): There are multiple commonly needed helper or debugging components that come with Fish-Networking.
- [PingDisplay](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/utilities/pingdisplay.md): The PingDisplay can be used to easily display the client's network ping during development.
- [BandwidthDisplay](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/utilities/bandwidthdisplay.md): The BandwidthDisplay component is a simple development GUI to show the bandwidth ingress and egress.
- [Authenticator](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/utilities/authenticator.md): Authenticators are an additional layer of security. A client must pass the authenticator in order to communicate with the game server.
- [Tick Smoothers](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/tick-smoothers.md): These components smooths a child graphical object over frames between each network tick. These are useful for prediction and smoothing graphics on larger physics steps.
- [NetworkTickSmoother](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/tick-smoothers/networkticksmoother.md): The Network Tick Smoother component ensures smooth and visually consistent movement of networked objects by interpolating their positions, rotations, and scale between network updates.
- [OfflineTickSmoother](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/tick-smoothers/offlineticksmoother.md): The Offline Tick Smoother component ensures smooth and visually consistent movement of non-networked objects by interpolating their positions, rotations, and scale between network updates.
- [MonoTickSmoother \[Obsolete\]](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/tick-smoothers/monoticksmoother-obsolete.md): MonoTickSmoother smooths a child graphical object over frames between each network tick. This component can be used on non-networked objects.
- [DetachableNetworkTickSmoother \[Obsolete\]](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/tick-smoothers/detachablenetworkticksmoother-obsolete.md): This component is primarily used for smooth camera movement between ticks. It can be used with prediction or normal design.
- [NetworkObject](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/network-object.md): This component is attached automatically anytime a script which inherits from NetworkBehaviour is added to your object.
- [NetworkBehaviour](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/network-behaviour-components.md): NetworkBehaviour allows your scripts to perform networked actions, such as synchronizing data, responding to network events, and handling remote procedure calls (RPCs).
- [NetworkTransform](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/network-transform.md): The NetworkTransform synchronizes transform properties across the network.
- [NetworkAnimator](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/networkanimator.md): The NetworkAnimator component synchronizes animations across the network.
- [NetworkObserver](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/network-observer.md): This component lets you override the default observer conditions for a specific network object.
- [DefaultScene](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/defaultscene.md): This component can be used to easily load an online scene when network starts and an offline one when it stops.
- [PlayerSpawner](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/playerspawner.md): The Player Spawner component can be used to spawn a game object for a client once they connect to the game.
- [ServerSpawner](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/serverspawner.md): An easy tool to assist with spawning specific objects as soon as the server starts.
- [ColliderRollback (Pro Feature)](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/components/colliderrollback.md): ColliderRollback allows an object's colliders to be rolled back for lag compensation.
- [Prefabs](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/prefabs.md): Prefabs are reusable GameObject assets containing components, property values, and child GameObjects.
- [NetworkManager](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/prefabs/networkmanager.md): A pre-configured NetworkManager prefab, for ease-of-use.
- [NetworkHudCanvas](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/prefabs/networkhudcanvas.md): A basic HUD for starting and stopping the client and server, useful for development.
- [ScriptableObjects](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects.md): Scriptable Objects utilized by FishNet for configuration.
- [ObserverConditions](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/observerconditions.md)
- [DistanceCondition](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/observerconditions/distancecondition.md)
- [GridCondition](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/observerconditions/gridcondition.md)
- [HostOnlyCondition](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/observerconditions/hostonlycondition.md)
- [MatchCondition](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/observerconditions/matchcondition.md)
- [OwnerOnlyCondition](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/observerconditions/owneronlycondition.md)
- [SceneCondition](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/observerconditions/scenecondition.md)
- [SpawnablePrefabs](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/spawnableprefabs.md)
- [DefaultPrefabObjects](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/spawnableprefabs/defaultprefabobjects.md)
- [SinglePrefabObjects](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/spawnableprefabs/singleprefabobjects.md)
- [DualPrefabObjects](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/spawnableprefabs/dualprefabobjects.md)
- [LevelLoggingConfiguration](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/scriptableobjects/levelloggingconfiguration.md): The scriptable object that allows you to customize what FishNet will output logs of.
- [Transports](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports.md): Transports control how data is sent, received, and handled over the network.
- [Tugboat](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/tugboat.md): The default transport of FishNet, utilizing the power, efficiency and reliability of LiteNetLib.
- [Multipass](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/multipass.md)
- [Yak (Pro Feature)](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/yak-pro-feature.md)
- [Bayou](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/bayou.md)
- [FishyWebRTC](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/fishywebrtc.md)
- [FishyUnityTransport](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/fishyunitytransport.md)
- [FishySteamworks (Steam)](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/fishysteamworks.md)
- [FishyEOS (Epic Online Services)](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/fishyeos-epic-online-services.md)
- [FishyFacepunch (Steam)](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/fishyfacepunch-steam.md)
- [FishyRealtime (Photon)](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/transports/fishyrealtime.md)
- [Configuration and Tools](https://fish-networking.gitbook.io/docs/fishnet-building-blocks/configuration-and-tools.md): Information about FishNet's additional configuration and editor tools.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fish-networking.gitbook.io/docs/fishnet-building-blocks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
