Debugging Essentials v1.18,*兼容Unity 2017.x、2018.x、2019.x和2020.x。
*适用于>。Net 2.0、Mono、IL2CPP和ECS点(可选)。
*适用于本地渲染、URP和HDRP。
*支持所有平台(PC、Mac、Linux、Android、IOS、WebGL等)。
*可在编辑器和构建中使用。
*包含源代码。

作为我们游戏的首席程序员东北地区,只有6个开发人员,我负责大部分核心代码,包括我从头开始创建的网络代码。我们的游戏是一个竞技场射击/建筑多人游戏,我们通过Steam早期访问一步一步地发布它。我们使用自己的Peer2Peer网络架构,结合Steam的免费中继网络进行即时主机迁移。

在处理我们社区报告的标准内置工具不够用的bug和问题时,我经历了一段艰难的时间。

调试要点包含5个重要的工具,将节省你大量的编码时间,同时避免调试麻烦,使开发更愉快!

你多长时间发生一次?你在游戏模式或你的构建中,你遇到了这个特殊的问题/错误。发生什么事了??啊,我需要看看这些变量的状态…Eh不重启就不可能= >调试或附加= >重新编译= >播放或重建= >再现= >等等…你的时间到了…

例如,我正在处理一些非常棘手的网络/主机迁移错误,并在制作新的离线测试版本上浪费了大量时间。直到我受够了…如果您可以在任何时候轻松地导航/搜索和深入检查任何小的非公开变量,会怎么样?


这节省了我大量的时间,同时使调试变得更加愉快:

运行时层次结构窗口
*没有任何东西是隐藏的,任何东西都可以随时实时选择。
*搜索/浏览所有场景。
*搜索/导航所有程序集及其分类和按类别排序的实时静态值。
*制作/搜索和比较按类型和类别排序的内存快照。
*基于名称/类型的多种搜索条件,具有直观的搜索显示模式。
*禁用/启用/删除/复制任何游戏对象,启用/禁用任何组件,例如在构建中测试性能。
* ScrollView剔除,可以处理数千个对象。

运行时深度检查器
*没有任何东西被隐藏,任何东西都可以在任何时候实时检查。
*检查任何组件和内存对象/游戏对象/组件/类/结构等上的所有成员(字段/属性/方法)
*深度检查ECS (DOTS)。
*深入检查数组、列表、队列、字典、哈希表等。
*深入检查到无限的水平。
*基于字段、属性、方法、继承、声明、静态、实例、公共、私有和受保护的过滤器。
*更改原始值。
*使用原始参数执行方法。
*基于名称/类型的多种搜索条件,具有直观的搜索显示模式。
*多层次深度搜索。
* ScrollView剔除,可以处理数千个成员。

运行时摄像机导航
*使用与编辑器场景视图中相同的控件,随时覆盖您的相机来浏览您的游戏视图。
*游戏对象选择和深度检查的焦点。
*跟随移动的游戏对象,同时仍然能够四处导航。
*时间比例调整,以缓慢或暂停游戏进行深入检查。而相机保持不变。我们使用这个特性来获取我们的D.R.O.N.E .蒸汽商店页面截图。

想在运行时用自己创建的控制台命令轻松调整/执行任何东西吗?想在运行时看到Unity或你自己的日志吗?我一直在使用运行时控制台,结合运行时层级和深度检查器进行测试/调试。

运行时控制台
*只需附加一个简单的属性,即可轻松为方法、属性、字段和委托创建自己的控制台命令。
*控制台命令参数和默认参数。
*静态和实例控制台命令。
*管理和非管理控制台命令。
*远程网络控制台命令。
*控制台命令建议,自动完成并显示字段和属性的值。
*在编辑器/构建中的控制台内显示Unity日志。
*根据命令/日志/警告/错误和异常过滤控制台。
*显示/隐藏控制台内的堆栈。
*在控制台中搜索带有特定文本的任何日志。
*支持在其他线程上记录日志。
*将控制台按钮快速链接到编辑器/构建日志。
*控制台scrollView剔除,可以处理数百万条日志而不影响性能。

你能阅读播放器构建日志文件来发现问题吗?有了我的HTML日志文件,你就不想再看它们了…请参见第二张截图了解不同之处。

HTML调试日志
*日志文件可以在任何浏览器中打开。
*日志显示在帧和时间标题内,以便您可以看到何时发生了什么。
*日志上的实际布局,而不是批量列表。
*日志颜色使它们在滚动时容易被发现。
*堆栈行被很好地排序。
*支持从其他线程记录日志。
*多线程,从另一个线程写入日志文件。

另一个问题解决= >玩家:“我昨晚在游戏中遇到了一个问题”= >我:“你能把你的日志文件发给我吗?”= >玩家:“在这里”= >我:“从今天开始,它被覆盖了……”。
*日志是按版本和日期保存的,而正常情况下,构建日志会在重启游戏时被覆盖。
*日志可以在x天后自动删除。

发表回复

后才能评论