# FishNet Building Blocks

- [Components](/docs/fishnet-building-blocks/components.md): Components are included scripts which you may attach to your objects for additional functionality.
- [Managers](/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](/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](/docs/fishnet-building-blocks/components/managers/time-manager.md): The TimeManager handles and provides callbacks related to network timing.
- [PredictionManager](/docs/fishnet-building-blocks/components/managers/predictionmanager.md): The PredictionManager provides states, callbacks, and settings to fine tuning prediction for your game type.
- [ServerManager](/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](/docs/fishnet-building-blocks/components/managers/clientmanager.md): The ClientManager provides settings unique to clients.
- [SceneManager](/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](/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](/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](/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](/docs/fishnet-building-blocks/components/managers/observermanager.md): The ObserverManager assists in controlling what network objects each client may see.
- [HashGrid](/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)](/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](/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](/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](/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](/docs/fishnet-building-blocks/components/prediction/network-collider/networkcollision.md): NetworkCollision is used to execute collision events for use with prediction.
- [NetworkCollision2D](/docs/fishnet-building-blocks/components/prediction/network-collider/networkcollision2d.md): NetworkCollision2D is used to execute collision2D events for use with prediction.
- [NetworkTrigger](/docs/fishnet-building-blocks/components/prediction/network-collider/networktrigger.md): NetworkTrigger is used to execute trigger events for use with prediction.
- [NetworkTrigger2D](/docs/fishnet-building-blocks/components/prediction/network-collider/networktrigger2d.md): NetworkTrigger2D is used to execute trigger2D events for use with prediction.
- [OfflineRigidbody](/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](/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](/docs/fishnet-building-blocks/components/prediction/predictedspawn.md): The PredictedSpawn component allows you to spawn this Network Object directly on the client side.
- [Utilities](/docs/fishnet-building-blocks/components/utilities.md): There are multiple commonly needed helper or debugging components that come with Fish-Networking.
- [PingDisplay](/docs/fishnet-building-blocks/components/utilities/pingdisplay.md): The PingDisplay can be used to easily display the client's network ping during development.
- [BandwidthDisplay](/docs/fishnet-building-blocks/components/utilities/bandwidthdisplay.md): The BandwidthDisplay component is a simple development GUI to show the bandwidth ingress and egress.
- [Authenticator](/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](/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](/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](/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\]](/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\]](/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](/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](/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](/docs/fishnet-building-blocks/components/network-transform.md): The NetworkTransform synchronizes transform properties across the network.
- [NetworkAnimator](/docs/fishnet-building-blocks/components/networkanimator.md): The NetworkAnimator component synchronizes animations across the network.
- [NetworkObserver](/docs/fishnet-building-blocks/components/network-observer.md): This component lets you override the default observer conditions for a specific network object.
- [DefaultScene](/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](/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](/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)](/docs/fishnet-building-blocks/components/colliderrollback.md): ColliderRollback allows an object's colliders to be rolled back for lag compensation.
- [Prefabs](/docs/fishnet-building-blocks/prefabs.md): Prefabs are reusable GameObject assets containing components, property values, and child GameObjects.
- [NetworkManager](/docs/fishnet-building-blocks/prefabs/networkmanager.md): A pre-configured NetworkManager prefab, for ease-of-use.
- [NetworkHudCanvas](/docs/fishnet-building-blocks/prefabs/networkhudcanvas.md): A basic HUD for starting and stopping the client and server, useful for development.
- [ScriptableObjects](/docs/fishnet-building-blocks/scriptableobjects.md): Scriptable Objects utilized by FishNet for configuration.
- [ObserverConditions](/docs/fishnet-building-blocks/scriptableobjects/observerconditions.md)
- [DistanceCondition](/docs/fishnet-building-blocks/scriptableobjects/observerconditions/distancecondition.md)
- [GridCondition](/docs/fishnet-building-blocks/scriptableobjects/observerconditions/gridcondition.md)
- [HostOnlyCondition](/docs/fishnet-building-blocks/scriptableobjects/observerconditions/hostonlycondition.md)
- [MatchCondition](/docs/fishnet-building-blocks/scriptableobjects/observerconditions/matchcondition.md)
- [OwnerOnlyCondition](/docs/fishnet-building-blocks/scriptableobjects/observerconditions/owneronlycondition.md)
- [SceneCondition](/docs/fishnet-building-blocks/scriptableobjects/observerconditions/scenecondition.md)
- [SpawnablePrefabs](/docs/fishnet-building-blocks/scriptableobjects/spawnableprefabs.md)
- [DefaultPrefabObjects](/docs/fishnet-building-blocks/scriptableobjects/spawnableprefabs/defaultprefabobjects.md)
- [SinglePrefabObjects](/docs/fishnet-building-blocks/scriptableobjects/spawnableprefabs/singleprefabobjects.md)
- [DualPrefabObjects](/docs/fishnet-building-blocks/scriptableobjects/spawnableprefabs/dualprefabobjects.md)
- [LevelLoggingConfiguration](/docs/fishnet-building-blocks/scriptableobjects/levelloggingconfiguration.md): The scriptable object that allows you to customize what FishNet will output logs of.
- [Transports](/docs/fishnet-building-blocks/transports.md): Transports control how data is sent, received, and handled over the network.
- [Tugboat](/docs/fishnet-building-blocks/transports/tugboat.md): The default transport of FishNet, utilizing the power, efficiency and reliability of LiteNetLib.
- [Multipass](/docs/fishnet-building-blocks/transports/multipass.md)
- [Yak (Pro Feature)](/docs/fishnet-building-blocks/transports/yak-pro-feature.md)
- [Bayou](/docs/fishnet-building-blocks/transports/bayou.md)
- [FishyWebRTC](/docs/fishnet-building-blocks/transports/fishywebrtc.md)
- [FishyUnityTransport](/docs/fishnet-building-blocks/transports/fishyunitytransport.md)
- [FishySteamworks (Steam)](/docs/fishnet-building-blocks/transports/fishysteamworks.md)
- [FishyEOS (Epic Online Services)](/docs/fishnet-building-blocks/transports/fishyeos-epic-online-services.md)
- [FishyFacepunch (Steam)](/docs/fishnet-building-blocks/transports/fishyfacepunch-steam.md)
- [FishyRealtime (Photon)](/docs/fishnet-building-blocks/transports/fishyrealtime.md)
- [Configuration and Tools](/docs/fishnet-building-blocks/configuration-and-tools.md): Information about FishNet's additional configuration and editor tools.
