エラー
Assets/Photon/PhotonLibs/WebSocket/WebSocket.cs(18,11):
error CS0246:
The type or namespace name 'WebSocketSharp' could not be found
(are you missing a using directive or an assembly reference?)
「Photonで使用するアセンブリ定義ファイルがないよ」「WebSocketのが足りないよ」
ということらしい。
Photonは登録しているけど、足りないのか。
解決方法
Photon>PhotonLibs>WebSocket>websocket-sharp
Exclude Platform(除外するプラットフォーム)の「WebGL」のチェックを外してアセンブリ定義ファイルに追加する。
解決までの流れ
https://qiita.com/KoukiShimoya/items/7a65b9e6d7300f38bbf1
調べたらQiitaの記事がすぐ出たので試してみる。
https://github.com/sta/websocket-sharp
からダウンロード。
websocket-sharp.sln
をVisual Studioで開く。
その後ビルドする必要がある。
手順は
https://note.com/hikohiro/n/n01007cb70c85
を参考にする。
- Exampleのフォルダは削除
- DebugをReleaseに変更してビルド
UnityのAssets/Pluginsフォルダに設置する。
エラーが増えた!!!
同じ名前であるよ?エラー
設置したwebsocket-sharp.dllをとりあえず消す。
また新しいエラーが...
フォルダに直アップがよくなかったのか、Unityのプロジェクトにドラッグ&ドロップしてみる。
エラー内容変わらず。
再度、ググる。
エラー文言+Photonでググる。
Exclude Platform(除外するプラットフォーム)にチェックがついている。
そうかこれを外せばいいのか。
[解決方法]Exclude Platform(除外するプラットフォーム)のチェックを外してアセンブリ定義ファイルに追加する。
エラーは出っぱなし。
プロジェクトのアセンブリ定義ファイルにWebsocketを追加してApplyしてみる。
エラーがなくなった!!
(ちょっと残ってるけどビルドはできそう)
ビルドしてみる。できてたので一旦解決ということにしようと思う。
初めに試した「websocket-sharp.dll」のバージョンを下げるのは
結果差し替えはできなかったが、そもそも.NET 3.5だったので意味がない作業ではあった。
まとめ
ふとWebGLで書き出してUnityRoomにアップしようかと思ったら、ハマった。
しかもPhoto入れっぱなしで使っていないのに...
Admobのエラーの解決に3日かかったのを反省し、(あれこれ触ったのが原因でもあった)
やったことはメモりながら作業してみた。
1.5時間ほどで解決。まだ実際にビルドはしていないので、この後もエラーと戦うのだろう。