unity multithreadedunity rendering modepath要不要开启

Unity 5.0Unity 5.0 is our biggest and boldest release ever. Powerful new features in Unity 5 include:The Physically-based Standard Shader to make your materials look consistent in any lighting environment, cross platform.Real-time Global Illumination, built on Geomerics Enlighten technology.The Audio Mixer, to massively improve audio in your game.HDR Reflection Probes to enhance visual fidelity.PhysX 3.3 to bring massive performance improvements to 3D physics.Major updates to the animation system. WebGL preview.And of course, many more new features and updates. Keep reading to learn more.发行说明FeaturesAINavMesh supports LoadLevelAdditiveImproved performance and reduced memory consumption: NavMeshObstacles update is multi-threaded now. Carving speed generally improved 2-4x.NavMesh data for non-carved regions takes ~2x less memory now.Performance improvements for multi-threaded NavMeshAgent updates.HeightMeshes bake faster, work faster at runtime, and use ~35% less memory.Path replanning in presence of many carving obstacles is faster and more accurate.Improved inspectors and debug visualizations: NavMesh Areas inspector (previously NavMesh Layers) got a facelift.Reorganized parameters NavMeshAgent inspector.Added carve hull debug visualisation for NavMeshObstacles.Added visualisation on how NavMesh bake settings relate to each other.Improved inspectors and debug visualizationsImproved accuracy and raised limits: NavMeshObstacle supports two basic shapes - cylinder and box for both carving and avoidance.Improved automatic Off-Mesh Link collision detection accuracy. Note that this will change how off-mesh links placement on existing scenes.Improved navmesh point location/mapping when height mesh is used.Increased the height range of NavMesh baking (can build meshes for taller scenes).Made Height Mesh query more resilient to small holes in input geometry.NavMesh obstacle rotation is take into account when carving and avoiding.NavMesh tile count limit lifted from 216 to 228.NavMeshPath and NavMeshAgent paths removed 256 polygon limit.OffMeshLink - removed restriction on tile span - previously connected only up to neighbouring tiles.AndroidKitKat Immersive Fullscreen Mode. Applied by default.Rendering to multiple displays.Rendering to custom java surfaces. Exposed in Unity as additional displays.AAR Support. AAR files can now be used as a replacement for Android Library Project folders.AnimationState Machine Behaviours StateMachineBehaviours is a new MonoBehaviour-like Component that can be added to a StateMachine state to attach callbacksAvailable callbacks are : OnStateEnter, OnStateExit, OnStateUpdate, OnStateMove, OnStateIK, OnStateMachineEnter and OnStateMachineExitAnimator.GetBehaviour(). This function return the first StateMachineBehaviour that match type TState Machine BehavioursStateMachine Transitions Can now add higher level transitions from StateMachine to StateMachineEntry and Exit nodes define how the StateMachine behaves upon entering and exiting.StateMachine TransitionsAsset API Allows to create and edit, in Editor, all types of Mecanim assets ( Controllers, StateMachines, BlendTree etc.)Added API for Avatar, Motion Nodes, Events and Curve in the Model ImporterDirect Blend Tree. New type of blend tree to control the weight of each child independentlyDirect Blend Tree (Character by Mixamo)Root Motion authoring Can convert animation on the parent transform into
Root Motion (Delta Animation)Root Motion authoringAnimator Tool revamp Improved workflow Re-orderable layers and parametersAnimator Tool revampTransition interruption source. 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.Also possible to be interrupted by transitions independently of their order by disabling &ordered interruption& setting on transitions.Transition interruption sourceAdded Animator Gizmo that show up upon selection: you can see the
mass center, avatar root and the pivot.IK Hint for knees and elbows.IK Hint for knees and elbows (Character by Mixamo)Improved animation previewer camera. Camera can now Pan, Orbit and Scale with the same control than the scene viewer.The camera can also frame on the previewed Object with shortcut F and frame on the cursor position with shortcut G.AnimationEvents are now fully editable at runtime, see AnimationClip.events to query, add and delete them at runtimeKeep last evaluated value when a property stops to be animated. Activated per StateBy default it is writing default value when a property stops to be evaluatedLinear Velocity Blending Advanced feature for users requiring linear speed interpolation during blending.Root Motion Speed and Angular Speed now blend linearly in Blend Trees, Transition or LayersChoose between Linear Velocity Blending or Linear Position Blending in Animator with animator.linearVelocityBlending. It is false by default.You can now get Animator root motion velocity and angular velocity with animator.velocity and animator.angularVelocityAudioAdded a new AudioMixer asset type! Create one or more AudioMixers in a project. Use the Audio Mixer window to create complex mixing hierarchies and effect processing chains.Mix and master all audio within Unity by tweaking all parameters during edit mode and play mode.VU meters for the outputs of all AudioGroup and at attenuation points within the AudioGroup.Allow AudioSources to route their signal into any AudioMixer.The audio output of one AudioMixer can be routed into any AudioGroup of any other AudioMixer, allowing complex re-configurable Audio processing.Audio &Sends& and &Receives& can be inserted anywhere into the signal chain of an AudioGroup.The attenuation of an AudioGroup can be applied at any point in the AudioGroup (allowing pre and post fader effects).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.Snapshots can also be weighted blended (2 or more snapshots).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.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).AudioGroups can be Soloed, Muted and have their effects bypassed.Built-in side-chain volume ducking. Support for custom high-performance native audio plugins through a new SDK.
Reverb Zone Mix slider and curve in order to be able to control amount of signal routed to the global reverb associated with Audio Reverb Zones. This allows setting up natural transitions between near field and distant sounds and also allows routing 2D sounds into the reverb.Rewritten Audio asset pipeline and AudioClip backend. AudioClip settings now support multi-editing.Per-platform compression setting overrides for AudioClip import, much like texture importing. This includes an API change. Users will now be able to enable override settings per platform and have unity have different compression characteristics for different platforms. Audio transcoding and packing now happens in a separate tool, removing risk of crashing Unity on import.No double loading of sounds during import processing.Better handling of huge audio files. If a sound is set to streaming, it is never fully loaded in the editor or player now.Editor profiling of Audio is now accurate and reflects how it would be in the game.Streaming (file handle) resources are now freed immediately after playback of sound.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).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.Improved Audio Profiler with better statistics and detailed information. To view it, open the Profiler window, click the Audio pane and press the “Channels”, “Groups” or “Channels and groups” button..Improved Audio ProfilerAudioSettings.GetConfiguration / AudioSettings.Reset API as an alternative to the now deprecated AudioSettings.outputSampleRate/AudioSettings.speakerMode property setters and the AudioSettings.SetDSPBufferSize function. The new API allows querying the current configuration and applying all changes at once.Notification callback AudioSettings.OnAudioConfigurationChanged(deviceChanged) callback which can be used to get notifications when sound system reinitialisation happens. This can then be used to adapt audio device settings further or reload volatile AudioClips such as generated PCM clips and restore other audio system state.ConsolesUnity 5.0 has day one support for XBox 360, XBox One, PS Vita, PS3 and PS4, with Wii-U arriving later in the spring.A custom editor is no longer required for any console. The console extensions are compatible with the general Unity editor!Many developers are already building their games with Unity 5.0 on console having taken part in a Beta release program.EditorUnity editor is now 64-bit! A separate 32-bit installer is available for W on Mac OS X we only ship 64-bit now.Note that this affects native plugins used in the editor, which now also need to be 64-bit.New AssetBundle build system. Adds simple UI to mark assets into assetBundles, provides simple API to build assetBundles without having to write complex custom scripts (no need for Push/Pop).Supports incremental build, which only rebuilds AssetBundles that actually change.AssetBundle dependencies don't force the rebuild of all the bundles in the dependency chain.Provides AppendHashToAssetBundleName option to allow to append the hash to the bundle name.Provides AssetBundleManifest which can be used to get the dependent AssetBundles at runtime.By default includes type tree in the assetBundle on all the platform except metro.New Project Wizard dialog. Recent projects list shows &Last Saved With& version number for each project (if available - this information is only saved starting with 5.0).Timeline Profiler:
New view in the CPU Profiler that shows the frame samples laid out on a Timeline. Each thread
This is mostly useful for multi-threaded profiling.Timeline ProfilerVersion Control: Scene and Prefab Merging Command line merge tool that understands the scene and prefab formats in order to do semantic merges.Merge tool integration with Unity's existing version control integration. Can be enabled from EditorSettings.Plugin Inspector: new native plugin importing 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. 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.Platform specific settings can also be set, e.g. CPU type. Different platforms may have different settings.GraphicsIntegrated Enlighten real-time global illumination (GI) technology, and improved lightmapping workflow. In “Continuous baking” mode scene changes are automatically picked up and tasks are spawned to precompute data for dynamic GI, calculate static lightmaps, light probes, reflection probes etc.Runtime Dynamic GI for lights: Changes to lights marked as &Dynamic GI& and skylight changes are picked up automatically.Emissive surfaces can emit light into GI at runtime. Emissive colors can be changed affect static and dynamic objects in realtime.Material changes can be triggered via DynamicGI API.Directional lightmaps can now be baked in a &directional specular& mode (which allows materials to retain their specular look) or in a cheaper &directional& mode (materials get a normal-mapped diffuse look). &Non-directional& mode is the cheapest and results in a flat diffuse appearance. All 3 options are available for both baked and realtime lightmaps. New Lighting window Single place to specify lightmapping, GI and scene render (ambient/reflection/fog) settings.UI grouped by logical areas.When real-time lightmaps are disabled and baked lightmaps enabled, indirect lighting of real-time lights is automatically baked into baked lightmaps. If you don't want this behavior, set indirect lighting to 0.HDR workflow improvements: HDR scene view. When main camera is HDR, then scene view rendering is done in HDR too using the same Tonemapper settings as the main camera.Support for .hdr and .exr texture formats.HDR textures (from .exr/.hdr files) are automatically encoded into RGBM format. You can alter this behavior in advanced texture import settings.Reflection ProbesNew &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 glossy reflections.Reflection probes are baked similar to light probes and are stored as cubemap assets. Specular convolution is applied automatically to achieve high-quality glossy reflections.Reflection probes can also be rendered in realtime, with optional timeslicing across multiple frames.Added global reflection cubemap in L by default matches the skybox.Reflection ProbesSkybox and ambient improvements: New scenes are now set with directional light, procedural skybox and a reflection probe by default.Added &Skybox/Procedural& shader that allows setting up simple skies easily.Built-in Skybox shaders now support HDR (RGBM encoded) textures.Skybox materials can be assigned by drag-and-drop on the background in the Scene View.Cubemap textures can be assigned to skybox by drag-and-drop on the background in the Scene View. Material with Skybox/Cubed shader is created automatically.Improved inspector preview & thumbnails of Skybox materials.Ambient lighting automatically matches to a skybox. This behavior can be turned off by specifying ambient colors explicitly in Lighting settings.Skybox and ambient improvementsNew &Deferred Shading& rendering path: Single pass, multiple-rendertarget G-buffer shading.Fully supported by the new Standard shader.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.Surface shaders can generate code for new Deferred Shading rendering path. All 4.x builtin shaders also got support for that.Deferred G-bufferImproved and extended cubemap workflow. Renamed “Reflection” texture import type to “Cubemap”. Automatic detection of the mapping mode for spherical, cylindrical and 6 removed 2 obscure spherical mappings which were rarely used.Textures imported as cubemaps can use texture compression now!Added specular and diffuse convolution options to cubemap textures.Cubemap inspector was improved, can now show alpha channel & also understands RGBM encoded HDR cubemaps.Improved seamless cubemap edge fixup.Moved old Cubemap menu entry from Assets into Assets | Legacy. Instead to import cubemap textures use “Cubemap” type in texture importer settings.Meshes: More than two UV coordinates! Up to 4 UVs are impor and Mesh class gained uv3 & uv4.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.MeshRenderer has a new additionalVertexStreams property for per-instance mesh data overrides. For example just vertex color for one instance. This is currently used by Enlighten for per-instance UVs.SpeedTree integration: SpeedTree models (.SPM files) now can be recognized, imported and rendered by Unity. The workflow is very similar to other mesh formats like FBX.SpeedTree features like smooth LOD transition, billboards, wind animation and physics colliders are fully supported by specialized SpeedTree shaders.SpeedTree models are selectable as tree prototypes on terrain.Frame Debugger. See how exactly frame is rendered by stepping through draw calls. See Frame DebuggerAdded scriptable &Command Buffers& for more extensible rendering pipeline. Create command buffers (&draw mesh, set render target, ...&) from a script, and set them up to be executed from inside camera rendering.Command buffers can be executed from a bunch of places during rendering, e.g. immediately after deferred G- o etc. See this blog post: Blurred refraction implemented through command buffersShadows: Much better directional light soft shadows (5x5 PCF filter replaces the old screenspace blur).Ability to control directional light shadow cascade split ratios in Quality S and added a shadow cascade scene view visualization mode. Replaced &cast shadows& checkbox in Renderer component with a popup. Additional modes: Two Sided - casts two-sided shadows even from single- Shadows Only - cast shadows, but make the object invisible otherwise.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 image effects anyway. This means that ShadowCollector shader passes aren' you can just remove them if you had any.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.Normal-offset shadows to help reduce self-shadowing artifacts (“normal bias” setting on Light). Manually written shaders should use TRANSFER_SHADOW_CASTER_NORMALOFFSET in the vertex shader, which is similar to the old TRANSFER_SHADOW_CASTER but it requires v.normal to be present.Most platforms now internally use floating point (RFloat) format for point light shadows, instead of custom encoded ARGB32 format. Saves shader instructions and has better precision.Particles: Added a Circle emitter (with an option to specify an arc) and one-way Edge emitter.LOD Group was improved. 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 in unity_LODFade.x.iOSSupport deep plugin folder structure.Support for XIB launch screens.Xcode manipulation API for editor scripts, and rewritten Xcode project generator.iOS 64-bit support via IL2CPP scripting backend. You can switch to it in Player Settings.Metal graphics API support. Picked automatically on eligible devices. Can be controlled in Player Settings. Linux & SteamOSGamepad configuration via Steam Big Picture mode (See upgrade guide).Gamepad hot plugging.Includes default configurations for several common gamepads.PhysicsPhysX 3 integration! Better performance on multi-core processors, and especially on mobile. See Moving static colliders does not cause performance penalty anymore.Better simulation quality, e.g. stacking stability.Cleaner codebase, which does not contain some of the long standing issues.See 2D physics: Added ConstantForce2D, PointEffector2D, AreaEffector2D, PlatformEffector2D and SurfaceEffector2D components. Added Physics2D.IsTouching, IsTouchingLayer and Collider2D.IsTouching, IsTouchingLayer methods.All 2D colliders now have a 2D ‘offset’ property that replaces the ‘center’ property on BoxCollider2D and CircleCollider2D. Added Rigidbody.maxDepenetrationVelocity to make possible to tune the velocity of the colliding rigidbodies when they are pushing each other away.Added TerrainData.thickness to control the thickness of TerrainColliders.Add Cloth.ClearTransformMotion method to allow teleportation of cloth instances.Exposed WheelCollider.sprungMass to C# as a read-only property. Sprung mass can have a wide range of applications like being able to configure suspension springs using natural frequency & damping ratio or having custom forces added to suspension based on the weight supported by particular wheels.ScriptingAuto-update obsolete Unity API usage in scripts & assemblies. Majority of API upgrades are done automatically, see this post for details: ShadersNew built-in &Standard& shader. Physically based shader, suitable for most everyday surfaces (metals, plastics, wood, stone etc.).Comes in both “metallic workflow” and “specular workflow” variants.Introduce detail normalmaps and ambient occlusion support.Support two modes of alpha blending - physically plausible “Transparent” mode (suitable for glass, ice, etc) and “Fade” mode which allows to shade fading out objects and decals.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).Approximate and optimized path for mobile & shader model 2.0.This is a default shader for newly created objects now. Most of Unity 4.x shaders were moved to “Legacy” shader popup menu.Surface shaders can also use the same physically based BRDF (Standard and StandardSpecular lighting functions).Build-time stripping of unused shader features, and shader variant compilation improvements. Added #pragma shader_ similar to multi_compile but unused ones are removed from the game builds. If no materials use a particular shader feature variant, shader code for it is not included into game data.#pragma shader_feature can be provided just one parameter, e.g. #pragma shader_feature FANCY_ON. This expands to two shader variants (without and with the parameter defined).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 the vertex shader only.Underscore-only names in shader_feature and multi_compile are treated as &dummy& and don't consume shader keyword names. Useful for defining default shader behavior.Shader variants for unused lightmap modes aren’t included into build. 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.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: #pragma target 3.0 // base is SM3.0#pragma target 4.0 FOO BAR // FOO or BAR require SM4.0Custom 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.Standard AssetsA new suite of Standard Assets including cameras, first and third person controllers, car controller, aeroplane controller and sample particle systems.A cross platform input helper. New mobile control prefabs based on the new UI system.Image effects have been converted to C#.New sample project based on the Standard assets shows how to best utilize them.Unity Download AssistantAs part of optimizing download, we're shipping Unity 5 as multiple installers. The Download Assistant lets the user select which components to download and install.The individual installers can be downloaded separately and installed silently, as described in the documentation.WebGLWebGL support: a new target in the build player window!Currently marked as “Preview” official support for latest Firefox & Chrome.Uses the same il2cpp scripting backend as 64-bit iOS.See blog post: Changes2DIt's no longer possible to have multiple sprites with same name in Sprite EditorUnityEditor.Sprites.DataUtility.GetSpriteMesh and GetSpriteIndices functions are now deprecated. Use Sprite.vertices, Sprite.uv and Sprite.triangles instead.AINavMesh bake settings: Removed width/height inaccuracy and allow to set voxel size instead.NavMesh data format has changed - you need to rebuild the NavMesh to use it!NavMeshLayer is replaced with NavMeshArea: old API is deprecated, area types are now stored in ProjectSettings/NavMeshLayers.asset.NavMeshObstacle supports two basic shapes - Capsule and Box, for both carving and avoidance.Setting destination on a NavMeshAgent doesn't resume the agent after calling S call Resume explicitly to resume the agent. Setting NavMeshAgent.nextPosition will update transform immediately if NavMeshAgent.updatePosition is true. This makes it consistent with the existing baseOffset and Move API.Use smaller navmesh tile partitioning to improve baking and carving speed.When NavMeshAgent.updatePosition is false - moving the transform position doesn't affect the internal agent position.When NavMeshAgent.updatePosition is changed to true from false the transform position is moved to the internal agent position.AndroidDisabled hidden input keyboard.Dropped support for non-NEON CPU devices (e.g. Tegra 2). This gives a significant performance boost to Mecanim and PhysX among other things.User resolution now gets swapped when the orientation is changed.Default framebuffer format switched from RGBX to RGBA.WebCamTexture is no longer supported on Gingerbread (2.3) devices.Switched default from being a NativeActivity to a regular Java Activity. This should make the default Activity more compatible with 3rdparty Android frameworks.AnimationAdded Animator.HasState to be able to query if an animator has a certain State.Added console warning when an IK function is called when the Animator is not in the IK passAnimator with Apply root motion ON will always be affected by physic gravity when playing a clip without any root motion curve.Animator Tool deleting a layer or parameter can now be done with delete key.AnimationUtility.SetAnimationClipSettings now publicCan now transition to self (State or StateMachine). Changed profiling detail to see more information for the Animator evaluation pipeline.Renamed Animator.GetCurrent/NextAnimationClipState to Animator.GetCurrent/NextAnimatorClipInfo.In the character transform hierarchy, if a transform doesn't belong to the skeleton, then we preserve it as it is while doing optimization.Moved AvatarMask to the Animations namespace.Moved GameObjectUtility.OptimizetransformHierarchy from Editor code to Runtime class AnimatorUtility.OptimizetransformHierarchy.Transform scale now blends linear instead of exponential. It allows blending with scale = 0.Changed Culling Mode for the Animator. We now have “Always Animate”, “Cull Update Transforms” (was Based on Render) and “Cull Completely”.Asset BundlesNew version of WWW.LoadFromCacheOrDownload which can take Hash128 as version.Rename AssetBundle.Load() to AssetBundle.LoadAsset().Rename AssetBundle.LoadAll() to AssetBundle.LoadAllAssets().Provide AssetBundle.LoadAllAssetsAsync() which loads all assets asynchronously.Provide AssetBundle.LoadAssetWithSubAssets***() which loads the asset with the sub assets.Provide AssetBundle.AllAssetNames() to return all the assets in the assetBundle.Support type tree incremental build check.Asset ImportUnify global scale while importing FBX models.Asset ManagementResources.LoadAssetAtPath is no longer available outside of the Editor.AudioAudioClip.isReadyToPlay is now obsolete and replaced by AudioClip.loadState.AudioSettings.outputSampleRate and AudioSettings.speakerMode can now only be read from, because setting it required a complete restart of the sound system and therefore losing state of all non disk-based AudioClips and filters. SetDSPBufferSize has been declared obsolete for the same reason.The hardware, loopable and compressionBitrate properties of AudioImporter are now obsolete.BlackBerryRemoved Author ID and Author ID override from publishing settings.Removed obsolete &BB10& scripting targets from API. Please use &BlackBerry& instead.EditorApply build target switch from -buildTarget before initial domain load.Creating, duplicating or instantiating (prefab) in editor generates unique name between siblings. Does not affect renaming, re-parenting, scripting or playmode.Editor always runs in background when a debugger is attached. EditorApplication.NewScene() creates a scene that has a Main Camera, a Directional Light, a default Skybox set and has Enlighten enabled by default. If you need a new scene with no GameObjects in it use EditorApplication.NewEmptyScene().If standalone is current build target, do a full build target switch when setting EditorUserBuildSettings.selectedStandaloneTarget.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).Merged two scene view render mode dropdowns into one.New bug reporterPlayers always run in background when &Script Debugging& is enabled.Prefab instance objects are no longer stored as part of the scene file.Recognize more build target names with -buildTarget switch and remove 32bit/64bit switch for &standalone&.Remove warning if using Destroy/DestroyImmediate on objects that are still in the load queue and have not been woken up yet.Removed “Make MMO” button from Edit menu. ;)Renamed &Enable HW Statistics& player setting to &Disable Analytics&.Replace EditorUtility.UnloadUnusedAssets() to UnloadUnusedAssetsImmediate().TextMesh and MeshFilter components are not allowed to exist on the same GameObject.When manipulating preview object in Material inspector camera will rotate around the object instead of rotating the object itself, this was needed so you can see different reflections from different angles.FontsFont.textureRebuildCallback has been renamed to Font.textureRebuilt and is now a static event of type Action. Font.textureRebuildCallback continues to work but has been deprecated. This change cannot be upgraded automatically by the script updater.GraphicsAdded GL.invertC obsoleted old GL.SetRevertBackfacing function.Camera.pixelWidth and Camera.pixelHeight now return int, not float.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 downscalin other platforms were lea others were crashing.DX11: Uses CPU rendering (WARP device) when running in batch mode without a GPU; can also request WARP with &-force-driver-type-warp& command line argument.GLES: Replaced 16bit depth buffer support with the ability to completely disable depth and stencil buffers.Image Effects: All built-in image effects were rewritten from JavaScript to C#. You probably want to delete old files and import the fresh Effects package if you want the latest version.Removed old G use Bloom or Bloom(optimized) instead.Light and Reflection Probes are enabled on Renderer components by default.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.OnPreRender script callback is called before rendering camera's depth texture now.Renamed HDR_LIGHT_PREPASS_ON shader keyword to UNITY_HDR_ON (now the keyword is always set when camera is HDR).Renamed VertexLit and DeferredLighting rendering paths to &Legacy& names.RenderTexture.Create now actually does nothing if RenderTexture is already created, just like documentation always said :)Replaced the built-in sphere and capsule meshes with versions that are better suited for lightmapping. Because the topology has changed both UV1 and UV2 are now different.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.Skybox geometry was changed for cubemapped and other single-pass skybox shaders. Now instead of a big cube, it's a big and somewhat tessellated sphere, with more polygons near horizon. Allows computing things per-vertex in skybox shaders for performance.Removed TextureUsageMode and TextureImportInstructions editor classes.iOSAdded specialized ViewControllers for fixed screen orientation. Added methods to AppController to override to provide custom ones.An animated splash screen with a Unity logo is shown for non-Pro license users by the engine itself. Static pre-splash screens can be customized by all users.Automatic Reference Counting (ARC) is enabled.Changed the way UI integration works. Now there are specialized ViewController's for fixed orientation. Also made custom UI integration easier - both for simple and complicated cases (e.g. if you have portrait unity content in landscape ViewController, script side and _unityView.content orientation will return portrait, while AppController's interface orientation will be landscape). For more details check comments in Classes/UI/UnityAppController+ViewHandling.h in trampolinecreateUnityViewImpl was deprecated and removed (assert will be fired if you implement this method). Override createUnityView instead.createViewHierarchyImpl was deprecated and removed (assert will be fired if you implement this method). Override willStartWithViewController instead.createViewHierarchy was deprecated and removed. Use createUI instead if you had it called from custom place.Refactored player pausing in the trampoline.Default splash screens set to solid color.Trampoline now uses clang standard library, C++11 is enabled, iOS 7.0 SDK and Xcode5 are enforced, iOS 6.0 is the minimal version supported.Fixed TCP 56000 port in now used by player for script debugging.LinuxMinimum supported version is now Ubuntu 12.04 LTS.OS XApplication.persistentPath will now correctly give you a folder in ~/Application Support instead of ~/Library/Caches.Mac OS X Standalone: Data folder has moved to Content/Resources, in accordance with Apple guidelines.PhysicsDisabled MonoBehaviours will no longer receive collision or trigger callbacks.Expose contactOffset both global and per-shape. This comes to replace Physics.minPenetrationForPenalty that lost its original meaning with the upgrade to PhysX3. Contact offset is the value that directly affects the distance at which PhysX starts when the distance between colliders is
less than the sum of their respective contact offsets the contacts are generated. The value is useful when you have fast moving ragdolls and observe the not physically correct behaviour of joints when the colliders they connect penetrate other collision geometry.Expose enablePreprocessing on joints. Having this flag unset basically lets PhysX to ignore some of the broken joint constraints in compli otherwise such constraints may produce huge impulses that lead to &explosions&. A typical usecase would be when upgrading a PhysX-powered Unity 4 2D game where you have 2 rotations frozen on each Rigidbody and joints are attached to some of them.Expose projections on CharacterJoint to help with stretching of limbs. Joint projection is a technique that once enabled makes sure the joint constraints are not violated for more than a tolerance value by adjusting the connected bodies' pose so that they it is always within tolerance. This is not a physical process (it may loose energy) and comes with some performance cost, but can serve as a good last resort in challenging configurations where otherwise ragdolls explode or overstretch.Make CharacterController ignore any child & sibling collidersPhysics.maxAngularVelocity has been removed as it is non-functional in PhysX 3.3. You can still use Rigidbody.maxAngularVelocity.ScriptingNote: Many scripting changes should be handled automatically by our new API upgrade tool, see AddComponent(string) is removed. Use AddComponent() instead.Added generic version of Object.Instantiate (has been in the docs since 3.5 but not exposed in the API before).Application.RegisterLogCallback() and RegisterLogCallbackThreaded() have been deprecated and replaced by two new events Application.logMessageReceived and Application.logMessageReceivedThreaded. This allows for multiple subscribers.C# compiler defaults script encoding to UTF8.Deprecated Component.active property has been removed.GameObject.SampleAnimation() moved to AnimationClip.SampleObject().'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 are defines UNITY_WSA, UNITY_WSA_8_0, UNITY_WSA_8_1.ParticleSystem.safeCollisionEventSize changed to ParticleSystem.GetSafeCollisionEventSize().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 to get references.Removed obsolete graphics APIs: 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), 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).Removed SystemInfo properties deviceName, deviceVendor, deviceVersion and supportsVertexProgram. Use graphicsDeviceName, graphicsDeviceVendor, graphicsDeviceVersion instead. Vertex programs are always supported.TerrainData.physicMaterial changed to TerrainData.GetPhysicMaterial() and TerrainData.SetPhysicMaterial().ShadersAll opaque & skybox built-in shaders and surface shaders now output 1.0 into the alpha channel. This means that image effects that used &alpha as fake HDR& (e.g. old Glow from Unity 1.x days) will not work with them anymore. Use “keepalpha” surface shader option to keep the old behavior.Alpha blended surfaces do NOT automatically have &Alphatest Greater 0& in generated shader code.Built-in default &gray& shader texture is color space aware now.Built-in functionality for directional lightmaps, dynamic Enlighten GI and soft shadows all require shader model 3.0 now.Built-in lightmaps (unity_Lightmap etc.) are declared in UnityShaderVariables.cginc now. If you had them declared in your own shader code, you might need to remove them (we'll try to do that automatically).Fog handling in shaders was changed. For surface shaders and fixed function shaders, nothing to do. Can add &nofog& to surface shader #pragma line to explicitly make it not support fog.For manual vertex/fragment shaders, fog does not happen automagically now. You need to add #pragma multi_compile_fog and fog handling macros to your shader code. Check out built-in shader source, for example Unlit-Normal how to do it.Improved error messages for some shader compilation errors.Removed some fixed-function shader features (use vertex & fragment shaders instead). This makes per-draw-call CPU overhead slightly lower across all platforms. Removed TexGen. If you have old Projector shaders, they upgrade to 4.5/5.0 projector shaders.Removed texture combiner matrix transforms, i.e. &matrix& command inside a SetTexture.Removed signed add (a+-b), multiply signed add (ab+-c), multiply subtract (ab-c), dot product (dot3, dot3rgba) SetTexture combiner modes.SetTexture stage count is limited to 4 on all platforms.Renamed &RenderFX/Skybox cubed& and &RenderFX/Skybox& shaders to &Skybox/Cubemap& and &Skybox/6 Planes&.Renamed unity_LightmapIndScale variable to unity_DynamicLightmapScaleSome shader compilers have changed: Mixing partially fixed function & partially programmable shaders (e.g. fixed function vertex lighting & 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-ver on the plus side it now behaves consistently between platforms.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
and generally produces slightly more efficient shaders. However, HLSL is slightly mor in general you have to do same shader fixes for D3D9 as for D3D11 now (e.g. UNITY_INITIALIZE_OUTPUT for “out” structures).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.ShadowsAll built-in shadow shaders use backface culling now. Use “two sided” cast shadows option if you do not need backface culling.Shadows on D3D9 require &native shadowmap& support in the driver now (pretty much all systems that can do shadows have that, so this should be fairly invisible). Upside: less shader variants are included into game builds now.Shadows on iOS+GLES2.0 require GL_EXT_shadow_samplers now. This means iPhone4 / iPodTouch4 will not support realtime shadows anymore. Upside: less shader variants and faster shader loading times.Removed screenspace directional light shadow blur (PCF 5x5 is used now). Removed shadow softness & softness fade from Light.Normal-based shadow bias defaults to 0.4 for lights nowWhen using oblique camera projection, shadows are disabled now.Web PlayerRemoved WWW.LoadUnityWeb API. Load additional unity web file from website script code.Windows Store AppsRemoved support for C++ Visual Studio projects.Improvements2DAdded Sprite.pivot getter.Sprite geometry can now be overridden using Sprite.OverrideGeometry(Vector2[] vertices, UInt16[] triangles). SpritePacker: Atlas texture name will now also contain the atlas name.The new AssetPostprocessor.OnPostprocessSprites(Texture2D texture, Sprite[] sprites) is called immediately after OnPostprocessTexture when sprites are generated.AICarving navmesh supports carving the detailed tessellation. Fixes height discontinuities when an undulating region is carvedExpose pathfinding iteration limit, and avoidance prediction time to script APIIn Editor the &Show Avoidance& option for NavMeshAgent will show the sampled velocities for avoidance calculationNew icons for navmesh asset and componentsWarn if agent and obstacle components are placed on the same GameObjectWarn if navmesh slope bake setting is unreasonable.Android&Android TV Compatibility& checkbox which enables Android TV compatibility checks at build time.Hardware upscaling for Screen.SetResolution().isGame setting for Android TV and Android 5.0 devicesJDK detection. Build fails if only JRE is present.Made VRAM estimation somewhat more correct.PlayFullScreenMovie now supports FullScreenMovieScalingMode.AspectFill.Public Java API for attaching custom rendering surfaces.Reconfiguring antialiasing or changing display framebuffer properties should no longer result in a GL context loss.Reduced system memory usage.Support for Android TV banners.Support for MouseDrag event.VSync improvements: using Choreographer on JellyBean+ to
and using VSync time when available to hit stable 30FPS when &Every other vblank& is on.WWW responseHeaders now contain STATUS key.AnimationAdded AnimationEvent.animatorInfo and AnimationEvent.animationInfo for Event fired by Animator.Added &Edit& button for imported AnimationClip that selects the ModelImporter with proper clip Added helpbox on StateMachine TransitionsAdded reset functions to Animator State and Animator TransitionAdded RuntimeAnimatorController.animationClips property. It returns all the clips in the controllerAdded tooltips to animation transition settings + added foldout group for settings.Always display numeric values for Transition's duration, offset and exitTime.Better error message on default Blendtree parametersCan now drag and drop FBX files directly in the StateMachine GraphCan now drag AnimatorController directly on GameObject, it will created an Animator component if needed.Clicking on the blend tree background will select the top blend nodeCopy/paste/duplicate keyboard shortcuts work.Display Animator stats in inspector: Clip count, curve count, etc. Don't show contextual menu when adding transition to empty StateMachineDouble clicking on a State with an imported AnimationClip now shows the Animation Import Settings in the InspectorHelpBox in inspector when root node position/rotation is controller by curvesImproved computation of Pivot weightImproved humanoid retargeting. The differences between Generic and Humanoid animation are now less than 0.001 normalized meter and 0.1 degrees on end points.Improved performance when ModelImporter has many AnimationClipsIn the AnimationClip importer, proper support for 0 duration clipsModelImporter remembers foldout stateOrdered Interruption UI is disabled when in Next StatePersisted the Settings foldout through a static variable.Runtime access to Animator's parameters (Animator.parameters property).States can now be renamed on synchronized layersSupport the case that both SkinnedMeshRenderer and Animator are on the same GameObject (optimised mode).Transition Solo and Mute are now undoable.Trigger parameters now have different UI to distinguish them from Bool parameters.Asset ImportAdded AssetPostProcessor.OnPreProcessAnimation, this new callback is called just before animation clips are created.Added ModelImporter.defaultClipAnimations (list of ModelImportClipAnimation based on TakeInfo) and ModelImporter.importedTakeInfos (list of TakeInfo from the file).Support large bitmaps importing (&4Gb in size)Update PVRTC texture compressor.Updated FBX SDK to 2015.1: fixes various rare crashes and issues when importing some Collada, OBJ, 3DS fixed reversed normals in some DXF files.Asset ManagementAllow to access files with long path (more than 260 characters) on Windows.AudioAdded more descriptive error message when FMOD fails to initialise on Windows because of sound card drivers configured to give applications exclusive mode access.AudioSources now take up fewer resources. Previously this caused problems when importing projects with a large number of AudioSource contained in prefabs.Improved audio importer interface to be make options more clearIncreased default virtual voice count from 100 to 512 and made it user-configurable through project settings.Removed 3D property in AudioClip and moved all 3D audio functionality to the AudioSource. 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.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.BlackberryAdded &Add Attached Device& to the debug token creation window.Application.systemLanguage now differentiates between Chinese Simplified and Chinese Traditional appropriately.Registration now uses BlackBerry's 10.2 registration system. Currently registered systems do not need to re-register.DocumentationDefault language for code snippets in the Scripting Reference is C#, with many more examples in C# available, with Javascript as a secondary language, and Boo removed.Localized documentation available in Russian, Spanish and Japanese (currently based on 4.6 docs and over time 5.0).Improved handling of namespaces, generics and interfaces.API history improved with information about obsolete members.EditorAdded 8192 maximum texture size option in import settings.Added deferred diffuse/specular/smoothness/normals scene view rendering modes.Added GetCurrentGroupName() and SetCurrentGroupName() to allow overriding the automatic undo name generationAdded Gizmos.DrawMesh and DrawWireMesh (the meshes drawn are pickable too).Added support for importing textures from PVRv3, ASTC, KTX file formats.Added virtual function ScriptableWizard.DrawWizardGUI for customizing GUI of derived wizard classes.Added warning on exiting play mode when objects have been spawned into the scene from OnDestroy().Asset Store: The asset store window is now much faster, more responsive, and looks better.Camera inspector shows camera's depth texture mode. Also, scene view camera makes sure to match main camera's depthTextureMode.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.EditorStyles.helpBox is now exposedEnsure controls are not rendered with focus state if the EditorWindow they are in does not have focus.Expose RenderTexture color format in the inspector, just like with depth format.Exposed AssetPreview.SetPreviewTextureCacheSize ().Finished builds will be shown in OS X notification center when Editor in the background.Frame Selected (F key over scene view) now takes point/spot light range into account.Improved build times for textures and AudioClipsImproved searching for class names in different namespaces and across different user assemblies.Improved UI display names in Player SettingsLicense: Activate from command-line.License: Added -returnlicense command line option, which returns the currently active license and quits the editor.License: A progress bar will be shown during returning or releasing a license.LightmapParameters now has an iconLightmapSnapshot now has an iconMaterialEditor improvements Show a foldout arrow for Material inspectors inlined on gameobjects to make it clear that they can be expanded/collapsed.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.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.Added TextureScaleOffsetProperty(): Draws tiling and offset properties for a texture.Texture scaling and offset values can now be dragged.Optimization of Hierarchy WindowPrevent tooltips from showing while dragging.Tag editor facelift by removing the empty tag and using Reorderable list to draw tags and layers.When browsing for a location to create or open a project, the dialog starts at the location where a project was last created or opened.When saving scenes, overwrite existing scene file only after successful save.Windows Editor: Native child windows have their title set to the GUIView/EditorWindow class name.Unity will output a proper error regarding incompatible CPU architectures on Mac OS X when failing to load native libraries. For ex., You cannot load 32 bit native libraries on 64 bit Editor.FontsAdded easier APIs to access OS Fonts (Font.GetOSInstalledFontNames and Font.CreateDynamicFontFromOSFont).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).Optimized texture rebuilds to happen less often.GraphicsAdded &#pragma exclude_renderers nomrt& for platforms not supporting multiple render targets (MRTs).Added Camera.onPreCull, onPreRender, onPostRender delegates.Added RenderTextureFormat.ARGB2101010 and Shadowmap formats.Added Shader.IsKeywordEnabled API.Added SystemInfo.graphicsMultiThreaded API.Added Texture2D.SetPixels32 overload that accepts offset and dimensions.All baked and realtime lightmapping computations are now done in linear space, this makes lighting between gamma & linear space look much closer. When using pure lightmaps, it should in fact look very similar.Allow SkinnedMeshRenderer to accept non-skinned meshes.DDS importer can import Float, Half and 11.11.10 format .dds textures now.Dynamic batching can batch non-uniform scaled objects together when normals/tangents are unused. Helps with shadow caster batching, and unlit shaders.Image Effects: Added Threshold tweak to SunShafts, removed legacy &alpha as mask&.Image Effects: GlobalFog image post-processing effect was rewritten. Now it has &distance fog& (matches what is set in lighting settings), and optional &height fog& (linearly increasing fog density below specified height).Increased maximum number of simultaneous render targets (MRT) to 8 on capable platforms.Light intensity now behaves consistently between linear and gamma space rendering mode. Lights in linear mode can now have much higher intensity. The light intensity is now defined to be in gamma space, hence in linear rendering it is converted to linear space when passed to the shader. (In linear space the maximum effective light intensity is now 97 while previously it was 8).Lightmaps & baked probes compressed with RGBM now have an effective range of 5 in gamma space or 32 in linear space. This reduces RGBM compression artifacts for lightmaps. Emissive surfaces for enlighten are encoded with a range of 8 in gamma space and 97 in linear space.Meshes: Mesh compression will now also do lossy compression of vertex colors.Meshes: Added &keep quads& useful for DX11/Console tessellation shaders.Optimized per-object light culling in forward rendering by using multiple CPU cores better.Overhauled stats window to be more compact and profiler rendering stats to be more comprehensive.Reduced memory consumption when loading textures on mobile devices.Rendering code optimized to reduce amount of material SetPass calls. Light probes and lightmap UV transform state changes are now internally applied via MaterialPropertyBlocks without requiring a full SetPass. This reduces cost on the main thread to send commands to the render thread, and on the the render thread the driver overhead is reduced.Scene View: Can drag a cubemap onto empty space in the scene view to assign it as a skybox.Skinned meshes use less memory by sharing index buffers between instances.Support for more shader keywords (128, up from 64). iOSAdded debug labels for OpenGL objects, useful in Xcode frame capture debugging.Allow to set compile flags for already existing files in Xcode APIBetter support for Unity view size changes from native side.Enabled basic background processing.Expose font directories to the trampolineGame controller button pressure is now also exposed as axis (float) value.Implement a way to select iOS framework dependencies for native plugins.Improved performance of adding large number of files to Xcode projectOptimized Texture2D.LoadImage performance for PNG and JPG files.Tweaked external RenderSurface API to make a bit more sense and be more concise.LinuxAdded Input.IsJoystickPreconfigured for querying 5.0 Linux gamepad detection.Monitor selectionSet popupwindow mode via Motif borderless hint when supportedSupport XDG-compliant path overrides.NetworkingWWW: Populate .bytes and .text on non-200 response.PerformanceImproved multithreaded job system: Culling & shadow caster culling is multithreaded now.Internally multithreaded parts (culling, skinning, mecanim, ...) are more efficient now via some lockless magic.Temporary memory allocations done by some jobs are more efficient now.Improved loading performance. More work has been offloaded to the loading thread, reducing the overhead of asynchronous loading on the main thread.Object.Instantiate performance has been improved.Mecanim optimizations: Optimized Animator Enable(), 2x speed on complex controllers.Optimized Animator memory usage per instance, 2x smaller on complex controllers.Improved performance for Animator Tool.Optimized memory usage and runtime performance when serializing objects with backward compatibility (type-tree) enabled.Optimized texture importing performance.Static batching performance is improved in many cases.Updated occlusion culling (Umbra) contains improvements for mobile Umbra culling performance, and improves occlusion culling robustness in some cases.PhysicsAdaptive force is now optional (disabled by default).Changed default cloth coefficient values, and added info boxes to cloth editorCloth constraint editing UI has been replaced by a more intuitive UI inside the Scene View.C exposed sleep force parameter to tune minimum force after which cloth will start sleeping.C exposed tethers flag to improve cloth simulation quality.Cloth inspector is now much faster and capable of dealing with meshes of any vertex countExposed 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.Make scaling mesh colliders cheaper, by not creating a new mesh with scaling applied to it with every scale change.Redesigned WheelCollider gizmo to show more relevant information.Removed internal lock in PhysXRaycast, particles should now be able to process raycasts in multithreaded mode.Show inconsistent hinge joint constraints in inspectorUpdated default values for WheelCollider as the old ones did not make any sense with new PhysX.PlayersAdd -show-screen-selector command line option for Linux and Windows.Cursor management cleanup Screen.lockCursor has become Cursor.lockStateScreen.showCursor has become Cursor.visibleAdded ConfineCursor state to confine cursor to game window (Linux/Windows)Cursor lock state and cursor visibility state are now mutually independent.PluginsUnity will now verify that plugins don’t collide with each other 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.(Windows Store Apps/Windows Phone): when picking placeholder plugins only plugins with matching file names as the original plugin will be shownProfilerAdded total and per frame GC allocated bytes to the Memory chart.Image Effects have profiling blocks with the script name in them, instead of a generic &ImageEffect&.Improved accuracy of reported AudioSources in the scene when working with AudioSources in prefabs.Search field for filtering the results in the treeview.Stop collecting GPU data when GPU Profiler chart is closed. Defaults to being closed for performance reasons.Stop collecting profiler's data on Player's side if recording is disabled.Scripting64-bit platforms will now accept managed DLLs compiled specifically for x64.Added defines for UNITY_EDITOR_64/32, UNITY_5.Added disposable scope helpers for Begin/End pairs for GUI, GUILayout, EditorGUI and EditorGUILayout.Added formatting overloads to Debug.Log*.Added generic overloads for AssetBundle.Load*.All GetComponent paths got much faster, especially GetComponent.GetComponent family of functions now supports interfaces as generic argument.Improve error messages reported by IL2CPP by including managed source code information when it is available.Math: Added SphericalHarmonicsL2 scripting struct.Support serialization of all primitive types.ShadersAdded [NoTilingOffset] hides tiling & offset fields in texture property UI.Added [Gamma] allows Float and Vector properties to be flagged for automatic gamma correction. Tagged Float and Vector properties will function the same way as Color properties do - gamma correction will be applied, if necessary, before sending values to the GPU.Added atmospheric thickness and sky tint controls to Skybox (procedural) also visual appearance in gamma space matches that of linear now.Added exposure slider to
&Skybox/Cubemap& and &Skybox/6 Planes& shaders.Added MaterialPropertyDecorators. Similar to MaterialPropertyDrawers, but you can add many of them on a shader property. Added built-in decorators: [Space], [Header(text)].Added rotation and exposure controls to Skybox (6-sided) and Skybox (cubemap) shaders.Added SHADER_TARGET define that's based on &#pragma target& version. E.g. it will be 30 for SM3.0.Added UNITY_NO_LINEAR_COLORSPACE defined on platforms that never have Linear color space.Better comments in generated surface shader code. Better error messages when surface shader lighting functions aren't consistent.Better handling of texture*Lod for OpenGL ES 2.0. On devices that don't support it, the generated shader code will automatically do a biased mip lookup approximation.Built-in Fog works on all platforms now (includes WP8/WinRT/consoles).Cleaned up shadow macros for shaders (UNITY_DECLARE_SHADOWMAP, UNITY_SAMPLE_SHADOW). On platforms that always have &native shadow maps& (e.g. DX11), there's no need for SHADOWS_NATIVE keyword to be present for these macros to do the right thing. On platforms that don't have native shadow maps (e.g. some GLES2.0 devices, Xbox360), these macros will do comparison of texture & depth manually.Existing user surface shaders with custom lighting functions work with Non-Directional (baked and realtime) and Directional (baked) lightmap types. These lighting functions need to be updated to use the UnityGI structure to take advantage of all the new lightmap types and reflection probes.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.Improved importing performance, in-editor loading performance and reduced imported file sizes for shaders with really large variant counts.Information about texture format decoding (LDR, dLDR, RGBM, Normals) is passed in %TextureName%_HDR shader constant.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.Massively improved shader loading performance, and reduced memory consumption. By default, internal shader variants are only loaded when actually needed (typically a lot of shader variants are never actually needed).Added ShaderVariantCollection asset type for ability to manually preload/warmup shader variants, to avoid hiccups later on. This is like Shader.WarmupAllShaders, done in a better way.Editor can track shaders & their variants used in scene or play mode, and create ShaderVariantCollection out of them (button in Graphics Settings).Graphics Settings have a list of ShaderVariantCollection assets to preload at game startup. Can also warmup them from a script. Optimized shader compilation performance for OpenGL/ES platformsOptimized shader importing performance, particularly for surface shaders with many multi_compile/shader_feature variants.Shaders no longer apply a 2x multiply of light intensity. Instead lights are automatically upgraded to be twice as bright. This creates more consistency and simplicity in light rigs. For example a directional light shining on a white diffuse surface will get the exact color of the light. The upgrade does not affect animation, thus if you have an animated light intensity value you must change your animation curves or script code and make them 2x as large to get the same look.You might have to adjust your shaders to remove a 2x multiply. This is only the case if you define your own lighting function, in the case of surface shaders this is usually not the case. So most content will not require the change. In most cases the shader code looks like this: c.rgb = s.Albedo * _LightColor0.rgb * (diff * atten * 2); --& c.rgb = s.Albedo * _LightColor0.rgb * (diff * atten);Skybox shaders (including &Skybox/Procedural&) get direction and color of the main light passed in the shader constants.Surface shaders allow more texture interpolators, when targeting shader model 4.0+ (up to 32).Surface shaders can use the UnityGI structure in their lighting functions. UnityGI contains light from all lightmap types, light probes and reflection probes. The built-in Lambert and BlinnPhong were updated to use it as well.Surface shaders use up slightly less samplers on DX11-like platforms. Added UNITY_SAMPLE_TEX2D_SAMPLER helper macro to read a texture, while using sampler from another one.Surface shaders using UnityGI and alpha transparency default to alpha premultiply mode (alpha:premul). Otherwise the default is alpha:blend.SubstanceConsolidation of Substance binary data prior to runtime use now has a much lower peak memory footprint.TerrainAdded API GetTreeInstance()/SetTreeInstance()/treeInstanceCount on TerrainData class for fast tree updating.Added &Keep existing trees& option when mass-placing trees.Improved rendering performance when tree imposters are requested to be rendered.New terrain materials. You now have 4 options to choose from: Built-in Standard. PBR ma}

我要回帖

更多关于 unity path 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信