Procedimientos recomendados para trabajar con Unity y Visual StudioBest practices for working with Unity and Visual Studio

Al crear una aplicación de realidad mixta con Unity, debe cambiar entre Unity y Visual Studio para compilar e implementar el paquete de la aplicación en HoloLens o en un casco envolvente.When you're creating a mixed reality application with Unity, you need to switch between Unity and Visual Studio to build and deploy the app package to HoloLens or an immersive headset. De forma predeterminada, se requieren dos instancias de Visual Studio: una instancia para modificar los scripts de Unity y otra para la implementación en el dispositivo y la depuración.By default, two instances of Visual Studio are required - one instance to modify Unity scripts and another to deploy to the device and debug. Las instrucciones siguientes le permiten desarrollar mediante una única instancia de Visual Studio, lo que reduce la frecuencia de exportación de proyectos de Unity y mejora la experiencia de depuración.The following instructions let you develop using a single Visual Studio instance, reducing the frequency of exporting Unity projects and improves the debugging experience.

Mejorar el tiempo de iteraciónImproving iteration time

La compatibilidad con el back-end de scripting de .NET en Unity está en desuso en Unity 2018 y se quitó en Unity 2019 +.Support for .NET scripting back-end in Unity is being deprecated in Unity 2018 and removed in Unity 2019+. por lo tanto, se recomienda cambiar a IL2CPP.so we recommend you switch to IL2CPP. Sin embargo, es posible que se produzcan tiempos de compilación más prolongados de Unity a Visual Studio.However, you may experience longer build times from Unity to Visual Studio. Para mejorar la iteración más rápida, configure el entorno para obtener los mejores resultados de la compilación:To improve for faster iteration, set up your environment for best compilation results:

  1. Use la compilación incremental compilando el proyecto en el mismo directorio cada vez, reutilizando los archivos generados previamente.Use incremental building by building your project to the same directory every time, reusing the pre-built files there
  2. Deshabilitar exámenes de software antimalware para el proyecto & carpetas de compilaciónDisable anti-malware software scans for your project & build folders
    • Abrir protección contra amenazas de Virus & en la aplicación de configuración de Windows 10Open Virus & threat protection under your Windows 10 settings app
    • Seleccione Administrar configuración en configuración de protección contra amenazas de virus &Select Manage Settings under Virus & threat protection settings
    • Seleccione Agregar o quitar exclusiones en la sección exclusiones .Select Add or remove exclusions under the Exclusions section
    • Seleccione Agregar una exclusión y seleccione la carpeta que contiene el código del proyecto de Unity y las salidas de compilación.Select Add an exclusion and select the folder containing your Unity project code and build outputs
  3. Uso de SSD para compilarUse an SSD for building

Revise la optimización de los tiempos de compilación de IL2CPP para obtener más información.Review Optimizing Build Times for IL2CPP for more info. Además, revise la depuración en el back-end de scripting de IL2CPP.Also, review Debugging on IL2CPP Scripting Back-end.

Considere la posibilidad de instalar la extensión de Visual Studio UnityScriptAnalyzer.Consider installing the UnityScriptAnalyzer Visual Studio extension. Esta herramienta analiza los scripts de C# de Unity para código que se puede escribir de forma más optimizada.This tool analyzes your Unity C# scripts for code that can be written in a more optimized manner.

Visual Studio Tools para UnityVisual Studio Tools for Unity

Descargar Visual Studio Tools para UnityDownload Visual Studio Tools for Unity

Ventajas de Visual Studio Tools para UnityBenefits of Visual Studio Tools for Unity

  • Depure el modo de reproducción en el editor de Unity desde Visual Studio colocando puntos de interrupción, evaluando variables y expresiones complejas.Debug Unity in-editor play mode from Visual Studio by putting breakpoints, evaluating variables and complex expressions.
  • Use el explorador de proyectos de Unity para buscar el script con la misma jerarquía que se muestra en Unity.Use the Unity Project Explorer to find your script with the exact same hierarchy that Unity displays.
  • Obtenga la consola de Unity directamente en Visual Studio.Get the Unity console directly inside Visual Studio.
  • Use los asistentes para crear o navegar rápidamente por scripts.Use wizards to quickly create or navigate to scripts.

Exponer variables de clase de C# para facilitar la optimizaciónExpose C# class variables for easy tuning

Hay dos maneras de exponer variables de clase.There are two ways to expose class variables. La manera recomendada es agregar el atributo [SerializeField] a las variables privadas.The recommended way is to add the [SerializeField] attribute to your private variables. Se puede tener acceso a los campos serializados desde el editor pero no se pueden exponer mediante programación.Serialized fields can be accessed from the editor but not programmatically exposed. La otra opción es hacer que las variables de clase de C# sean públicas para exponerlas en la interfaz de usuario del editor.The other option is to make C# class variables public to expose them in the editor UI.

Ambos enfoques permiten ajustar fácilmente las variables mientras se reproducen en el editor, lo que es especialmente útil para ajustar las propiedades del mecánico de interacción.Both approaches make it possible to easily tweak variables while playing in-editor, which is especially useful for tuning interaction mechanic properties.

Volver a generar soluciones de Visual Studio para UWP después de la actualización de Windows SDK o UnityRegenerate UWP Visual Studio solutions after Windows SDK or Unity upgrade

Las soluciones de Visual Studio de UWP protegidas en el control de código fuente pueden no estar actualizadas después de actualizar a un nuevo motor de Windows SDK o Unity.UWP Visual Studio solutions checked in to source control can get out-of-date after upgrading to a new Windows SDK or Unity engine. Puede resolver soluciones no actualizadas después de compilar una nueva solución de UWP desde Unity y combinar las diferencias en la solución protegida.You can resolve out-of-date solutions after by building a new UWP solution from Unity and merging differences into the checked-in solution.

Usar recursos en formato de texto para facilitar la comparación de los cambios de contenidoUse text-format assets for easy comparison of content changes

El almacenamiento de recursos en formato de texto permite revisar más fácilmente las diferencias de cambio de contenido en Visual Studio.Storing assets in text format makes it easier to review content change diffs in Visual Studio. Puede almacenar recursos en formato de texto seleccionando editar > configuración del proyecto > editor y cambiar el modo de serialización de activos para forzar el texto.You can store assets in text format by selecting Edit > Project Settings > Editor and change Asset Serialization mode to Force Text. Sin embargo, la combinación de cambios en el archivo de recursos de texto es propensa a errores y no se recomienda, por lo que considere habilitar desprotecciones binarias exclusivas en el control de código fuente.However, merging text asset file changes is error-prone and not recommended, so consider enabling exclusive binary checkouts in your source control.

Consulte tambiénSee also