LoginSignup
0
0

Photon FusionのRPCのメソッド名の仕様

Posted at

Photon Fusion SDK v2がUnityのAssetStoreで公開され、早速使ってみよということでRPCのコードを書いていると謎(ではない)Exceptionが発生してしまうようになってしまった。解決するまで意味がわからなかったので、同じ問題に直面した人が同じようにハマらないように記録を残しておきます。

対応方法

RPCで呼び出すメソッド名にはprefixかsuffixでRPC(大文字小文字不問)を付ける。
例:RPC_Method とか MethodRpcとか

エラー内容

以下のような感じで他にも15個(合計18個)のExceptionが表示された。ここの3つ目が重要だった。

Fusion.CodeGen.ILWeaverBindings: /(省略)/Assets/Photon/Fusion/CodeGen/Fusion.CodeGen.cs(3522,0): error Exception thrown when weaving Assembly-CSharp
Fusion.CodeGen.ILWeaverBindings: (0,0): error Fusion.CodeGen.ILWeaverException: Failed to weave behaviour (省略)
Fusion.CodeGen.ILWeaverBindings: (0,0): error  ---> Fusion.CodeGen.ILWeaverException: System.Void (省略)(System.String): name needs to start or end with the "Rpc" prefix or suffix

その他

  • 最初のExceptionで検索すると Weaver Exception when load the Fusion Application Loop example がひっかかり、ここから調査を始めてしまった。Exception全体を眺めてから着手するべきだったなと反省
  • Photon Fusionのチュートリアルもやっていたのだが、Hostモードはsuffix、Shareモードはprefixだったため、どっちでも大丈夫ではなく、どちらでなくても大丈夫だと勘違いしてしまった
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0