Unity使用Protobuf

1.下载Protobuf ProtoBuf

2.打开它并且编译 如果有报错下载相应的.net版本即可

这里默认是6.0.100 由于我本机是8.0.100所以我改了这个文件

3.编译后的文件复制到Unity Assets/Plugins下

4.写个测试的proto文件

5.然后使用protoc生成 这里实现了一个简单的bat批量生成 Protos Codes 和protoc.exe在一个目录下 双击gen.bat即可

csharp 复制代码
@echo off

rem 设置路径变量
set PROTOC_PATH="protoc.exe"
set PROTO_DIR="Protos"
set OUTPUT_DIR="Codes"

rem 检查目录是否存在
if not exist %PROTO_DIR% (
    echo Error: protos directory does not exist.
    exit /b
)

rem 创建输出目录
if not exist %OUTPUT_DIR% mkdir %OUTPUT_DIR%

rem 批量处理 .proto 文件
for %%f in (%PROTO_DIR%\*.proto) do (
    %PROTOC_PATH% --proto_path=%PROTO_DIR% --csharp_out=%OUTPUT_DIR% %%f
)

echo Code generation complete.

测试例子

csharp 复制代码
Monster monster = new Monster();
monster.Id = 100;
monster.Name = "虹魔教主";
byte[] buffer = monster.ToByteArray();

Monster ms = Monster.Parser.ParseFrom(buffer);

运行结果

具体的运行和设计根据项目而定吧 好像也没啥要写的了 哈哈哈

相关推荐
变身缎带12 小时前
Unity里基于Luban的buff系统
数据库·unity·游戏引擎
变身缎带16 小时前
Unity中较为完善的NetworkManager
unity·游戏引擎
作孽就得先起床16 小时前
unity webGL导出.glb模型
unity·c#·游戏引擎·webgl
心前阳光19 小时前
Unity发布运行在PICO4的安卓程序
android·unity·游戏引擎
孟无岐19 小时前
【Laya】Scene3D 介绍
typescript·游戏引擎·游戏程序·laya
sunfove19 小时前
Python制作小游戏:用线性代数思想构建 2048 游戏引擎
python·线性代数·游戏引擎
孟无岐19 小时前
【Laya】Sprite3D 介绍
typescript·游戏引擎·游戏程序·laya
Howrun77719 小时前
虚幻引擎_创建组件
游戏引擎·虚幻
Jessica巨人20 小时前
pico相关插件介绍
unity
leo__52020 小时前
基于模糊控制的MATLAB避障算法实现
算法·matlab·unity