使用 Unity 和 Visual Studio 的最佳做法

使用 Unity 创建混合现实应用程序时,需要在 Unity 和 Visual Studio 之间进行切换,以生成应用包并将其部署到 HoloLens 或沉浸式头戴显示设备。 默认情况下,需要两个 Visual Studio 实例 - 一个实例用于修改 Unity 脚本,另一个用于部署到设备和进行调试。 按照以下说明操作,你可使用单个 Visual Studio 实例进行开发,从而减少导出 Unity 项目的频率并改进调试体验。

改善迭代时间

Unity 中对 .NET 脚本后端的支持已于 Unity 2018 中弃用,并且自 Unity 2019+ 起已被删除,因此建议切换到 IL2CPP。 但是,从 Unity 切换到 Visual Studio 后,生成时间可能更长。 若要提高迭代速度,请设置环境以获得最佳编译结果:

  1. 每次将项目生成到同一目录,并在那里重复使用预生成的文件,从而使用增量生成
  2. 禁用对项目和生成文件夹的反恶意软件扫描
    • 在 Windows 10 设置应用下打开“病毒和威胁防护”
    • 在“病毒和威胁防护”设置下,选择“管理设置”
    • 在“排除项”部分,选择“添加或删除排除项”
    • 选择“添加排除项”,然后选择包含 Unity 项目代码和生成输出的文件夹
  3. 使用 SSD 进行生成

有关详细信息,请参阅优化 IL2CPP 的生成时间。 另请参阅在 IL2CPP 脚本后端进行调试

请考虑安装 Visual Studio 扩展 UnityScriptAnalyzer。 此工具会分析 Unity C# 脚本,获得可以更优方式编写的代码。

Visual Studio Tools for Unity

下载 Visual Studio Tools for Unity

Visual Studio Tools for Unity 的优势

  • 通过设置断点,评估变量和复杂表达式,在 Visual Studio 中调试 Unity 编辑器内播放模式。
  • 使用 Unity Project Explorer 查找其层次结构与 Unity 所示完全相同的脚本。
  • 直接在 Visual Studio 内部获取 Unity 控制台。
  • 使用向导快速创建或导航到脚本。

公开 C# 类变量便于轻松调整

有两种方法来公开类变量。 建议的方式是向专用变量添加 [SerializeField] 属性。 可通过编辑器访问已序列化的字段,但不能以编程方式公开它们。 另一种方法是使 C# 类变量成为公共变量,以便在编辑器 UI 中公开它们。

通过这两种方法都能在编辑器中播放时轻松调整变量,这对于调整互机制属性特别有用。

在升级 Windows SDK 或 Unity 后,重新生成 UWP Visual Studio 解决方案

升级到新的 Windows SDK 或 Unity 引擎后,签入到源代码管理的 UWP Visual Studio 解决方案可能会过期。 可从 Unity 生成新的 UWP 解决方案,再将差异合并到已签入的解决方案中,来解决升级后出现的过期解决方案。

使用文本格式资产轻松比较内容更改

使用文本格式存储资产可更轻松地在 Visual Studio 中查看内容更改差异。 可选择“编辑”>“项目设置”>“编辑器”按文本格式存储资产,然后将“资产序列化”模式更改为“强制文本”。 但是,合并文本资产文件更改容易出错,不建议这样做,因此请考虑在源代码管理中启用独占二进制签出。

另请参阅