Skip to content

Open UPM compatibility #107

@Emerix

Description

@Emerix

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 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions