.NET and IL2CPP对于我们来说是非常重要的部分。针对这方面,我们首先对Async/Await进行了改进。在Unity里面有很多不同的Async的API实现,这些API都有不一样的运行模型或交互模式,它们混在一起使用是非常困难且复杂的。所以我们想把它们统一到一起,提供一个现代化的、功能相似的Unity异步接口,并且支持Async/Await这样原生的关键字,这些都会在2023.1的版本中实现。
Netcode for GameObjects是Unity构建的一个High Level网络库,它用于抽象网络逻辑,能快速帮用户通过网络同步许多Unity数据,并且支持跨平台。使用Netcode,用户可以专注于构建游戏,而不是去处理各种low level的网络协议及网络框架。目前Netcode for GameObjects在2020、2021、2022的版本中都已开箱即用。
这些Network tools and server都是Netcode for GameObjects的核心工具,主要帮助大家定位网络性能的问题。第一个可以脱离Editor的状态追踪实时网络状态及流量状况,第二个是监控整个网络状况及流量信息,最后UTP 1.0提供了跨平台的抽象层作为网络通讯的抽象层。
在Multiplayer Services上,我们提供了几个大的模块。比如Relay,它是一个Peer-to-Peer的网络链接服务。Lobby是一个可以让用户同时连接更多玩家的服务。Matchmaker能够在这个服务里面快速匹配到玩家。最后Game Server Hosting可以高效部署大家的游戏。
在Multiplayer workflows里面,我们提供了更多针对多人开发的支持,以增加测试迭代的速度,这个PPT里面的功能都是我们目前正在开发中的。比如 Multiplayer Play mode,在一个Editor模式下能够快速拉起多人游戏测试。第二个Network Simulation,可以在Editor里面模拟各种网络状况,包括连接断掉、延时较高以及丢包等情况。UTP 2.0,它会扩展支持到WebGL及其他游戏服务的嵌入上面。最后,Server Content Selection可以帮助用户从Unity Editor当中构建出项目特定的轻量化服务器版本。