diff --git a/BaseProject/Assets/NuGet.config b/BaseProject/Assets/NuGet.config
index 0610bae..b1cf751 100644
--- a/BaseProject/Assets/NuGet.config
+++ b/BaseProject/Assets/NuGet.config
@@ -8,7 +8,7 @@
-
+
-
\ No newline at end of file
+
diff --git a/BaseProject/Assets/NuGet/Editor/DotNetZip.dll.meta b/BaseProject/Assets/NuGet/Editor/DotNetZip.dll.meta
index 908a5bc..8bae2cc 100644
--- a/BaseProject/Assets/NuGet/Editor/DotNetZip.dll.meta
+++ b/BaseProject/Assets/NuGet/Editor/DotNetZip.dll.meta
@@ -1,20 +1,30 @@
-fileFormatVersion: 2
-guid: a8e8091a1f84e704a9f4d4abd2e15f8b
-timeCreated: 1517875082
-licenseType: Store
-PluginImporter:
- serializedVersion: 1
- iconMap: {}
- executionOrder: {}
- isPreloaded: 0
- platformData:
- Any:
- enabled: 0
- settings: {}
- Editor:
- enabled: 1
- settings:
- DefaultValueInitialized: true
- userData:
- assetBundleName:
- assetBundleVariant:
+fileFormatVersion: 2
+guid: a8e8091a1f84e704a9f4d4abd2e15f8b
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ isOverridable: 0
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/BaseProject/Assets/NuGet/Editor/NuGetForUnity.dll.meta b/BaseProject/Assets/NuGet/Editor/NuGetForUnity.dll.meta
index 02b6ef1..88f8917 100644
--- a/BaseProject/Assets/NuGet/Editor/NuGetForUnity.dll.meta
+++ b/BaseProject/Assets/NuGet/Editor/NuGetForUnity.dll.meta
@@ -1,20 +1,30 @@
-fileFormatVersion: 2
-guid: 8dc1be91775c4bb469f6b74cef450eaa
-timeCreated: 1510280416
-licenseType: Store
-PluginImporter:
- serializedVersion: 1
- iconMap: {}
- executionOrder: {}
- isPreloaded: 0
- platformData:
- Any:
- enabled: 0
- settings: {}
- Editor:
- enabled: 1
- settings:
- DefaultValueInitialized: true
- userData:
- assetBundleName:
- assetBundleVariant:
+fileFormatVersion: 2
+guid: 8dc1be91775c4bb469f6b74cef450eaa
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ isOverridable: 0
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/BaseProject/Assets/PusherWebsocketUnity.meta b/BaseProject/Assets/PusherWebsocketUnity.meta
new file mode 100644
index 0000000..5f0d47e
--- /dev/null
+++ b/BaseProject/Assets/PusherWebsocketUnity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 42676a7cae3de4809a47aaae80df0352
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/BaseProject/Assets/Packages.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages.meta
similarity index 100%
rename from BaseProject/Assets/Packages.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages.meta
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2.meta
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2.meta
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/.signature.p7s b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/.signature.p7s
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/.signature.p7s
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/.signature.p7s
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/LICENSE.md b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/LICENSE.md
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/LICENSE.md
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/LICENSE.md
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/LICENSE.md.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/LICENSE.md.meta
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/LICENSE.md.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/LICENSE.md.meta
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/Newtonsoft.Json.11.0.2.nupkg b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/Newtonsoft.Json.11.0.2.nupkg
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/Newtonsoft.Json.11.0.2.nupkg
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/Newtonsoft.Json.11.0.2.nupkg
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/Newtonsoft.Json.11.0.2.nupkg.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/Newtonsoft.Json.11.0.2.nupkg.meta
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/Newtonsoft.Json.11.0.2.nupkg.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/Newtonsoft.Json.11.0.2.nupkg.meta
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib.meta
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib.meta
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45.meta
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45.meta
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.dll b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.dll
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.dll
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.dll
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.dll.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.dll.meta
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.dll.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.dll.meta
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.xml b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.xml
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.xml
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.xml
diff --git a/BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.xml.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.xml.meta
similarity index 100%
rename from BaseProject/Assets/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.xml.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/Newtonsoft.Json.11.0.2/lib/net45/Newtonsoft.Json.xml.meta
diff --git a/BaseProject/Assets/Packages/PusherClient.1.0.2.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2.meta
similarity index 100%
rename from BaseProject/Assets/Packages/PusherClient.1.0.2.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2.meta
diff --git a/BaseProject/Assets/Packages/PusherClient.1.0.2/.signature.p7s b/BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/.signature.p7s
similarity index 100%
rename from BaseProject/Assets/Packages/PusherClient.1.0.2/.signature.p7s
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/.signature.p7s
diff --git a/BaseProject/Assets/Packages/PusherClient.1.0.2/PusherClient.1.0.2.nupkg b/BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/PusherClient.1.0.2.nupkg
similarity index 100%
rename from BaseProject/Assets/Packages/PusherClient.1.0.2/PusherClient.1.0.2.nupkg
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/PusherClient.1.0.2.nupkg
diff --git a/BaseProject/Assets/Packages/PusherClient.1.0.2/PusherClient.1.0.2.nupkg.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/PusherClient.1.0.2.nupkg.meta
similarity index 100%
rename from BaseProject/Assets/Packages/PusherClient.1.0.2/PusherClient.1.0.2.nupkg.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/PusherClient.1.0.2.nupkg.meta
diff --git a/BaseProject/Assets/Packages/PusherClient.1.0.2/lib.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/lib.meta
similarity index 100%
rename from BaseProject/Assets/Packages/PusherClient.1.0.2/lib.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/lib.meta
diff --git a/BaseProject/Assets/Packages/PusherClient.1.0.2/lib/net46.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/lib/net46.meta
similarity index 100%
rename from BaseProject/Assets/Packages/PusherClient.1.0.2/lib/net46.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/lib/net46.meta
diff --git a/BaseProject/Assets/Packages/PusherClient.1.0.2/lib/net46/PusherClient.dll b/BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/lib/net46/PusherClient.dll
similarity index 100%
rename from BaseProject/Assets/Packages/PusherClient.1.0.2/lib/net46/PusherClient.dll
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/lib/net46/PusherClient.dll
diff --git a/BaseProject/Assets/Packages/PusherClient.1.0.2/lib/net46/PusherClient.dll.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/lib/net46/PusherClient.dll.meta
similarity index 100%
rename from BaseProject/Assets/Packages/PusherClient.1.0.2/lib/net46/PusherClient.dll.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/PusherClient.1.0.2/lib/net46/PusherClient.dll.meta
diff --git a/BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0.meta
similarity index 100%
rename from BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0.meta
diff --git a/BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/.signature.p7s b/BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/.signature.p7s
similarity index 100%
rename from BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/.signature.p7s
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/.signature.p7s
diff --git a/BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/SuperSocket.ClientEngine.Core.0.10.0.nupkg b/BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/SuperSocket.ClientEngine.Core.0.10.0.nupkg
similarity index 100%
rename from BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/SuperSocket.ClientEngine.Core.0.10.0.nupkg
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/SuperSocket.ClientEngine.Core.0.10.0.nupkg
diff --git a/BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/SuperSocket.ClientEngine.Core.0.10.0.nupkg.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/SuperSocket.ClientEngine.Core.0.10.0.nupkg.meta
similarity index 100%
rename from BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/SuperSocket.ClientEngine.Core.0.10.0.nupkg.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/SuperSocket.ClientEngine.Core.0.10.0.nupkg.meta
diff --git a/BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib.meta
similarity index 100%
rename from BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib.meta
diff --git a/BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45.meta
similarity index 100%
rename from BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45.meta
diff --git a/BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45/SuperSocket.ClientEngine.dll b/BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45/SuperSocket.ClientEngine.dll
similarity index 100%
rename from BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45/SuperSocket.ClientEngine.dll
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45/SuperSocket.ClientEngine.dll
diff --git a/BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45/SuperSocket.ClientEngine.dll.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45/SuperSocket.ClientEngine.dll.meta
similarity index 100%
rename from BaseProject/Assets/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45/SuperSocket.ClientEngine.dll.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/SuperSocket.ClientEngine.Core.0.10.0/lib/net45/SuperSocket.ClientEngine.dll.meta
diff --git a/BaseProject/Assets/Packages/WebSocket4Net.0.15.2.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2.meta
similarity index 100%
rename from BaseProject/Assets/Packages/WebSocket4Net.0.15.2.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2.meta
diff --git a/BaseProject/Assets/Packages/WebSocket4Net.0.15.2/.signature.p7s b/BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/.signature.p7s
similarity index 100%
rename from BaseProject/Assets/Packages/WebSocket4Net.0.15.2/.signature.p7s
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/.signature.p7s
diff --git a/BaseProject/Assets/Packages/WebSocket4Net.0.15.2/WebSocket4Net.0.15.2.nupkg b/BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/WebSocket4Net.0.15.2.nupkg
similarity index 100%
rename from BaseProject/Assets/Packages/WebSocket4Net.0.15.2/WebSocket4Net.0.15.2.nupkg
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/WebSocket4Net.0.15.2.nupkg
diff --git a/BaseProject/Assets/Packages/WebSocket4Net.0.15.2/WebSocket4Net.0.15.2.nupkg.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/WebSocket4Net.0.15.2.nupkg.meta
similarity index 100%
rename from BaseProject/Assets/Packages/WebSocket4Net.0.15.2/WebSocket4Net.0.15.2.nupkg.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/WebSocket4Net.0.15.2.nupkg.meta
diff --git a/BaseProject/Assets/Packages/WebSocket4Net.0.15.2/lib.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/lib.meta
similarity index 100%
rename from BaseProject/Assets/Packages/WebSocket4Net.0.15.2/lib.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/lib.meta
diff --git a/BaseProject/Assets/Packages/WebSocket4Net.0.15.2/lib/net45.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/lib/net45.meta
similarity index 100%
rename from BaseProject/Assets/Packages/WebSocket4Net.0.15.2/lib/net45.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/lib/net45.meta
diff --git a/BaseProject/Assets/Packages/WebSocket4Net.0.15.2/lib/net45/WebSocket4Net.dll b/BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/lib/net45/WebSocket4Net.dll
similarity index 100%
rename from BaseProject/Assets/Packages/WebSocket4Net.0.15.2/lib/net45/WebSocket4Net.dll
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/lib/net45/WebSocket4Net.dll
diff --git a/BaseProject/Assets/Packages/WebSocket4Net.0.15.2/lib/net45/WebSocket4Net.dll.meta b/BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/lib/net45/WebSocket4Net.dll.meta
similarity index 100%
rename from BaseProject/Assets/Packages/WebSocket4Net.0.15.2/lib/net45/WebSocket4Net.dll.meta
rename to BaseProject/Assets/PusherWebsocketUnity/Packages/WebSocket4Net.0.15.2/lib/net45/WebSocket4Net.dll.meta
diff --git a/BaseProject/Assets/PusherWebsocketUnity/PusherWebsocketUnity.asmdef b/BaseProject/Assets/PusherWebsocketUnity/PusherWebsocketUnity.asmdef
new file mode 100644
index 0000000..f0118fb
--- /dev/null
+++ b/BaseProject/Assets/PusherWebsocketUnity/PusherWebsocketUnity.asmdef
@@ -0,0 +1,3 @@
+{
+ "name": "PusherWebsocketUnity"
+}
diff --git a/BaseProject/Assets/PusherWebsocketUnity/PusherWebsocketUnity.asmdef.meta b/BaseProject/Assets/PusherWebsocketUnity/PusherWebsocketUnity.asmdef.meta
new file mode 100644
index 0000000..42e1b1d
--- /dev/null
+++ b/BaseProject/Assets/PusherWebsocketUnity/PusherWebsocketUnity.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 214d111c56e3c46a09052e93cff2046f
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/BaseProject/Assets/PusherWebsocketUnity/package.json b/BaseProject/Assets/PusherWebsocketUnity/package.json
new file mode 100644
index 0000000..ea4d5a0
--- /dev/null
+++ b/BaseProject/Assets/PusherWebsocketUnity/package.json
@@ -0,0 +1,7 @@
+{
+ "name": "com.pusher.pusherwebsocketunity",
+ "displayName": "PusherWebsocketUnity",
+ "version": "1.0.2+190808",
+ "unity": "2018.1",
+ "description": "Pusher Channels Client for realtime websockets on Unity"
+}
diff --git a/BaseProject/Assets/PusherWebsocketUnity/package.json.meta b/BaseProject/Assets/PusherWebsocketUnity/package.json.meta
new file mode 100644
index 0000000..92ccb70
--- /dev/null
+++ b/BaseProject/Assets/PusherWebsocketUnity/package.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 95eeaa2f922ad4baebdb0b2855ef026a
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Builds/PusherWebsocketUnity-1.0.2-190808.unitypackage b/Builds/PusherWebsocketUnity-1.0.2+190808.unitypackage
similarity index 100%
rename from Builds/PusherWebsocketUnity-1.0.2-190808.unitypackage
rename to Builds/PusherWebsocketUnity-1.0.2+190808.unitypackage
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..c3ab7a7
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,6 @@
+build-release:
+ git subtree split --prefix=BaseProject/Assets/PusherWebsocketUnity --branch upm
+ git tag $(VERSION) upm
+
+push-release:
+ git push origin upm --tags
diff --git a/README.md b/README.md
index cc925f8..8c9dc7c 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,13 @@
-## Pusher Channels Unity Client Library
-
-This library packages [the official WebSocket .NET SDK for Pusher Channels](https://github.com/pusher/pusher-websocket-dotnet) as a `.unitypackage` to make it easier to use in [Unity](https://unity.com/) projects. For API documentation, see [the pusher-websocket-dotnet README](https://github.com/pusher/pusher-websocket-dotnet).
-
-### Usage
-1) Download the latest `.unitypackage` from this repo's [Releases](/../../releases)
-2) Open a new/existing Unity project and make sure it is being opened by a [supported version of Unity](#unity-versions-support)
-3) [if your Unity version is **2018.x.x**] Make sure that under `Edit -> Project Settings -> Player` the `Configuration -> Scripting Runtime Version` is set to **.NET 4.x Equivalent**
-4) Click on `Assets -> Import Package -> Custom Package...`, find and select the `PusherWebsocketUnity-x.x.x-xxxxxxx.unitypackage` and click *Import* on the `Import Unity Package` window.
-5) Create a Pusher Channels app at https://pusher.com/channels.
-6) Open the `PusherManager.cs` file in the Assets folder and add your keys as values for `private const string APP_KEY` and `private const string APP_CLUSTER` obtained at the previous step.
-7) Create a new GameObject, by going on `GameObject -> Create Empty`. Drag the `PusherManager.cs` script onto the GameObject Inspector to set it as a script for the object.
-8) Save and click Play to start the game in Unity.
-9) Verify that in the Console tab the following is logged: `Connection state changed`, `Connected`, `Subscribed`.
-10) You can now customise the channel name (by default is `"my-channel"`) and events to bind to (by default is `"my-event"`) in the `PusherManager.cs` script.
-
-### Repository Structure
+# Pusher Channels Unity Client Library
+
+This library packages [the official WebSocket .NET SDK for Pusher Channels](https://github.com/pusher/pusher-websocket-dotnet) as a `.unitypackage` and an `UPM package` to make it easier to use in [Unity](https://unity.com/) projects. For API documentation, see [the pusher-websocket-dotnet README](https://github.com/pusher/pusher-websocket-dotnet).
+
+## Repository Structure
- `BaseProject` a Unity Base project which demonstrates how to integrate Pusher Channels with Unity
-- `Builds` a build environment for the `PusherWebsocketUnity` _unitypackage_ and its Asset Store release
+- `Builds` a build environment for the `PusherWebsocketUnity` _unitypackage_ and the _Unity Package Manager_ (UPM) release
- `Examples` example projects that combines Unity and Pusher Channels
-### Unity Versions Support
+## Unity Versions Support
- Unity 2018.1
- Unity 2018.1.0
- Unity 2018.1.2
@@ -35,17 +23,69 @@ This library packages [the official WebSocket .NET SDK for Pusher Channels](http
- All Unity 2019.2.x
-### Unity Platforms Support
-
-#### Supported Platforms:
+## Getting Started
+1. [Create a Pusher Channels app](#1-create-a-pusher-channels-app)
+2. [Install](#2-install) the **Pusher Channels Unity Client Library** via `unitypackage` or via Unity Package Manager (UPM)
+3. [Add PusherManager and run the game](#3-add-pushermanager-and-run-the-game)
+
+### 1 Create a Pusher Channels app
+1.1 - Create a Pusher Channels app at https://pusher.com/channels
+
+### 2 Install
+#### 2.1 Install it via unitypackage
+2.1.1 - Download the latest `PusherWebsocketUnity-1.0.2+190808.unitypackage` from [releases](/../../releases)
+2.1.2 - Open a new/existing Unity project and make sure it is being opened by a [supported version of Unity](#unity-versions-support)
+2.1.3 - [if your Unity version is **2018.x.x**] Make sure that under `Edit -> Project Settings -> Player` the `Configuration -> Scripting Runtime Version` is set to **.NET 4.x Equivalent**.
+2.1.4 - Click on `Assets -> Import Package -> Custom Package...`, find and select the `PusherWebsocketUnity-1.0.2+190808.unitypackage` and click *Import* on the `Import Unity Package` window.
+
+#### 2.2 Install it via Unity Package Manager (UPM)
+**WARNING** this method works only if your version of Unity is **2018.3.x or greater**, if you don't satisfy that, use the [unitypackage](#2-install) method.
+2.2.1 - [if your Unity version is **2018.x.x**] Make sure that under `Edit -> Project Settings -> Player` the `Configuration -> Scripting Runtime Version` is set to **.NET 4.x Equivalent**.
+2.2.2 - Open `Packages/manifest.json` with your favourite editor and add the following in your `dependencies` (make sure to respect JSON commas):
+```
+{
+ "dependencies": {
+ ...
+ "com.pusher.pusherwebsocketunity": "https://github.com/pusher/pusher-websocket-unity.git#1.0.2+190808"
+ }
+}
+```
+2.2.3 - Now Unity should auto resolve dependencies and fetch the newly defined package.
+
+### 3 Add PusherManager and run the game
+3.1 - Copy the sample [`PusherManager.cs`](BaseProject/Assets/PusherManager.cs) into your project's Assets folder and add your keys as values for `private const string APP_KEY` and `private const string APP_CLUSTER` obtained when you created the Pusher Channels app in the dashboard.
+3.2 - Create a new GameObject, by going on `GameObject -> Create Empty`. Drag the `PusherManager.cs` script onto the GameObject Inspector to set it as a script for the object.
+3.3 - Save and click *Play* to start the game in Unity.
+3.4 - Verify that `Connection state changed`, `Connected`, `Subscribed` is logged in the *Console* tab.
+3.5 - You can now customize the channel name (by default is `"my-channel"`) and events to bind to (by default is `"my-event"`) in the `PusherManager.cs` script.
+
+## Update this package
+### Update the version of .unitypackage
+To update the version of the `.unitypackage` you can delete the `Assets/PusherWebsocketUnity` directory and repeat the [install steps](#2-install).
+
+### Update the version of Unity Package Manager (UPM) package
+To update the version of `com.pusher.pusherwebsocketunity` you just need to check the available versions in [releases](/../../releases) and change the package version in the `Packages/manifest.json`, like so:
+
+From:
+```json
+"com.pusher.pusherwebsocketunity": "https://github.com/pusher/pusher-websocket-unity.git#0.0.0+000000"
+```
+To:
+```json
+"com.pusher.pusherwebsocketunity": "https://github.com/pusher/pusher-websocket-unity.git#1.0.2+190808"
+```
+
+## Unity Platforms Support
+
+### Supported Platforms:
The supported platforms should be the ones that can be targeted by Unity.
-Thus far we tested this, and can confirm that works, on:
+Thus far we tested this, and can confirm the library works, on:
- Windows
- MacOS
- Android
- iOS
-#### Unsupported Platforms:
+### Unsupported Platforms:
- WebGL: due to incompatibility with Websockets (more [here](https://docs.unity3d.com/Manual/webgl-networking.html) under the _"No direct socket access"_ section)
-### Known Issues
+## Known Issues
This library is INCOMPATIBLE with 2018.1.4 <= Unity <= 2018.2.4 due to
a [bug](https://issuetracker.unity3d.com/issues/opened-event-of-a-websocket4net-dot-websocket-does-not-get-called-when-opening-a-web-socket)
-in the Unity engine that prevents WebSocket4Net (one of the dependencies) to work correctly
+in the Unity engine that prevents WebSocket4Net (one of the dependencies) to work correctly.
-### Credits
+## Credits
- Unity Technologies https://unity3d.com/company - for the Unity3d environment
- Patrick McCarthy (GlitchEnzo) https://github.com/GlitchEnzo - for [NuGetForUnity](https://github.com/GlitchEnzo/NuGetForUnity)