Open UPM compatibility

Open
#107 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
csharp, unity

Research direction

Compare the upm-2 branch with master and the 2.0.4 release tag, starting with package.json, colyseus.nativewebsocket.asmdef, WebSocket.jslib, WebSocket.jspre, and the WebGL C# files. Done means the released package layout includes the Unity assets and assembly definition needed for OpenUPM, with the shared sources and required .meta files present.

Written by the indexing model from the issue text.

Description

Hi!
As of right now, the changes necessary for using this package through the unity package manager (UPM) are on a special branch. https://github.com/endel/NativeWebSocket.git#upm-2
This is not the same as the release tags https://github.com/endel/NativeWebSocket/compare/2.0.4...upm-2
There is some assembly missing on master (and on the release tags).
In my project, we're using OpenUMP and that seems to rely on the release tags. But since the tag doesn't have the assembly definition, the version at OpenUPM isn't really working.
Would it be possible to maybe have special release tags for OpenUPM or actually merge the changes necessary for UPM onto master?
Not sure how the release process works right now but it would be very cool if we could use this package through OpenUPM =)

Here's a claude analysis comparing the upm-2 branch and master to showcase the file differences.

Both branches point at the same logical version (2.0.4, synced 2026-03-23), but they are orphan branches with no shared git history — GitHub's compare endpoint refuses them with "No common ancestor."

master — development repo layout

  • Tip: cbbf04d "bump patch version to 2.0.4" (2026-03-23)
  • Top level: .editorconfig, .github/, Directory.Build.props, NativeWebSocket.sln, README.md, Media/, benchmarks/, examples/, integrations/, node-websocket-server/, src/
  • Sources live under src/NativeWebSocket/: IWebSocket.cs, WebSocket.cs, WebSocketTypes.cs, NativeWebSocket.csproj (no .meta files, no asmdef, no WebGL .jslib/.jspre)

upm-2 — Unity Package Manager layout (auto-generated)

  • Tip: 522f0c3 "Update upm-2 to output generated at cbbf04d" (2026-03-23)
  • Top level: package.json (com.endel.nativewebsocket 2.0.4, Unity ≥ 2019.1, no dependencies), WebSocket/, Samples~/WebSocketExample/
  • WebSocket/ adds the Unity-only bits missing from master:
    • colyseus.nativewebsocket.asmdef — assembly definition
    • WebSocket.jslib + WebSocket.jspre — WebGL plugin code
    • WebSocketFactoryWebGL.cs, WebSocketWebGL.cs — WebGL C# implementation
    • *.meta files for every asset
    • The shared sources from master (IWebSocket.cs, WebSocket.cs, WebSocketTypes.cs)
Dominant language
C#
Stars
1.7k
Forks
206
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from endel/NativeWebSocket

All issues in endel/NativeWebSocket

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.