Skip to content

Commit 4b46be3

Browse files
committed
Much improved readme
1 parent 132ba5a commit 4b46be3

1 file changed

Lines changed: 19 additions & 19 deletions

File tree

README.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
11
# PurrNet EOS Transport
22

3-
An [Epic Online Services](https://dev.epicgames.com/en-US/services) P2P transport for [PurrNet](https://purrnet.dev/), built on top of the [PlayEveryWare EOS Unity Plugin](https://github.com/PlayEveryWare/eos_plugin_for_unity_upm).
4-
5-
Use it when you want EOS-friend-list / lobby flows to drive your PurrNet connection without standing up a relay of your own.
3+
[Epic Online Services](https://dev.epicgames.com/en-US/services) P2P transport for [PurrNet](https://purrnet.dev/). Drop it on your `NetworkManager` and PurrNet rides on top of EOS — no relay to host, no extra glue.
64

75
## Install
86

9-
Add the package to your Unity project's `Packages/manifest.json`:
7+
Easiest path — open **Tools → PurrNet → PurrNet Packages** and hit install on EOS Transport. One click and you're done.
8+
9+
If you'd rather pull it in by hand, open Unity's Package Manager → **Add package from git URL** and paste:
1010

11-
```json
12-
"dev.purrnet.eostransport": "https://github.com/PurrNet/PurrNetEOSTransport.git?path=/Assets/EOSTransport#release"
11+
```
12+
https://github.com/PurrNet/PurrNetEOSTransport.git?path=/Assets/EOSTransport#release
1313
```
1414

15-
For the in-development branch, swap `#release` for `#dev`.
15+
Swap `#release` for `#dev` if you want the in-development branch.
1616

17-
### Required dependencies
17+
You'll also need the [PlayEveryWare EOS Plugin](https://github.com/PlayEveryWare/eos_plugin_for_unity_upm). Same flow — Package Manager → **Add package from git URL**:
1818

19-
| Package | Why |
20-
|---|---|
21-
| [PurrNet](https://github.com/PurrNet/PurrNet) | The networking layer this transport plugs into. |
22-
| [PlayEveryWare EOS Plugin](https://github.com/PlayEveryWare/eos_plugin_for_unity_upm) (`com.playeveryware.eos`) | Provides the EOS SDK + `EOSManager`. The transport is gated by a `versionDefine` on this package, so the runtime code only compiles when it's present. |
19+
```
20+
https://github.com/PlayEveryWare/eos_plugin_for_unity_upm.git
21+
```
22+
23+
That gives you the EOS SDK and `EOSManager`. The transport's runtime code is gated by a `versionDefine` on `com.playeveryware.eos`, so it only compiles once the plugin is in.
2324

24-
You'll also need an Epic dev account and product credentials configured via **Tools → EOS Plugin → EOS Configuration**.
25+
Then set up your Epic dev account and product credentials under **Tools → EOS Plugin → EOS Configuration**.
2526

2627
## Usage
2728

2829
1. Add the `EOSTransport` component to your `NetworkManager`.
29-
2. Configure `socketName` (any string both peers agree on) and `remoteProductUserId` (the host's EOS Product User ID — set this on the client side before connecting).
30-
3. Server starts via `NetworkManager.StartServer()`; client connects via `NetworkManager.StartClient()`.
30+
2. Set `socketName` (any string, both peers just need to agree on it).
31+
3. On the client, set `remoteProductUserId` to the host's EOS Product User ID before connecting.
32+
4. `NetworkManager.StartServer()` to host, `NetworkManager.StartClient()` to join.
3133

32-
Host loopback is handled automatically — calling `StartClient()` on the same `NetworkManager` after `StartServer()` short-circuits to in-process delivery instead of routing through EOS.
34+
If you call `StartClient()` on the same `NetworkManager` that's already hosting, it short-circuits to in-process delivery instead of going through EOS. Host loopback, no extra wiring.
3335

3436
## Attribution
3537

36-
Originally derived from [`quentinleon/PurrNetEOSTransport`](https://github.com/quentinleon/PurrNetEOSTransport) (MIT, © 2025 Quentin Leon). This version is substantially rewritten — it adds an `EOSPeer` abstraction, fragmentation queue with `LimitExceeded` backpressure, host loopback, channel-to-reliability mapping, and notification-handle cleanup guards. Maintained under the PurrNet org.
37-
38-
Both copyright lines are preserved in [`LICENSE`](./LICENSE).
38+
Forked from [`quentinleon/PurrNetEOSTransport`](https://github.com/quentinleon/PurrNetEOSTransport) (MIT, © 2025 Quentin Leon) and rewritten — `EOSPeer` abstraction, fragmentation queue with `LimitExceeded` backpressure, host loopback, channel-to-reliability mapping, and notification-handle cleanup. Both copyright lines live in [`LICENSE`](./LICENSE).
3939

4040
## License
4141

0 commit comments

Comments
 (0)