Advertisement
Guest User

Untitled

a guest
Aug 20th, 2014
3,439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 42.99 KB | None | 0 0
  1. Unity 5.0 Beta 1
  2.  
  3. Graphics Features
  4.  
  5. New built-in "Standard" shader.
  6. Physically based shader, suitable for most everyday surfaces (metals, plastics, wood, stone etc.).
  7. This is a default shader for newly created objects now. Most of Unity 4.x shaders were moved to “Legacy” shader popup menu.
  8. Features driven by what you enable in the inspector (e.g. when no normal map assigned, the shader will internally use a faster variant without a normal map).
  9. Approximate and optimized path for mobile & shader model 2.0.
  10. Integrated Enlighten real-time global illumination (GI) technology, and improved lightmapping workflow.
  11. Scene changes are automatically picked up and tasks are spawned to:
  12. precompute data for dynamic GI,
  13. calculate static lightmaps.
  14. Runtime Dynamic GI at runtime for lights, bounce intensity can be specified on a per light basis
  15. Runtime: Changes to lights marked as "Dynamic GI" and skylight changes are picked up automatically.
  16. Emissive surfaces can emit lights into Dynamic GI at runtime. Emissive surface colors can be changed at runtime & affect static and dynamic objects in realtime.
  17. Runtime: Material changes can be triggered via DynamicGI API.
  18. Runtime: Lighting reacting to above changes is applied to static objects via lightmaps and to dynamic objects via light probes.
  19. HDR workflow improvements:
  20. HDR scene view. When main camera is HDR, then scene view is rendering in HDR as well, and using the same Tonemapper as the main camera.
  21. Support for .hdr texture format importing.
  22. HDR textures (from .exr/.hdr files) are automatically encoded into RGBM (0..8 range) format. Added option under Advanced import settings to control this behavior.
  23. Reflection Probes
  24. New "ReflectionProbe" component that captures its surroundings into a cubemap. Cubemap is assigned to Renderers in the proximity from the probe and can be used to produce effect of the glossy reflections.
  25. Reflection probes are baked similar to light probes, are stored as cubemap assets and specular convolution is applied to achieve high-quality glossy reflections.
  26. Introduced default reflection cubemap in RenderSettings. It is passed to "unity_SpecCube" property of the shader. Ability to match default cubemap reflection to a skybox, and apply specular convolution for glossy reflections. (requires Pro)
  27. Skybox and ambient improvements:
  28. New scenes are now set with directional light, procedural skybox and a reflection probe by default.
  29. Added "Skybox/Procedural" shader that allows setting up simple skies with ease.
  30. Built-in Skybox shaders support HDR (RGBM encoded) textures.
  31. Skybox materials can be assigned by drag-and-drop on the background in the Scene View.
  32. Improved inspector preview & thumbnails of Skybox materials.
  33. Default ambient has different sky/equator/ground colors.
  34. Ability to match ambient to a skybox, and optionally extract directional light out of the skybox. (requires Pro)
  35. Improved RenderSettings inspector in general; and renamed menu entry to "Scene Render Settings".
  36. New "Deferred Shading" rendering path:
  37. Single pass, multiple-rendertarget g-buffer shading.
  38. Fully supported by the new Standard shader.
  39. Overriding of DeferredShading (and DeferredLighting) shaders is in the UI now, under GraphicsSettings. Possible to even exclude the shaders from game build, in case you don't need them at all.
  40. Surface shaders can generate code for new Deferred Shading rendering path. All 4.x builtin shaders got support for that. Note: currently does not take full advantage of deferred shading g-buffer data; will be improved.
  41. Improved and extended cubemap workflow.
  42. Renamed “Reflection” texture import type to “Cubemap”. Automatic detection of the mapping mode for spherical, cylindrical and 6 image layouts; removed 2 obscure spherical mappings which were rarely used.
  43. Textures imported as cubemaps can use texture compression now!
  44. Added specular and diffuse convolution options to cubemap textures.
  45. Cubemap inspector was improved, can now show alpha channel & mipmaps properly; also understands RGBM encoded HDR cubemaps.
  46. Improved seamless edge fixup.
  47. Moved Cubemap menu entry from Assets into Assets | Legacy.
  48. Meshes:
  49. More than two UV coordinates! Up to 4 UVs are imported from model files; and Mesh class gained uv3 & uv4.
  50. Non-uniformly scaled meshes no longer incur any memory cost or performance hit. Instead of being scaled on the CPU they are scaled and lit correctly in shaders.
  51. MeshRenderer has a new additionalMesh property which lets you specify per-instance mesh data overrides. For example just color channels for one instance. This is currently used by Enlighten for per-instance UVs.
  52. SpeedTree integration.
  53. SpeedTree models (.SPM files) now can be recognized, imported and rendered by Unity. The workflow is very similar to other mesh formats like FBX.
  54. SpeedTree features like smooth LOD transition, billboards, wind animation and physics colliders are fully supported.
  55. SpeedTree models are selectable as tree prototypes on terrain.
  56. Frame Debugger. See how exactly frame is rendered by stepping through draw calls. See http://blogs.unity3d.com/2014/07/29/fra ... unity-5-0/ (requires Unity Pro).
  57. Added scriptable "Command Buffers" for more extensible rendering pipeline.
  58. Create command buffers ("draw mesh, set render target, ...") from a script, and set them up to be executed from inside camera rendering.
  59. Command buffers can be executed from a bunch of places during rendering, e.g. immediately after deferred G-buffer; or right after skybox; etc. See UnityEngine.Rendering.CommandBuffer class.
  60. Shadows: in Forward rendering, directional light shadows are computed from camera's depth texture instead of a separate "shadow collector" rendering pass. Saves a bunch of draw calls, especially when depth texture is needed for other things anyway.
  61. This means that LightType=ShadowCollector shader passes aren't used for anything; you can just remove them if you had any.
  62. Camera’s DepthTexture is not generated using shader replacement anymore. Now it is generated using same shaders as used for shadowmap rendering (ShadowCaster pass types). Camera-DepthTexture.shader is not used for anything now.
  63. Shaders: Build-time stripping of unused shader features, and shader variant compilation improvements.
  64. Added #pragma shader_feature; very similar to multi_compile but unused ones are removed from the game builds. That is, if none of the materials use a particular shader feature variant, shader code for it is not included into game data.
  65. #pragma shader_feature can be provided just one parameter, e.g. #pragma shader_feature FANCY_ON. This expands to two shader variants (first without the parameter, and second with the parameter defined).
  66. Can specify vertex- or fragment-only shader variants. For example, #pragma shader_feature_vertex A B C will add 3x more shader variants, but to vertex shader only.
  67. Underscore-only names in shader_feature and multi_compile are treated as "dummy" and don't consume shader keyword names.
  68. Build-time stripping of unused lightmap shader variants. E.g. if you don't use directional lightmaps in any of your scenes, then shader variants that handle directional lightmaps will be removed from game build data. No need to manually add "nolightmap" and friends to shader code now.
  69. Shaders: Single CGPROGRAM block can target multiple "shader models" at once. For example, you can base it for SM2.0, but have fancier multi_compile variants that require SM3.0. Syntax:
  70. #pragma target 3.0 // base is SM3.0
  71. #pragma target 4.0 FOO BAR // FOO or BAR require SM4.0
  72. Shaders: Custom Shader GUI can now be defined by implementing the IShaderGUI interface instead of deriving from MaterialEditor. Using this approach makes the custom shader GUI show within the inspector for Substance materials.
  73. Shuriken: Added a Circle emitter with an option to specify an arc.
  74. Shuriken: Added a one-way Edge emitter.
  75. Improved LODGroup. A "fade mode" can be set on each level and a value of "how current LOD be blended/faded to the next LOD" will be passed to shader program in unity_LODFade.x.
  76.  
  77.  
  78. Animation Features
  79.  
  80. State Machine Behaviours
  81. StateMachineBehaviours is a new MonoBehaviour-like Component that can be added to a StateMachine state to attach callbacks
  82. Available callbacks are : OnStateEnter, OnStateExit, OnStateUpdate, OnStateMove and OnStateIK.
  83. Animator.GetBehaviour<T>(). This function return the first StateMachineBehaviour that match type T
  84. StateMachine Transitions
  85. Can now add higher level transitions from StateMachine to StateMachine
  86. Entry and Exit nodes define how the StateMachine behaves upon entering and exiting.
  87. Asset API
  88. Allows to create and edit, in Editor, all types of Mecanim assets ( Controllers, StateMachines, BlendTree etc.)
  89. Added API for Avatar, Motion Nodes, Events and Curve in the Model Importer
  90. Direct Blend Tree.
  91. New type of blend tree to control the weight of each child independently
  92. Root Motion authoring
  93. Can convert animation on the parent transform into Root Motion (Delta Animation)
  94. Animator Tool revamp
  95. Improved workflow
  96. Re-orderable layers and parameters
  97. Transition interruption source.
  98. Replaces the Atomic setting on transitions. You can now decide if a transition is interrupted by transitions in the source state, the destination state or both.
  99. Also possible to be interrupted by transitions independently of their order by disabling "ordered interruption" setting on transitions.
  100. Added Animator Gizmo that show up upon selection: you can see effectors, mass center, avatar root and pivot.
  101. IK Hint for knees and elbows.
  102. Improved animation previewer camera.
  103. Camera can now Pan, Orbit and Scale with the same control than the scene viewer.
  104. The camera can also frame on the previewed Object with shortcut F and frame on the cursor position with shortcut G.
  105. AnimationEvents are now fully editable at runtime, see AnimationClip.events to query, add and delete them at runtime
  106. Keep last evaluated value when a property stops to be animated.
  107. Activated per State
  108. By default it is writing default value when a property stops to be evaluated
  109. Linear Velocity Blending
  110. Advanced feature for users requiring linear speed interpolation during blending.
  111. Root Motion Speed and Angular Speed now blend linearly in Blend Trees, Transition or Layers
  112. Choose between Linear Velocity Blending or Linear Position Blending in Animator with animator.linearVelocityBlending. It is false by default.
  113. You can now get Animator root motion velocity and angular velocity with animator.velocity and animator.angularVelocity
  114.  
  115.  
  116. Audio Features
  117.  
  118. Added a new AudioMixer asset type! Create one or more AudioMixers in a project.
  119. Use the Audio Mixer window to create complex mixing hierarchies and effect processing chains.
  120. Mix and master all audio within Unity by tweaking all parameters during edit mode and play mode.
  121. VU meters for the outputs of all AudioGroup and at attenuation points within the AudioGroup.
  122. Allow AudioSources to route their signal into any AudioMixer.
  123. The audio output of one AudioMixer can be routed into any AudioGroup of any other AudioMixer, allowing complex re-configurable Audio processing.
  124. Audio "Sends" and "Receives" can be inserted anywhere into the signal chain of an AudioGroup.
  125. The attenuation of an AudioGroup can be applied at any point in the AudioGroup (allowing pre and post fader effects).
  126. Snapshots of mixer state (on all parameters) can be created for AudioMixers. These snapshots can be interpolated between during play through a set of per-parameter transition curves.
  127. Snapshots can also be weighted blended (2 or more snapshots).
  128. Any parameter (volume / pitch / effect parameter etc) can be exposed via a name to the runtime API allowing very precise tweaking of any parameter in a mixer during game play.
  129. Mixer "Views" can be created so that complex mixer hierarchies can be narrowed down in the GUI allowing focus on tweaking certain parts of the mix (music / foley / etc).
  130. AudioGroups can be Soloed, Muted and have their effects bypassed.
  131. Built-in side-chain volume ducking.
  132. Support for custom high-performance native audio plugins through a new SDK.
  133. Rewritten Audio asset pipeline and AudioClip backend.
  134. AudioClip settings now support multi-editing.
  135. Audio transcoding and packing now happens in a separate tool, removing risk of crashing Unity on import.
  136. No double loading of sounds during import processing.
  137. Better handling of huge audio files. If a sound is set to streaming, it is never fully loaded in the editor or player now.
  138. Editor profiling of Audio is now accurate and reflects how it would be in the game.
  139. Streaming (file handle) resources are now freed immediately after playback of sound.
  140. Much improved audio formats in terms of memory and CPU usage. The Format property no longer refers to a specific platform-specific file format, but to a encoding method (Uncompressed, Compressed, ADPCM).
  141. The audio data of an AudioClip can now be loaded on demand by scripts, and loading can happen in the background without blocking the main game thread. Memory management can now be performed much easier of AudioClips in the project.
  142. Improved Audio Profiler with better statistics and detailed information. To view it, open the Profiler window, click the Audio pane and press the Stats button.
  143.  
  144.  
  145. Physics Features
  146.  
  147. PhysX 3 integration!
  148. Better perfomance on multi-core processors, and especially on mobile. See http://physxinfo.com/news/11297/the-evo ... ance-wise/
  149. Moving static colliders does not cause performance penalty anymore.
  150. Better simulation quality, e.g. stacking stability.
  151. Cleaner codebase, which does not contain some of the long standing issues.
  152. See http://blogs.unity3d.com/2014/07/08/hig ... n-unity-5/
  153. 2D physics:
  154. Added ConstantForce2D component.
  155. Added PointEffector2D, AreaEffector2D, PlatformEffector2D and SurfaceEffector2D components.
  156. Added Physics2D.IsTouching and Collider2D.IsTouching methods.
  157. Added Physics2D.IsTouchingLayer and Collider2D.IsTouchingLayer methods.
  158. All 2D colliders now have a 2D ‘offset’ property that replaces the ‘center’ property no BoxCollider2D and CircleCollider2D.
  159. Added Rigidbody.maxDepenetrationVelocity to make possible to tune the velocity of the colliding rigidbodies when they are pushing each other away.
  160. Added TerrainData.thickness to control the thickness of TerrainColliders.
  161.  
  162.  
  163. Editor Features
  164.  
  165. Unity editor is now 64-bit!
  166. A separate 32-bit installer is available for Windows; on Mac OS X we only ship 64-bit now.
  167. Note that this affects native plugins used in the editor, which now also need to be 64-bit.
  168. New AssetBundle build system.
  169. Add simple UI to mark assets into assetBundles, provide simple API to build assetBundles without having to write complex custom scripts (no need for Push/Pop).
  170. Support incremental build, which only rebuilds AssetBundles that actually change.
  171. AssetBundle dependencies don't force the rebuild of all the bundles in the dependency chain.
  172. AssetBundles: Provide AppendHashToAssetBundleName option to allow to append the hash to the bundle name.
  173. AssetBundles: Provide AssetBundleManifest which can be used to get the dependent AssetBundles at runtime.
  174. AssetBundles: By default include type tree in the assetBundle on all the platform except metro.
  175. New Project Wizard (“Home”) dialog.
  176. Project Templates - in addition to "Empty 3D" and "Empty 2D", we will supply starter kits to provide a foundation and demonstrate best practices for different project types. These are currently placeholders while the final ones are being made.
  177. Recent projects list shows "Last Saved With" version number for each project (if available - this information is only saved starting with 5.0).
  178. Asset Importing:
  179. Updated FBX SDK to 2015.1: better performance; fixes various rare crashes when importing some Collada, OBJ, 3DS files; fixed reversed normals in some DXF files.
  180. Added AssetPostProcessor.OnPreProcessAnimation, this new callback is called just before animation clips are created.
  181. Added ModelImporter.defaultClipAnimations (list of ModelImportClipAnimation based on TakeInfo) and ModelImporter.importedTakeInfos (list of TakeInfo from the file).
  182. Profiler: New view in the CPU Profiler that shows the frame samples laid out on a Timeline. Each thread has its own timeline; this is mostly useful for multi-threaded profiling.
  183. Version Control: Scene and Prefab Merging
  184. Command line merge tool that understands the scene and prefab formats in order to do semantic merges.
  185. Merge tool integration with Unity's existing version control integration. Can be enabled from EditorSettings.
  186. Module Manager:
  187. Now lists all available versions of a module.
  188. Now supports rolling back to another available module version.
  189. Asset Store: The asset store window is now much faster, more responsive, and looks better.
  190. Plugin Inspector: new native plugin system. You're no longer required to place platform specific plugins into special folders like Assets\Plugins\iOS, Assets\Plugins\X64, etc. From now on, you can place them anywhere.
  191. You can set platform compatibility settings by clicking on the plugin (files with extensions - *.dll, *.so, etc, and folders with extension - *.bundle), this include both managed and native files. Plugins can be set for “Any” platform, “Editor only” or a specific platform.
  192. Platform specific settings can also be set, e.g. CPU type. Different platforms may have different settings.
  193.  
  194.  
  195. AI Features
  196.  
  197. NavMesh supports LoadLevelAdditive now!
  198. Improved performance and reduced memory consumption:
  199. NavMeshObstacles update is multi-threaded now. Carving speed generally improved 2-4x.
  200. NavMesh data for non-carved regions takes ~2x less memory now.
  201. Performance improvements for multi-threaded NavMeshAgent updates.
  202. HeightMeshes bake faster, work faster at runtime, and use ~35% less memory.
  203. Path replanning in presence of many carving obstacles is faster and more accurate.
  204. Improved inspectors and debug visualizations:
  205. NavMesh Areas inspector (previously NavMesh Layers) got a facelift.
  206. Reorganized parameters NavMeshAgent inspector.
  207. Added carve hull debug visualisation for NavMeshObstacles.
  208. Added visualisation on how NavMesh bake settings relate to each other.
  209. Improved accuracy and raised limits:
  210. NavMeshObstacle supports two basic shapes - cylinder and box for both carving and avoidance.
  211. Improved automatic Off-Mesh Link collision detection accuracy. Note that this will change how off-mesh links placement on existing scenes.
  212. Improved navmesh point location/mapping when height mesh is used.
  213. Increased the height range of NavMesh baking (can build meshes for taller scenes).
  214. Made Height Mesh query more resilient to small holes in input geometry.
  215. NavMesh obstacle rotation is take into account when carving and avoiding.
  216. NavMesh tile count limit lifted from 2^16 to 2^28.
  217. NavMeshPath and NavMeshAgent paths removed 256 polygon limit.
  218. OffMeshLink - restriction on tile span - previously connected only up to neighbouring tiles.
  219.  
  220.  
  221. Core Optimizations
  222.  
  223. Improved multithreaded job system:
  224. Internally multithreaded parts (culling, skinning, mecanim, ...) are more efficient now via lockless voodoo magic.
  225. Culling & shadow caster culling is multithreaded now.
  226. Improved loading performance. Better control of how objects are created on the loading thread makes it possible to get rid of object reference overhead between components and allows us to do all reads from disk completely linearly. More work has been offloaded to the loading thread, reducing the overhead of asynchronous loading on the main thread.
  227. Object.Instantiate performance has been improved.
  228. Mecanim optimizations:
  229. Optimized Animator Enable(), 2x speed on complex controllers.
  230. Optimized Animator memory usage per instance, 2x smaller on complex controllers.
  231. Improved performance for Animator Tool.
  232. Optimized memory usage and runtime performance when serializing objects with backward compatibility (type-tree) enabled.
  233. Updated occlusion culling (Umbra) version; contains improvements for mobile Umbra culling performance, and improves occlusion culling robustness in some cases.
  234. Optimized texture importing performance.
  235. Terrain tree culling performance was improved.
  236.  
  237.  
  238. Android Features
  239.  
  240. Added the ability to deploy and run games on Android TV.
  241. Support for rendering to multiple displays.
  242. Support for KitKat Immersive Fullscreen Mode.
  243.  
  244.  
  245. iOS Features
  246.  
  247. Script debugging can be done over USB cable now.
  248. Improved iOS8 and Xcode 6 support.
  249. Optimized Texture2D.LoadImage performance for PNG and JPG files.
  250. Added Xcode manipulation API for editor scripts, and rewritten Xcode project generator.
  251. Added deep plugin folder structure support.
  252. Game controller button pressure is now also exposed as axis (float) value.
  253.  
  254.  
  255. Linux & SteamOS Features
  256.  
  257. Now supports gamepad configuration via Steam Big Picture mode.
  258. Now includes default configurations for several common gamepads.
  259. Now supports gamepad hotplugging.
  260.  
  261.  
  262. WebGL! Features
  263.  
  264. WebGL support: a new target in the build player window.
  265. Currently marked as “Preview” state; official support for latest Firefox & Chrome.
  266. See blog post: http://blogs.unity3d.com/2014/04/29/on- ... -in-unity/
  267.  
  268.  
  269. Scripting Features
  270.  
  271. Introduced option to auto-update obsolete Unity API usage in scripts & assemblies.
  272. Performance improvements for all GetComponent variants.
  273. “transform” is now cached on the C# side, no more need to cache it yourself.
  274. Added disposable scope helpers for Begin/End pairs for GUI, GUILayout, EditorGUI and EditorGUILayout.
  275. Added formatting overloads to Debug.Log*.
  276. Added generic overloads for AssetBundle.Load*.
  277.  
  278.  
  279. Other Improvements
  280.  
  281. Android: Added public Java API for attaching custom surfaces.
  282. Android: Enhanced VSync support.
  283. Android: Force hardware upscaling for Screen.SetResolution().
  284. Android: Reconfiguring antialiasing or switching display buffer size should no longer result in a GL context loss.
  285. Android: User resolution now gets swapped when the orientation is changed.
  286. Assets Management: Allow to access files with long path (more than 260 characters) on Windows.
  287. Audio: Removed 3D property in AudioClip and moved all 3D audio functionality to the AudioSource.
  288. Renamed AudioSource.panLevel to AudioSource.spatialBlend. This property now controls the 2D / 3D mode of sound playback through this AudioSource. There is no longer a mode toggle, but a continuous interpolation between the two states.
  289. Renamed AudioSource.pan to AudioSound.panStereo. This is to remove confusion about the nature of this property. AudioSource.panStereo pans the audio signal into the left or right speakers. This happens before spatial panning is applied and can be applied in conjunction with 3D panning.
  290. BlackBerry: Added "Add Attached Device" to the debug token creation window.
  291. BlackBerry: Registration now uses BlackBerry's 10.2 registration system. Currently registered systems do not need to re-register.
  292. Editor: Add warning on exiting play mode when objects have been spawned into the scene from OnDestroy().
  293. Editor: Added 8192 maximum texture size option in import settings.
  294. Editor: Added deferred diffuse/specular/smoothness/normals scene view rendering modes.
  295. Editor: Better documentation for exposed AssetPreview methods.
  296. Editor: Camera inspector shows camera's depth texture mode. Also, scene view camera makes sure to match main camera's depthTextureMode.
  297. Editor: Drag-and-drop assigns material to a specific part of the mesh now. Holding Alt key will assign material to all the parts of the mesh.
  298. Editor: Exposed AssetPreview.SetPreviewTextureCacheSize ().
  299. Editor: Frame Selected (F key over scene view) now takes point/spot light range into account.
  300. Editor: Improve searching for class names in different namespaces and across different user assemblies.
  301. Editor: Improvements to MaterialEditor:
  302. Show a foldout arrow for Material inspectors inlined on gameobjects to make it clear that they can be expanded/collapsed.
  303. Added TexturePropertyMiniThumbnail(): Draw a property field for a texture shader property that only takes up a single line height. The thumbnail is shown to the left of the label. Clicking the thumbnail will show a large preview info window.
  304. Added GetTexturePropertyCustomArea():. Returns the free rect below the label and before the large thumb object field. Is used for e.g. tiling and offset properties.
  305. Added TextureScaleOffsetProperty(): Draws tiling and offset properties for a texture.
  306. Texture scaling and offset values can now be dragged.
  307. Editor: Prevent tooltips from showing while dragging.
  308. Editor: Tag editor facelift by removing the empty tag and using Reorderable list to draw tags and layers.
  309. Editor: When saving scenes, overwrite existing scene file only after successful save.
  310. Font Rendering: Added easier APIs to access OS Fonts (Font.GetOSInstalledFontNames and Font.CreateDynamicFontFromOSFont).
  311. Font Rendering: Added new APIs to get font metrics if you want to implement your own font rendering: Font.ascent, Font.lineheight, new fields in CharacterInfo (old fields in CharacterInfo are deprecated).
  312. Font Rendering: Optimized texture rebuilds to happen less often.
  313. Graphics: Added "#pragma exclude_renderers nomrt" for platforms not supporting multiple render targets (MRTs).
  314. Graphics: Added RenderTextureFormat.ARGB2101010 (0 bit/channel color) and RenderTextureFormat.Shadowmap (native shadowmap) formats.
  315. Graphics: Added Texture2D.EncodeToJPG with a JPG quality argument.
  316. Graphics: Added Threshold tweak to SunShafts, removed legacy "apha as mask".
  317. Graphics: Exposed SystemInfo.graphicsMultiThreaded to scripting API.
  318. Graphics: Mesh compression will now also do lossy compression of vertex colors.
  319. Graphics: Skinned meshes use less memory by sharing index buffers between instances.
  320. Graphics: Support for more shader keywords (128 instead of 64).
  321. iOS: added debug labels for OpenGL objects, useful in Xcode frame capture debugging.
  322. iOS: Better support for Uunity view size changes from native side.
  323. iOS: Enabled basic background processing.
  324. iOS: Implement a way to select iOS framework dependencies for native plugins.
  325. iOS: Tweaked external RenderSurface API to make a bit more sense and be more concise.
  326. License: Activate from command-line.
  327. License: Added -returnlicense command line option, which returns the currently active license and quits the editor.
  328. License: A progress bar will be shown during returning or releasing a license.
  329. Linux: Support XDG-compliant path overrides.
  330. Math: Added SphericalHarmonics3 scripting struct.
  331. Mecanim: Always display numeric values for Transition's duration, offset and exitTime.
  332. Mecanim: Copy/paste/duplicate keyboard shortcuts work.
  333. Mecanim: Display Animator stats in inspector: Clip count, curve count, etc.
  334. Mecanim: Improved humanoid retargeting. The differences between Generic and Humanoid animation are now less than 0.001 normalized meter and 0.1 degrees on end points.
  335. Mecanim: Improved Parameter and Layer UI. Parameters are in a separate window, so it can be docked anywhere.
  336. Mecanim: Runtime access to Animator's parameters (Animator.parameters property).
  337. Mobile: Update PVRTC compressor.
  338. OpenGL ES: Enfore RGB normal maps even if source texture have alpha.
  339. Physics: adaptive force is now optional (disabled by default).
  340. Physics: Allow SkinnedMeshRenderer to accept non-skinned meshes.
  341. Physics: Cloth; exposed sleep force parameter to tune minimum force after which cloth will start sleeping.
  342. Physics: Cloth; exposed tethers flag to improve cloth simulation quality.
  343. Physics: Display a warning against a 2D collider when it is unable to create a Box2D collision shape due to it not meeting Box2D constraints.
  344. Physics: Exposed a function ConfigureVehicleSubsteps in WheelCollider to make it possible for developers to customise vehicle sub-stepping. This helps setting up heavy vehicles, that require different amount of sub-steps to simulate wheels correctly.
  345. Physics: Make scaling mesh colliders cheaper, by not creating a new mesh with scaling applied to it with every scale change.
  346. Physics: Redesigned WheelCollider gizmo to show more relevant information.
  347. Physics: Removed internal lock in PhysXRaycast, particles should now be able to process raycasts in multithreaded mode.
  348. Physics: The cloth constraint editing UI has been replaced by a more intuitive UI inside the Scene View.
  349. Physics: Updated default values for WheelCollider as the old ones did not make any sense with new PhysX.
  350. Plugins: Unity will now check if plugins don't collide with each before building to player. Previous behavior was that you would need to wait until all the scenes were built, and you would only then see that plugin with same filename is trying to overwrite another plugin.
  351. Profiler: Enable GPU profiler on Mac OS X 10.8 and above for all GPUs.
  352. Profiler: Now has a search field for filtering the results.
  353. Profiler: Image Effects have profiling blocks with the script name in them, instead of a generic "ImageEffect".
  354. Shaders: Added [NoTilingOffset] property attribute; hides tiling & offset fields in texture property UI.
  355. Shaders: Added MaterialPropertyDecorators. Similar to MaterialPropertyDrawers, but you can add many of them on a shader property. Added built-in decorators: [Space], [Header(text)].
  356. Shaders: Improved "compile and show code" functionality in shader inspector. Now has dropdown to select custom set of platforms to compile shaders for. And shows a progress bar while compiling shader variants for display.
  357. Shaders: Information about texture format decoding (LDR, dLDR, RGBM, Normals) is passed in %TextureName%_HDR shader constant.
  358. Shaders: Made it possible to use stencil buffer during deferred shading/lighting g-buffer passes, to some extent. Stencil reference value coming from shader/material will be combined (binary or) with Unity-supplied reference value.
  359. Shaders: Optimized shader importing performance, particularly for surface shaders with many multi_compile/shader_feature variants.
  360. Shaders: Skybox shaders (including "Skybox/Procedural") get direction and color of the main light passed in the shader constants.
  361. Shaders: Surface shaders allow more texture interpolators, when targeting shader model 4.0+ (up to 32).
  362. Shaders: Surface shaders use up slightly less samplers on DX11-like platforms (in dual lightmapping case, both lightmaps share the same sampler). Added UNITY_SAMPLE_TEX2D_SAMPLER helper macro to read a texture, while using sampler from another one.
  363. Shaders: Updated GLSL Optimizer for mobile shader compilation. Has better optimization and fixes some issues.
  364. Standalone: Add show-screen-selector command line option for Linux and Windows.
  365. Standalone: Cursor management cleanup
  366. Screen.lockCursor has become Cursor.lockState
  367. Screen.showCursor has become Cursor.visible
  368. Added ConfineCursor state to confine cursor to game window (Linux/Windows)
  369. Cursor lock state and cursor visibility state are now mutually independent
  370. Standard Assets: Cleaned up Daylight&Nighttime Pro Water prefab a bit (less obscure options in material inspectors)
  371. Substance: Consolidation of Substance binary data prior to runtime use now has a much lower peak memory footprint.
  372. Unity Remote 4: Add compass support.
  373. Unity Remote 4: Added ability to customise screen stream compression: JPEG or PNG compression, full or downscaled resolution.
  374. Unity Remote 4: Added LocationService (GPS) support.
  375. Unity Remote 4: Add EditorApplication.isRemoteConnected API to check if editor has connected to remote app.
  376. Windows Editor: Native child windows have their title set to the GUIView/EditorWindow class name.
  377. Windows Phone 8: Geolocator initialization code removed from Visual Studio project files. When overwriting existing 4.x projects please remove redundant code.
  378. Windows Phone/Windows Store Apps: Significantly improved performance of passing System.Type objects to UnityEngine (for example, GetComponent is affected)
  379. Windows standalone and webplayer: Input subsystem processes touch messages via WM_TOUCH. Previously it worked with Windows-simulated mouse events.
  380. Windows Store Apps: added Directory, DirectoryInfo, File, FileStream replacements to WinRTLegacy
  381. Windows Store Apps: added support for linear color space
  382. Windows Store Apps: Added OnFileActivated handler in App.xaml.[cs/cpp].
  383. Windows Store Apps: PlayerPrefs will be saved now whenever application goes in to suspend mode.
  384. Windows Store Apps: Update docs PlayerPrefs.Save and OnApplicationQuit.
  385. Windows Store Apps: You can now use joysticks in addition to Xbox 360 controllers, but you have to enable HumanInterfaceDevice capability in PlayerSettings. Note: this capability is not visible in Package.appxmanifest UI interface in Visual Studio.
  386. WWW: Populate bytes and text on non-200 response
  387.  
  388. Changes
  389. AI: NavMesh bake settings: Removed width/height inaccuracy and allow to set voxel size instead.
  390. AI: NavMesh internal data format changes - a re-bake is necessary.
  391. AI: NavMeshLayer is replaced with NavMeshArea: old API is deprecated, area types are stored now in ProjectSettings/NavMeshLayers.asset
  392. AI: NavMeshObstacle supports two basic shapes - Capsule and Box, for both carving and avoidance.
  393. AI: Setting destination on a NavMeshAgent doesn't resume the agent after calling 'Stop' - call Resume explicitly to resume the agent.
  394. AI: Use smaller navmesh tile partitioning to improve baking and carving speed.
  395. Android: Dropped support for non-NEON CPU devices (e.g. Tegra 2). This gives a significant performance boost to Mecanim and PhysX among other things.
  396. Asset Import: Unify global scale while importing FBX models.
  397. AssetBundle: New version of http://WWW.LoadFromCacheOrDownload which can take Hash128 as version.
  398. AssetBundle: Support type tree incremental build check.
  399. BlackBerry: Removed Author ID and Author ID override from publishing settings.
  400. BlackBerry: Removed obsolete "BB10" scripting targets from API. Please use "BlackBerry" instead.
  401. Editor: It is now recommended to derive from ShaderGUI instead of deriving from MaterialEditor to make custom gui for shaders. This ensures that custom shader gui works properly together with the Substance Material Editor (Check the docs for ShaderGUI).
  402. Editor: Merged two scene view render mode dropdowns into one.
  403. Editor: Prefab instance objects are no longer stored as part of the scene file.
  404. Editor: Remove warning if using Destroy/DestroyImmediate on objects that are still in the load queue and have not been woken up yet.
  405. Editor: Renamed "Enable HW Statistics" player setting to "Enable Cloud Integration", in preparation of hosting the hwstats functionality under the Unity Cloud umbrella.
  406. Editor: TextMesh and MeshFilter components are not allowed to exist on the same GameObject
  407. GLES: Replaced 16bit depth buffer support with the ability to completely disable depth and stencil buffers.
  408. Graphics: Camera.pixelWidth and Camera.pixelHeight now return int, not float.
  409. Graphics: Changed behavior of what happens with textures that are too large for the GPU to handle, and they don't have mipmaps. Now such textures are displayed in blue color. Before, some platforms were downscaling them in some cases; other platforms were leaving them as garbage; others were crashing.
  410. Graphics: Light and Reflection Probes are enabled on Renderer components by default.
  411. Graphics: OnPreRender script callback is called before rendering camera's depth texture now.
  412. Graphics: Removed a bunch of obsolete APIs:
  413. Camera.mainCamera (use Camera.main), Camera.GetScreenWidth (use Screen.width), Camera.GetScreenHeight (use Screen.height), Camera.DoClear, Camera.isOrthoGraphic (use Camera.orthographic), Camera.orthoGraphicSize (use Camera.orthographicSize).
  414. Renderer.Render, Graphics.SetupVertexLights, obsolete Graphics.DrawMesh overloads (use DrawMeshNow), RenderTexture.SetBorderColor, Screen.GetResolution (use currentResolution), Mesh.uv1 (use uv2 instead), SkinnedMeshRenderer.skinNormals, LightmapData.lightmap (use lightmapFar instead).
  415. Removed SystemInfo properties deviceName, deviceVendor, deviceVersion and supportsVertexProgram. Use graphicsDeviceName, graphicsDeviceVendor, graphicsDeviceVersion instead. Vertex programs are always supported.
  416. Graphics: Made SystemInfo.graphicsPixelFillrate obsolete (it was not being maintained to cover new GPUs, and was not working on most platforms anyway). Now it always returns -1, just like it used to for unknown GPUs.
  417. Graphics: Renamed HDR_LIGHT_PREPASS_ON shader keyword to UNITY_HDR_ON (now the keyword is always set when camera is HDR).
  418. Graphics: Renamed VertexLit and DeferredLighting rendering paths to "Legacy" names.
  419. Graphics: Setting Mesh.colors keeps the colors in float format instead of converting to bytes. This allows you to store higher-precision color values on meshes. Note that it will use more memory so if that is a concern use Mesh.colors32 instead.
  420. iOS: ARC is enabled.
  421. iOS: Trampoline now uses clang standard library, C++11 is enabled, iOS7 SDK and Xcode5 are enforced, iOS6 is the minimal version supported.
  422. iOS: Use fixed 56000 port in player for script debugging.
  423. Mac OS X: Application.persistentPath will now correctly give you a folder in ~/Application Support instead of ~/Library/Caches.
  424. Mecanim: Added Animator.HasState to be able to query if an animator has a certain State.
  425. Mecanim: Animator Tool deleting a layer or parameter can now be done with delete key.
  426. Mecanim: Can now transition to self (State or StateMachine).
  427. Mecanim: Import blending pivot is disabled. There was a problem with imported pivot changing height (y).
  428. Mecanim: In the character transform hierarchy, if a transform doesn't belong to the skeleton, then we preserve it as it is while doing optimization.
  429. Mecanim: Moved AvatarMask to the Animations namespace.
  430. Mecanim: Moved GameObjectUtility.OptimizetransformHierarchy from Editor code to Runtime class AnimatorUtility.OptimizetransformHierarchy.
  431. Physics: All 2D colliders now have a local-space "offset" property. This replaces the "center" property in BoxCollider2D and CircleCollider2D.
  432. Physics: Allow PhysicsMaterial2D "bounciness" property to be greater than 1.
  433. Physics: Disabled MonoBehaviours will no longer receive collision or trigger callbacks.
  434. Scripting: A bunch of scripting changes. Most of them should be handled automatically by our new API upgrade tool, see http://blogs.unity3d.com/2014/06/23/uni ... -updating/
  435. Removed quick property accessors, like .rigidBody, .rigidbody2D, .camera, .light, .animation, .constantForce, .renderer, .audio, .networkView, .guiTexture, .collider, .collider2D, .particleSystem, .particleEmitter, .guiText, .hingeJoint for modularization. Instead, use GetComponent<T> to get references.
  436. AddComponent(string) is removed. Use AddComponent<T>() instead.
  437. GetComponent(string) is removed. use GetComponent<T>() instead.
  438. Application.RegisterLogCallback() and RegisterLogCallbackThreaded() have been deprecated and replaced by two new events Application.logMessageReceived and Application.logMessageReceivedThreaded. This allows for multiple subscribers.
  439. GameObject.SampleAnimation() moved to AnimationClip.SampleObject().
  440. ParticleSystem.safeCollisionEventSize changed to ParticleSystem.GetSafeCollisionEventSize().
  441. TerrainData.physicMaterial changed to TerrainData.GetPhysicMaterial() and TerrainData.SetPhysicMaterial().
  442. Deprecated Component.active property has been removed.
  443. Scripting: Added generic version of Object.Instantiate (has been in the docs since 3.5 but not exposed in the API before).
  444. Shaders: Some shader compilers have changed:
  445. Mixing partially fixed function & partially programmable shaders (e.g. fixed function verted lighting & pixel shader; or a vertex shader and texture combiners) is not supported anymore. It was never working on mobile, consoles or DirectX 11 anyway. This required changing behaviour of Reflective/VertexLit shader to not do that - it lost per-vertex specular support; on the plus side it now behaves consistently between platforms.
  446. Direct3D 9 shader compiler was switched from Cg 2.2 to HLSL, the same compiler that's used for D3D11. This fixes a bunch of issues where Cg was generating invalid D3D9 shader assembly code; and generally produces slightly more efficient shaders. However, HLSL is slightly more picky about syntax; in general you have to do same shader fixes for D3D9 as for D3D11 now (e.g. UNITY_INITIALIZE_OUTPUT for “out” structures).
  447. On desktop OpenGL, shaders are always compiled into GLSL instead of ARB_vertex/fragment_program target now. You no longer need to write "#pragma glsl" to get to features like vertex textures or derivative instructions. All support for ARB_vertex/fragment_programs is removed.
  448. Shaders: Removed some fixed-function shader features (use vertex & fragment shaders instead). This makes per-draw-call CPU overhead slightly lower across all platforms.
  449. Removed TexGen. If you have old Projector shaders, they might be using this; upgrade to 4.5/5.0 projector shaders.
  450. Removed texture combiner matrix transforms, i.e. "matrix" command inside a SetTexture.
  451. Removed signed add (a+-b), multiply signed add (a*b+-c), multiply subtract (a*b-c), dot product (dot3, dot3rgba) SetTexture combiner modes.
  452. SetTexture stage count is limited to 4 on all platforms.
  453. Shaders: Renamed "RenderFX/Skybox cubed" and "RenderFX/Skybox" shaders to "Skybox/Cubemap" and "Skybox/6 Planes".
  454. Shaders: Built-in functionality for directional lightmaps, dynamic Enlighten GI and soft shadows all require shader model 3.0 now.
  455. Shaders: Builtin Skybox shaders write 1.0 into alpha channel now.
  456. Shadows: All built-in shadow shaders used no backface culling; that was changed to match culling mode of regular rendering.
  457. Shadows: When using oblique camera projection, shadows are disabled now.
  458. Terrain: Terrain component was moved from being a C# component to being a native engine component.
  459. Windows Store Apps: Added UnityEngine.WSA.Application.advertisingIdentifier
  460. Windows Store Apps: 'Metro' keyword was replaced to 'WSA' in most APIs, for ex., BuildTarget.MetroPlayer became BuildTarget.WSAPlayer, PlayerSettings.Metro became PlayerSettings.WSA. Defines in scripts like UNITY_METRO, UNITY_METRO_8_0, UNITY_METRO_8_1 are still there, but along them there will be defines UNITY_WSA, UNITY_WSA_8_0, UNITY_WSA_8_1.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement