Weaver was a basic networking engine created for Unity.
This package was created for educational purposes and is not intended for production use. If you are looking for a Unity networking solution you are enocuraged to look at Fish-Net, Mirror, or Netcode for GameObjects.
Options for installation:
- Option A: Package Manager with Git (Recommended)
- Ensure you have Git installed and your Unity Version supports Git package manager imports (2019+)
- In Unity go to Window -> Package Manager
- Press the + icon in the top left
- Click "Add package from Git URL"
- Enter the following into the field and press enter:
https://github.com/Orange-Panda/Weaver-Networking.git
- Option B: Package Manager from Disk
- Download the repository and note down where the repository is saved.
- In Unity go to Window -> Package Manager
- Press the + icon in the top left
- Click "Add package from disk"
- Select the file from Step 1
- Option C: Import Package Manually
- Download the repository
- In Unity's project window drag the folder into the "Packages" folder on the left hand side beside the "Assets" folder
- Under the releases tab of this GitHub download the Examples.zip folder and import the contents into your assets folder.
- Create a new empty game object and add the "Network Core" script to the game object
- Add the Arena Example to your scene.
- Add the Network UI Example prefab into your scene.
- If prompted to import TextMeshPro, do so. It is not necessary to import TextMeshPro's Examples/Extras.
- Move the camera to a location where you can see the arena.
- Build the client and run several instances of the game connected to each other.
- These example objects should provide good reference for how to interface with the Network Engine on your own.
- The main class to understand is "NetworkComponent"
- Scene switching is not possible.
- Packet sizes are limited to a specific length. As a result having too many objects or object data sent at once will cause data to be lost.
- While this limit can be raised it increases the possibility of overflowing the network pipeline, losing clients with slow or unreliable internet.
- Packets are sent as strings leading to a lot of wasted space on packets.