facebook twitter hatena line email

「Unity/grpc/Core」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(unityサンプルのDL)
(photoビルド)
行85: 行85:
 
<pre>
 
<pre>
 
cd 自分のサンプルプロジェクト
 
cd 自分のサンプルプロジェクト
protoc -I ./Photo --csharp_out=Assets/Scripts --grpc_out=Assets/Scripts --plugin=protoc-gen-grpc=/d/src/Grpc.Tools.2.47.0-dev202204190851/tools/macosx_x64/grpc_csharp_plugin ./Photo/HelloWorld.proto
+
protoc -I ./Proto --csharp_out=Assets/Scripts --grpc_out=Assets/Scripts --plugin=protoc-gen-grpc=/d/src/Grpc.Tools.2.47.0-dev202204190851/tools/macosx_x64/grpc_csharp_plugin ./Proto/Hello.proto
 
</pre>
 
</pre>
  

2023年8月24日 (木) 09:40時点における版

grpc.coreとは

  • gRPCの古いプラグイン
  • 2023/5までサポート
  • Mac M1は動かない。Mac Intelは動く。

準備

protobufインストール

protobufは、データシリアライズ用

macの場合

brew install protobuf

grpcインストール

go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
$ vim ~/.bash_profile
export PATH="$PATH:$(go env GOPATH)/bin"

インストール確認

$ protoc-gen-go --version
$ protoc-gen-go-grpc --version

unity側grpc準備

https://packages.grpc.io/archive/2022/04/67538122780f8a081c774b66884289335c290cbe-f15a2c1c-582b-4c51-acf2-ab6d711d2c59/index.xml

から以下をDL

  • grpc_unity_package.zip
  • Grpc.Tools.zip

grpc_unity_package.zipを展開

Google.Protobuf
Grpc.Core
Grpc.Core.Api
System.Buffers
System.Memory
System.Runtime.CompilerServices.Unsafe

grpc-toolsのインストール

Grpc.Tools.zipを使う場合

  1. Grpc.Tools.2.47.0-dev202204190851.unpkgの拡張子を.zipへ変更し展開
  2. 適当な場所に置く(/d/src/Grpc.Tools.2.47.0-dev202204190851 など)

vim ~/.bash_profile

export PATH="$PATH:/d/src/Grpc.Tools.2.47.0-dev202204190851/tools/macosx_x64"
  1. 以下のようにパスを通す
$ source ~/.bash_profile

権限変更

$ chmod 755 grpc_csharp_plugin

実行確認

$ grpc_csharp_plugin

macでbrewを使う場合

$ brew tap grpc/grpc
$ brew install grpc

参考:https://qiita.com/8March/items/35a0ce799e8c8588a126

unityサンプルのDL

https://github.com/grpc/grpc/tree/67538122780f8a081c774b66884289335c290cbe

examples/csharp/HelloworldUnity にUnityサンプルプロジェクトがある

  1. examples/csharp/HelloworldUnity/Assets以下のScenesとScriptsを自分のプロジェクトのAssets以下に移す
  2. grpc_unity_package.zipを解凍して、Assets/Plugins以下に移す

photoビルド

Photo/HelloWorld.proto

syntax = "proto3";
message Request{
    string name = 1;
}
message Response{
    string hello = 1;
}
// Requestを引数に渡してSayHelloを呼び出すと、Responseが返ってくる
service HelloService {
    rpc SayHello(Request) returns (Response) {}
}
cd 自分のサンプルプロジェクト
protoc -I ./Proto --csharp_out=Assets/Scripts --grpc_out=Assets/Scripts --plugin=protoc-gen-grpc=/d/src/Grpc.Tools.2.47.0-dev202204190851/tools/macosx_x64/grpc_csharp_plugin ./Proto/Hello.proto

参考:https://qiita.com/8March/items/35a0ce799e8c8588a126

参考

https://took.jp/unity-grpc-core/