TNet 3  3.0.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1234]
 CDataErrorExceptionThe exception that is thrown when an error in input stream occurs during decoding.
 CInvalidParamExceptionThe exception that is thrown when the value of an argument is outside the allowable range.
 CBinaryExtensionsBinaryReader and BinaryWriter extension methods.
 CBufferThis class merges BinaryWriter and BinaryReader into one.
 CCachedFuncFunctions gathered via reflection get cached along with their object references and expected parameter types.
 CChannelA channel contains one or more players. All information broadcast by players is visible by others in the same channel.
 CCreatedObjectCreated objects are saved by the channels.
 CInfoChannel information class created as a result of retrieving a list of channels.
 CRFCRemote function call entry stored within the channel.
 CComponentSerializationThis class contains DataNode serialization methods for Unity components that make it possible to serialize behaviours and game objects.
 CCounterCounter is a value that automatically changes with time. It's ideal for resources.
 CDatagramSimple datagram container – contains a data buffer and the address of where it came from (or where it's going).
 CDataNodeData Node is a hierarchical data type containing a name and a value, as well as a variable number of children. Data Nodes can be serialized to and from IO data streams. Think of it as an alternative to having to include a huge 1 MB+ XML parsing library in your project
 CDataNodeContainerSimple container class holding a dataNode with convenient Get and Set functions.
 CFieldOrPropertyConvenient wrapper for a getter and setter of a field or property on the chosen object.
 CFieldOrPropertyExtensionsConvenience extension methods for the TNet.Property.
 CFileServerBase class for Game and Lobby servers capable of saving and loading files.
 CGameClientClient-side logic.
 CGameServerGame server logic. Handles new connections, RFCs, and pretty much everything else. Example usage: GameServer gs = new GameServer(); gs.Start(5127);
 CIBinarySerializableIf custom or simply more efficient serialization is desired, derive your class from IBinarySerializable. Ideal use case would be to reduce the amount of data sent over the network via RFCs.
 CIDataNodeSerializableImplementing the IDataNodeSerializable interface in your class will make it possible to serialize that class into the Data Node format more efficiently.
 CIgnoredByTNetCan be used to mark fields as ignored by TNet-based serialization.
 CList< T >This improved version of the System.Collections.Generic.List that doesn't release the buffer on Clear(), resulting in better performance and less garbage collection.
 CLobbyServerAbstract class for a lobby server.
 CLobbyServerLinkThe game server cannot communicate directly with a lobby server because that server can be TCP or UDP based, and may also be hosted either locally or on another computer. And so we use a different class to "link" them together – the LobbyServerLink. This class will link a game server with a local lobby server.
 CObsIntObfuscated type integer. Usable just like any integer, but when it's in memory it's not recognizable. Useful for avoiding CheatEngine lookups.
 CPlayerClass containing basic information about a remote player.
 CRCCRemote Creation Call attribute. Used to identify functions that are supposed to executed when custom OnCreate packets arrive.
 CRFCRemote Function Call attribute. Used to identify functions that are supposed to be executed remotely.
 CSerializationThis class contains various serialization extension methods that make it easy to serialize any object into binary form that's smaller in size than what you would get by simply using the Binary Formatter. If you want more efficient serialization, implement IBinarySerializable.
 CServerListServer list is a helper class containing a list of servers.
 CTcpLobbyServerOptional TCP-based listener that makes it possible for servers to register themselves with a central location for easy lobby by clients.
 CTcpLobbyServerLinkTCP-based lobby server link. Designed to communicate with a remote TcpLobbyServer. You can use this class to register your game server with a remote lobby server.
 CTcpPlayerClass containing information about connected players.
 CTcpProtocolCommon network communication-based logic: sending and receiving of data via TCP.
 CTListGeneric interface with an Add function so that it can be used by the Serializer.
 CTNAutoCreateInstantiate the specified prefab at the game object's position.
 CTNAutoJoinExtremely simplified "join a server" functionality. Attaching this script will make it possible to automatically join a remote server when the game starts. It's best to place this script in a clean scene with a message that displays a "Connecting, please wait..." message.
 CTNAutoSyncThis script makes it really easy to sync some value across all connected clients. Keep in mind that this script should ideally only be used for rapid prototyping. It's still better to create custom to-the-point sync scripts as they will yield better performance.
 CTNBehaviourIf your MonoBehaviour will need to use a TNObject, deriving from this class will make it easier.
 CTNEventReceiverConvenience class that you can inherit from that implements all of TNet's common notifications for user convenience. Note that this script should ideally only be used on a manager class that needs to know about all these events. If your class only needs a few of these events, consider simply subscribing to them directly using the same += and -= logic in OnEnable/OnDisable.
 CTNEventsContainer class with all the possible notification delegates used by TNet's GameClient.
 CTNLobbyClientServer Lobby Client is an abstract class designed to communicate with the Lobby Server. You should instantiate protocol-specific versions: TNTcpLobbyClient or TNUdpLobbyClient, and you should only have one of them active at a time, not both.
 CTNManagerTasharen Network Manager tailored for Unity.
 CTNObjectTasharen Network Object makes it possible to easily send and receive remote function calls. Unity networking calls this type of object a "Network View".
 CTNServerInstanceTasharen Network server tailored for Unity.
 CTNSyncRigidbodyThis script makes it easy to sync rigidbodies across the network. Use this script on all the objects in your scene that have a rigidbody and can move as a result of physics-based interaction with other objects. Note that any user-based interaction (such as applying a force of any kind) should still be sync'd via an explicit separate RFC call for optimal results.
 CTNTcpLobbyClientTCP-based lobby client, designed to communicate with the TcpLobbyServer.
 CTNUdpLobbyClientUDP-based lobby client, designed to communicate with the UdpLobbyServer.
 CToolsGeneric sets of helper functions used within TNet.
 CTypeExtensionsStatic helper class containing useful extensions for the System.Type class.
 CUdpLobbyServerOptional UDP-based listener that makes it possible for servers to register themselves with a central location for easy lobby by clients.
 CUdpLobbyServerLinkUDP-based lobby server link. Designed to communicate with a remote UdpLobbyServer. You can use this class to register your game server with a remote lobby server.
 CUdpProtocolUDP class makes it possible to broadcast messages to players on the same network prior to establishing a connection.
 CUnityToolsCommon Tasharen Network-related functionality and helper functions to be used with Unity.
 CUPnPUniversal Plug & Play functionality: auto-detect external IP and open external ports. Technically this class would be a fair bit shorter if I had used an XML parser... However I'd rather not, as adding the XML library also adds 1 megabyte to the executable's size in Unity
 CWorkerThreadWorker thread is a convenience class that can execute specified code on a separate thread. The worker thread class takes care of creating multiple threads for concurrent code execution.
 CColoredObjectThis simple script shows how to change the color of an object on all connected clients. You can see it used in Example 1.
 CDraggedObjectThis script shows how it's possible to associate objects with players. You can see it used on draggable cubes in Example 3.
 CExampleCarExtended car that adds TNet-based multiplayer support.
 CExampleCarGUIVisible GUI element for the car allowing the player to adjust the frequency of network updates.
 CExampleCarNoNetworkingSimple single-player version of the car example that doesn't have TNet-based multiplayer.
 CExampleChaseCameraVery simple chase camera used on the Car example. This script is attached to the "Chase Camera" object underneath the Car prefab. It takes care of smoothly tweening the position and rotation of the chase camera. Note that in order for this script to work properly the car's rigidbody must be set to "Interpolate".
 CExampleChaseCameraTargetThis script is used by the ExampleChaseCamera. It's attached to camera's parent object. The ExampleChaseCamera script needs a reference to what it's working with, and this script is used to provide just that. The ExampleChaseCamera script is attached to a dynamically instantiated object (the example car), so it's not possible to reference this transform directly.
 CExampleChatThis example script shows how to create a chat window powered by the Tasharen Network framework. You can see it used in Example Chat.
 CExampleCreateThis script shows how to create objects dynamically over the network. The same Instantiate call will work perfectly fine even if you're not currently connected. This script is attached to the floor in Example 2.
 CExampleDestroyThis script shows how to destroy an object when clicked on.
 CExampleErrorSimple script that can be attached to a text field in order to show all error messages.
 CExampleMenuThis script provides a main menu for all examples. The menu is created in Unity's built-in Immediate Mode GUI system. The menu makes use of the following TNet functions:
 CExamplePlayerAvatarThis script is attached to the car used by the Multiple Channels example. TNet 3 allows you to be present in multiple channels at once and join/leave them at will. The most obvious example would be an open world multiplayer game where you want players to only be able to see others that are close to them and not receive packets from those that they aren't close to. This script handles joining nearby channels and transferring the object it's attached to to the closest channel.
 CExampleRegionThis script is attached to visible regions in the multi-channel example scene, and is used both to show which channels the player is currently in (by coloring the renderer), as well as to keep a list of regions that can be joined by the ExamplePlayerAvatar script.
 CImproveLatencyThis simple example script shows how to improve latency in a scene by disabling the Nagle's buffering algorithm. If you run Example 3 on a mobile device using only TCP and without this script, other players may notice that the mobile player is "lagging". This is because by default the buffering algorithm is on, and seems to be overly aggressive on some devices. For games that require quick response times, turning on "improveLatency" flag will improve performance.'s_algorithm
 CLZMAConvenience wrapper for the LZMA library by 7-Zip. LZMA library is distributed under the public domain license:
 CMoveSpinObjectSpin the object by dragging it sideways and move it up/down.
 CSpringTransformAttach this script to a renderer that's a child of a rigidbody in order to make its update smooth even at times of high network latency.
 CTNAutoSyncInspectorInspector class used to view and edit TNAutoSync.
 CTouchHandlerVery simple event manager script that sends out basic touch and mouse-based notifications using NGUI's syntax.