Version: 2017.4
Shaders en Unity 5.0
Guía de Actualización de Unity 3.5 a 4.0

Otras notas de actualización para Unity 5.0

Más información acerca de características que han cambiado y pueden afectar su proyecto cuando actualice de Unity 4 a Unity 5

Bloqueando / Ocultando el Cursor

La visibilidad y bloqueo del Cursor ahora son independiente entre sí.

// Unity 4.x
Screen.lockCursor = true;
// Becomes this in Unity 5.0
Cursor.visible = false;
Cursor.lockState = CursorLockMode.Locked;

Linux

El manejo de Gamepad ha sido quitado en Unity 5.

Unity ahora es capaz de “configurar” gamepads - ya sea vía una base de datos de modelos conocidos, o utilizando la variable del ambiente SDL_GAMECONTROLLERCONFIG, la cual es configurada por Steam Big Picture / SteamOS para gamepads detectados o configurados con su interfaz.

Los gamepads configurados presentan un diseño constante: el stick izquierdo utiliza ejes 0/1, el stick derecho utiliza ejes 3/4, los botones en la cara del gamepad son 0–3 etc. Para determinar si un gamepad ha sido configurado, llame Input.IsJoystickPreconfigured().


Windows Store Apps

La palabra clave ‘Metro’ fue remplazada a ‘WSA’ en la mayoría de los APIs, por ejemplo : BuildTarget.MetroPlayer se volvió BuildTarget.WSAPlayer, PlayerSettings.Metro se volvió PlayerSettings.WSA.

Las definiciones en scripts como UNITY_METRO, UNITY_METRO_8_0, UNITY_METRO_8_1 todavía están ahí, pero a lo largo con ellas, todavía habrá nuevas definiciones UNITY_WSA, UNITY_WSA_8_0, UNITY_WSA_8_1.


Otros cambios del script API no pueden ser actualizados automáticamente

  • UnityEngine.AnimationEvent ahora es un struct. Comparando a ‘null’ va a dar como resultado errores de compilación.

  • AddComponent(string), cuando es llamado con una variable no puede automáticamente ser actualizada a la versión genérica de AddComponent<T>(). En tales casos, el API Updater va a remplazar el llamado con una llamada a APIUpdaterRuntimeServices.AddComponent(). Este método tiene el propósito de permitirle a usted probar su juego en el modo de edición (estos hacen el mayor esfuerzo para intentar resolver el tipo en tiempo de ejecución) pero no está destinado a ser utilizado en la producción, por lo que es un error construir un juego con llamadas a tal método). En plataformas que soportan Type.GetType(string) usted puede intentar utilizar GetComponent(Type.GetType(typeName)) como una solución.

  • AssetBundle.Load, AssetBundle.LoadAsync y AssetBundle.LoadAll todos han sido vueltos obsoletos. Utilice AssetBundle.LoadAsset, AssetBundle.LoadAssetAsync y AssetBundle.LoadAllAssets más bien. El Script updater no puede actualizarlos ya que el comportamiento de carga ha cambiado un poco. En 5.0 todas las APIs para cargar no cargarán componentes ya, por favor utilice las nuevas APIs de carga para cargar el game object primero, luego mire el componente en el objeto.


Cambios en el Unity Package (Paquete de Unity)

El formato de paquete interno de .unityPackages ha cambiado, a lo largo con algunos comportamientos acerca de cómo los paquetes son importados en Unity y cómo los conflictos son solucionados.

  • Los Packages (paquetes) ahora solamente están construidos con el asset fuente y el archivo texto .meta que contiene todos los ajustes del importer para el asset.

  • Los packages (paquetes) siempre van a requerir una importación de asset ahora.

  • Los Packages (Paquetes) ahora serán reducidos en tamaño significativamente, debido a que los datos importados (por ejemplo de textura o datos de audio) no serán doblados.

  • Los Paquetes con nombres de archivo que ya existe en el proyecto, pero con diferentes GUIDs tendrán estos archivos importados con un nombre de archivo único. Esto es hecho para prevenir sobre-escribir archivos en el proyecto que no vienen de diferentes paquetes o fueron creados por el usuario.

Shaders en Unity 5.0
Guía de Actualización de Unity 3.5 a 4.0