TH1/Book/1.1运行指南.md
2025-07-17 18:26:28 +08:00

4.2 KiB
Raw Blame History

运行步骤

  1. IDE安装

    使用Rider2023.3(更新到最新版),需要安装以下内容:

    • 安装.Net8
    • 不支持VS新人用VS搞出各种问题请不要来问我我也没用过VS后期搞熟了可以自己改用VS
  2. 该分支必须使用Unity2022.3.15(初学者请在此版本用熟后再切换其他版本)

  3. 整个过程请开启全局翻墙否则各种unity包 nuget包下载不下来报memerypack等错误

  4. 启动UnityHub打开(Open) -> 选中'ET/Unity'文件夹所在目录后打开工程

  5. 打开工程后点击Unity菜单 -> Edit -> Preferences -> External Tools点击下拉框'External ScriptEditor'选择RiderGenerate .csproj files for全部不要勾选

  6. 在Project视图中选中'Assets/Resources/GlobalConfig'把AppType选择成'Demo(状态同步)'或者'LockStep(帧同步)'

  7. Assets/Resources/GlobalConfig CodeMode选择Client Server Unity BuildSettings切换到Windows平台其它平台不支持ClientServer模式, 点击Unity菜单 -> ET -> Compile(或按快捷键F6)进行编译

  8. 打开ET.sln编译整个ET.sln注意要翻墙否则可能nuget包下载不下来导致编译出错(翻墙后如果还有报错解决不了可以尝试先用VS打开ET.sln编译一次后再回到Rider重新编译一次)

  9. Unity中双击'Assets/Scenes'目录中的Init场景点击Play(▶)即可运行

  10. 帧同步默认是一个人匹配,如果需要多人匹配,修改LSConstValue.cs中的MatchCount 客户端服务端重启即可

  11. 注意要独立启动服务器右键UnityHub以管理员身份运行UnityHub然后启动Unity没有管理员启动是不行的因为服务端要开启http服务普通权限开不了 停止Unity Play点开Unity菜单->ET->Server Tools->Start Server(Single Process)这样就单独启动了服务端。打开Unity菜单 -> ET -> BuildTool中CodeMode改成Client点击Unity Play登录。
    如果还是连接不上报10037错误注意看ET/Logs目录看有没有Error日志。 如果要用rider启动服务器rider也必须用管理员权限启动 注意一定要用 netsh http delete urlacl 命令删除掉所有自己添加的urlacl具体使用方法请谷歌

  12. 有问题请论坛提问贴出服务端error log跟客户端error log没有日志无法回复

打包过程

  1. 点击HybridCLR -> Installer点击安装等待安装完成

  2. 点击Unity菜单 -> ET -> Compile(或按快捷键F6)进行编译

  3. 点击HybridCLR -> Generate -> All

  4. 点击HybridCLR -> CopyAotDlls这一步会把需要补充元数据的dll复制到'Assets/Bundles/AotDlls'目录

  5. 打开YooAsset -> AssetBundle Builder窗口按照以下步骤操作:

    ①BuildPipeline : 'ScriptableBuildPipeline'

    ②BuildMode : 'IncrementalBuild'

    ③CopyBuildinFileOption : 'ClearAndCopyAll'

    ④点击'Click Build'

  6. Assets/Resources/GlobalConfig EPlayMode选择'HostPlayMode', 打开Unity菜单 -> ET -> BuildTool点击'BuildPackage'Windows下生成的exe在'ET/Release'里面

另:请自行研究YooAsset包管理库的使用方式(YooAsset官网)

热重载

  1. 若需要体验此功能需要在Unity菜单 -> Edit -> Preferences -> General窗口的 'ScriptChangesWhilePlaying' 中 选择 'RecompileAfterFinishedPlaying'

  2. 运行后修改并编译代码点击Unity菜单 -> ET -> Reload(或按快捷键F7)即可

注意事项:

一、常见出错原因:

  1. 中文目录
  2. Rider或VS没有更新到最新版本
  3. Rider或VS没有安装相关组件
  4. 没安装.Net8
  5. 没编译服务端所有工程
  6. Unity版本不兼容
  7. Win7用户没有特别设置
  8. 编译过程中如果出现依赖问题,也有可能是'Unity菜单 -> Edit -> Preferences -> External Tools -> Generate .csproj files for' 当中勾选了:'Registry packages' 或 'Build-in packages', 请记得都不要勾选(□)
  9. 如果打包报错缺少"StreamingAsset",自己在 'ET/Unity/Assets' 下新建一个 StreamingAsset 文件夹即可
  10. 如果F6编译报错 请安装IL2CPP扩展 原因是Unity2022 编译api PlayerBuildInterface.CompilePlayerScripts有bug