近期遇到了一个极为诡异的bug,分别有两张地图,其中一张地图A的PAK放在引擎自动挂载路径下可以进入,但是在热更目录不行,另一张地图B则完全相反,在自动挂载目录异常,但是在热更目录正常。
乍一看这个问题完全难以捉摸,两个互斥的行为出现在同一个表现逻辑中。而且热更挂载与自动挂载只是时机不同,优先级不同而已,按理说应该不会出现这个问题。
虽然最终这个问题可以在业务侧逻辑解决,但是这个表现也牵扯到了引擎中另一个极为隐蔽的路径,搞懂为什么以及它的原理是十分必要的。所以,我根据这种表现分析了引擎的代码,并得出了合理的结论,并制定一种检测和规避这种问题的方法。
本篇文章默认读者具有一些UE热更新的基础知识,如有疑问可查阅本博客中热更新系列的其他文章。