What's new in Unity 4.1.2:
March 26th, 2013Features:
· Web Player: Secret information can now be injected into a running web player via Javascript, with access to that information controlled by cryptographic signatures. Security.GetChainOfTrustValue can be used to retrieve this secret information, provided that the Security object is called from an assembly whose cryptographic signature is valid and matches the signature passed in when the secret is injected. For further information, see the Manual.
Improvements:
· Android: Stylus support .
· UI: Windows can now be displayed modally using the GUI.ModalWindow call. Modal windows appear on top of all other Unity GUI elements and prevent interaction with all Unity GUI elements not within the modal window while open. Only one modal window can be open during a frame.
Fixes:
· Android: Fixed touch and stylus input on devices having a single surface emitting both at the same time.
· Android: Fixed performance regression with static batching.
· Android: Added a workaround for android issue 41755 - ANR when using apple magic mouse.
· Android: Fixed an issue where "Stream from disc" audio was really slow when used with the "Split Application Binary" option.
· Android: Fixed an issue where "Stream from disc" audio was broken when used with the "Split Application Binary" option.
· DX11: Fixed GPU profiler not working (regression in 4.1).
· Fix Crash in libmono.so due to GC_abort.
· Fix ArgumentException: Invalid platform target" when trying to switch platform.
· Graphics: Fixed Graphics.activeColorBuffer, activeDepthBuffer etc. crash when there's no active render target (regression in 4.1).
· GUI: Modal GUI windows are now always on top of all other Unity GUIs, regardless of GUI.depth value.
· GUI: When right-clicking on a window, context-menu events are once again being fired properly.
· Native Client: Fixed "Development Player" label showing on non-development players.
· Shuriken: Fixed an issue where particle rotations were broken.
· Social API: Fixed problem loading leaderboard scores in Mac OS X 10.8 GameCenter.
· UnityEngine.dll and UnityEditor.dll are no longer signed/strong-named. Compiled assemblies can once again reference the UnityEditor and UnityEngine namespaces.
· Web Player: Chain of Trust system now requires signed assemblies to be loaded with new Security.LoadAndVerifyAssembly method in order to be eligible to call Security.GetChainOfTrustValue. Values stored in the Chain of Trust are still only accessible to assemblies signed with the specified public key.
· Webplayer: Fixes a bug where using the WWW class in the web player would cause 50ms hiccups for each instance.
· Webplayer: Application.ExternalEval and Application.ExternalCall will now properly escape Javascript strings with embedded escape sequences.
What's new in Unity 4.1.0:
March 14th, 2013Features:
· Profiler: Memory profiler makes it posible to view a snapshot of currently loaded game objects and assets, and shows the reason why an object is in memory. Memory usage of a player can also be viewed by connecting to the player from the editor.
· Simple vs. Complex view type dropdown button in the memory area.
· Substance: Procedural textures are now supported at runtime on iOS and Android (ARM v7a only with NEON extension only).
· Mecanim: 2D Blend Nodes for Blend Trees. 2D Blend Nodes are like regular blend nodes except you can blend based on two float parameters instead of one. Supported 2D blend types are Simple Directional, Freeform Directional, and Freeform Cartesian.
· Graphics: Custom Material Editors! A shader can have CustomEditor keyword which points to an editor class that derives from MaterialEditor. This is useful for setting per material shader keywords from the UI.
· Graphics: Per-material shader keywords. You can now set shader keyworkds on a per material basis. This allows for less work maintaining shaders and turning on and off parts of a shader with keywords.
· iOS: full multi-screen support (AirPlay). Look for added Display class for an array of connected displays (only iOS is properly implemented now - all other platforms will have only one display in there).
· Mac OS X Standalone: added GameCenter support.
· Graphics: Rendering with shader replacement now supports lighting. If you render a camera with a replacement shader, the camera will pick the shader that corresponds to the current camera rendering path (forward / deferred / vertex lit).
· Graphics: Camera.SetTargetBuffers added, allowing you to set buffers to draw to from RenderTexture or from screen; or to share depth buffer between different cameras.
· Added Transform.hasChanged flag that can be used to check if the transform's position/rotation/scale has been altered since the last time hasChanged was set to 'false'.
· Audio: Added scripting API support for sample-precision stitching of audio clips and synchronized DSP effects (AudioSettings.dspTime, AudioSource.PlayScheduled, AudioSource.SetScheduledStartTime, AudioSource.SetScheduledEndTime)
· Editor: Console can now be filtered by Errors, Warnings, and Logs.
· Shadows: Hardware shadow map filtering on capable mobile platforms (EXT_shadow_samplers; most recent iOS devices, very few Android devices yet). Makes shadow edges look a bit nicer, at some performance cost (used only when Light has shadows set to "Soft").
· Mecanim: API for recording.
· Mecanim: Can now change AnimatorController at runtime.
Improvements:
· Android: Added caching of shader binaries for faster load time, if available in the GLES driver (GL_OES_get_program_binary extension).
· Android: Propagation of native crashes (callstack etc.) to the Google Play Error Reporter. This include native plugins and script callstacks.
· Android: Added multiple render target support on NVIDIA (GL_NV_draw_buffers and GL_NV_fbo_color_attachments).
· Audio: Added AudioSource.ignoreListenerPause to enable playback of sounds in menus and editor extensions while AudioListener.pause=true
· Audio: It is now possible to query play position and Microphone read position from a different thread than the main thread. This can be used to lower the latency of processing microphone input, by adaptively regulating playback speed.
· Editor: Scene view can be set to render with shader replacement, SceneView.SetSceneViewShaderReplace.
· Editor: CustomEditors can now optionally apply for subclasses of the class they're editing. Use [CustomEditor(typeof(MyClass), true)] to also make a custom editor work for MyClass' children
· Editor: Confirmation for losing prefab connection now only comes up once when dragging multiple child objects out of a prefab.
· Editor: Display Unity version in Project Wizard dialog title.
· Editor: Files with the FNT extension will now be imported as TextAssets (before they were of unknown type).
· Editor: It's now possible to move MonoBehaviours from one game object to another via drag & drop.
· Graphics: Added depth parameter to GL.Clear, for cases when you want to clear depth buffer to non-1.0 value.
· Graphics: Added SystemInfo.maxTextureSize.
· Graphics: ARGBHalf, RGHalf, RHalf, R8 render texture formats supported on modern OpenGL & OpenGL ES 2.0 devices.
· Graphics: Improved handling of non-power-of-two texture sizes.
· On most platforms, a NPOT-sized texture without mipmaps and with Clamp wrapping mode will be actually represented as NPOT size texture on the GPU. This lowers memory usage and greatly improves
![](http://images.intellitxt.com/ast/adTypes/lb_icon1.png)
· NPOT-sized uncompressed textures with mipmaps are faster as well, if the GPU supports arbitrary texture sizes (most modern PC GPUs do).
· Added SystemInfo.npotSupport.
· Input: You can now control which layers get OnMouse* events via Camera.eventMask. Setting it to zero turns off the mouse events, improving performance.
· Installers: New icons and other artwork for OS X installers.
· iOS: "iPhoneBundleIdentifier not set up" demoted to warning.
· iOS: Device physical architecture is reported more accurately, though in lowercase (like 'armv7s').
· iOS: Info.plist now will be appended instead of overwriting it.
· iOS: Minor PhysX performance improvements
![](http://images.intellitxt.com/ast/adTypes/lb_icon1.png)
· iOS: Total amount of physical memory is reported more accurately.
· Linux: Associate project icon with player window.
· Linux: Implement nographics batch mode.
· Linux: Statically link libstdc++ for greater compatibility with older installations.
· Mecanim: AssetBundles work with Mecanim.
· Mecanim: Ability to drag States and StateMachines into sub StateMachines.
· Mecanim: Mirror and Cycle offset available on States and BlendTree leafs (no need to duplicate animation for mirroring anymore).
· Mecanim: Allow multi-editing of Animator components.
· Mecanim: Context menu to delete States and StateMachines.
· Mecanim: Copy Paste of State/StateMachine also copies missing parameters.
· Mecanim: Transitions are only reorderable in the context of a State.
· Profiler: It is now possible to connect to a player by manually typing the IP of the device where the player is running - in case of multiple players on the same IP, it will connect to the player listening on the lowest port (which is randomly assigned).
· Resources.UnloadUnusedAssets() has been rewritten. It is around 4x faster than in Unity 4.0 and works much better in a game that streams levels in and out. The unloading is now using precise garbage collection (previously it was based on Mono's built-in GC, which is conservative). Fixes strange corner cases with the old system, where in the worst case it could reload prefabs from disk during unloading.
· Shaders: Added SubShader tag "ForceNoShadowCasting". When this tag is present, no shadows will be cast from this object, even if shader has a shadow caster pass somewhere.
· Shaders: Sampler precision support for mobile, you can use sampler2D_half, sampler2D_float, samplerCUBE_half, samplerCUBE_float types which will translate into mediump & highp samplers for GLES2.0.
· Shaders: Shaders will now use the shadow caster pass of the selected subshader if a shadow pass exists. If no shadow pass exists it will fallback to the default shadow pass.
· Substance: decrease the memory overhead of Substance instances created at runtime.
· Substance: If present, the more user friendly input "labels" are displayed in the Inspector instead of the input "names".
· Substance: Input groups and HSL adjustments are now presented as foldouts in the Inspector.
· Substance: Less code is embedded in the various Unity players.
· Substance: lower memory consumption when dealing with multi-graph Substances.
· Substance: New "Use caching" load behavior for Substances (textures are written to disk/flash after being generated and are reloaded from there at subsequent app/game launches).
· Substance: On mobile platforms "Compressed" Substance textures are now compressed at runtime to DXT or PVRTC if supported by the GPU.
· Substance: Procedural textures can now be read in the runtime API (ProceduralTexture.GetPixels32). Substances must be set to RAW and have the isReadable property set for GetPixels32 to work.
· Substance: Updated Substance engines for all platforms (faster rendering, better threading, lower memory consumption).
· Substance: XML presets can now be read from / applied to substances in the runtime API.
Changes:
· Audio: AudioSource.Play(offset) is now considered deprecated. It will still work as before, but will output a warning. Instead, users are encouraged to use AudioSource.PlayDelayed(delay) which takes a delay parameter in seconds instead of a sample count in the arbitrarily chosen 44100 reference rate that was used previously.
· DestroyImmediate is no longer allowed to be called from within animation events.
· Editor: Removed buttons in Console window for Open Editor Log and Open Player Log (on OS X) and put them into the custom menu for the Console instead (accessed through the upper right corner of the window).
· iOS: Changed how VRAM amount is estimated and reported, now it is 1/4 of total physical memory.
· iOS: Keyboard handling extracted to trampoline.
· Mecanim: Avatar body and skeleton mask has been merged into AvatarMask to simplify the workflow. Any created object of type AvatarBodyMask or AvatarSkeletonMask should be converted to AvatarMask. Any AvatarSkeletonMask set into a layer mask would be lost, you need to manually re assign the mask.
· Mecanim: CycleOffset is set automatically to 0.5 for clips that are being mirrored in States/BlendTrees.
· Mecanim: In model importer animation tab for humanoid clip, the option Keep Additionnal bone has been removed since you can now choose wanted transform in the Avatar mask.
· Static batching no longer supports generating triangle strips.
· UnityEngine.dll and mscorlib.dll are no longer accepted as assets.
Fixes:
· Android/iOS: Updated PrefetchSocketPolicy() to return true instead of throwing an exception.
· Android: Added local ref cleanup code to AndroidJNI to support more user based local refs per frame.
· Android: Added manifest flags to avoid multiple instances of the same application.
· Android: Added the ability to pass null arguments through the JNI bridge.
· Android: Added workaround for "Could not reserve enough space for object heap" error.
· Android: Added workaround for Tegra shader compiler bug when texture samplers are not reported.
· Android: Fixed "Unity Remote" accelerometer input.
· Android: Fixed a crash when returning to main Activity after downloading an OBB, when using development player.
· Android: Fixed an issue where async updates of the TouchScreenKeyboard.text property would void any input from the keyboard.
· Android: Fixed an issue where huge switch case statements could crash/yield the wrong result.
· Android: Fixed an issue where the application would consume a significant amount of cpu even though the application was paused.
· Android: Fixed an issue where the wrong activity might get launched by the editor.
· Android: Fixed an issue where webcam textures would take over the entire screen on JB devices.
· Android: Fixed an issue with missing features/permissions in the AndroidManifest.
· Android: Fixed cpu detection, some devices reported more cores than was actually present.
· Android: Fixed error message when current build is aborted by the user.
· Android: Fixed issue on Adreno with skinning on gles11.
· Android: Fixed loading data on devices where /data/app is symlink'd.
· Android: Fixed problem with status bar being hidden even though 'Status Bar Hidden' was unchecked.
· Android: Fixed Touch.fingerId discrepancy before and after an application has been paused/resumed.
· Android: Fullscreen video now respects lights-out mode.
· Android: Made sure correct screen resolution is set before Awake is called on scripts.
· Android: Touches outside TouchScreenKeyboard no longer result in a cancelation event.
· Android: TouchScreenKeyboard.text is now set to initial value on cancel.
· Audio: Fixed deadlock in IT playback code.
· Audio: Replacing the AudioClip on an AudioSource no longer affects playback speed if the clips have different sampling rates.
· Audio: Sounds started by PlayOneShot are no longer stopped by Play.
· Documentation: Fixed documentation of MonoBehavior stating Awake() is not called for disabled behaviours.
· DX11: Fixed render-to-cubemap (including point light shadows) on DX10.0 level GPUs.
· Editor: Project Browser.
· Fixed so valid drag and drops in second column removes the drag label (OSX issue only).
· Center preview when framing. This also makes it a better experience when changing preview size, since the selected item does not jump vertically.
· Editor: Asset name are no longer allowed to be empty.
· Editor: Ensure selection is framed in Object Picker when showing.
· Editor: Fix a regression when GUI could be rendered in the wrong spot in deferred mode.
· Editor: Fix file names for web players, if they project name contains a period ('.') character.
· Editor: Fix that Object Picker showed script assets for MonoBehavior references.
· Editor: Fixed all known issues with the results of "Generate Lightmap UVs" being different on Windows vs. Mac.
· Editor: Fixed crash when loading fonts from asset bundles in editor.
· Editor: Fixed scene view "Rendering Paths" visualization mode (got broken in 4.0).
· Editor: Fixed text mode serialization of ProjectSettings
· Editor: Fixed using asset folders with only 16-bit Unicode characters in their file names on Mac OS X.
· Editor: Hitting Enter on an empty "open project" window will no longer crash the editor.
· Editor: Immediate mode GUI windows closed during the Layout event will no longer crash the editor on Windows.
· Editor: Import package window will now open to the last directory instead of the projects root.
· Editor: Scripts will now receive an Update after they get recompiled and re-enabled.
· Editor: Scripts will now receive Update events as the Game window is being resized.
· Editor: The build player window will now default back to the active build target.
· Fix crash when using an invalid Mesh on a SkinnedMeshRenderer
· Fix mesh compression of skinned mesh bone weights.
· Fixed "Out of memory" error when importing empty movie file.
· Fixed bug in the Cache Server where it runs out of memory when uploading a lot of files to it and the disk speed is very slow.
· Fixed crash during asset creation for scenes that do UnloadUnusedAssets() from within editor scripts.
· Fixed crash when calling Mesh.GetTriangleStrip() on an empty submesh.
· Fixed division-by-zero in keyframe reduction for empty clips.
· Fixed division-by-zero in Quaternion.RotateTowards() when angle between quaternions is zero.
· Fixed outputs from previous asset import not being cleared upon failed import.
· Fixed TextureImporter Inspector to save settings correctly when disabling the platform overrides.
· Graphics: Fix issue when calling Camera.Render () from an image effect. Validation now takes place to ensure that the camera you are calling Render on is not the currently rendering camera.
· Graphics: Fixed error messages with a skewed camera matrix (also coming to 4.0.1 soon).
· Graphics: Fixed multiple point light shadows not quite working in forward rendering.
· Graphics: Fixed rare crash with richly formatted text rendering.
· Graphics: Fixed shadow casting of Line & Trail Renderers.
· Graphics: Respect Hard Shadows Only quality setting in Deferred rendering.
· iOS: Fix WWW class to handle all 2xx HTTP status codes as successful.
· iOS: Fixed an issue with native plugin inclusion when file name contains '~' symbol.
· iOS: Fixed Camera.SetTargetBuffers issue on dx (it was considered to be rendering on screen always).
· iOS: Fixed log output to device console when Xcode is not attached and device is running iOS 6.0 or later.
· iOS: Fixed rare crash when acceleration events were delivered simultaneously from concurrent threads.
· iOS: Fixed view stretching after device unlocking.
· iOS: Main display rendering resolution can be changed correctly through both new and old API (fix for known issue).
· License: Fixed issue with license expired errors on trials which were not yet expired.
· Mac OS X Standalone: Fixed fullscreen mode bugs on OS X 10.6
· Mecanim: Fix root motion when you have a CharacterController disabled, now the Animator should correctly apply the root motion to your GO when the CharacterController is disabled.
· Mecanim: Fixed @ conventions for Humanoid animations.
· Mecanim: Fixed character orientation not being correct on some assets.
· Mecanim: Fixed crash when BlendTree child node as a 0 speed.
· Mecanim: Fixed crash when deleting certain Sub StateMachine.
· Mecanim: Fixed crash when editing a playing animation in DCC while game is playing.
· Mecanim: Fixed deletion of multiple Transitions.
· Mecanim: Fixed DeltaPosition/Rotation with generic animation.
· Mecanim: Fixed Generic animation loosing root motion on additionnal masked layer.
· Mecanim: Fixed mouth of character opening during Mirror.
· Mecanim: Fixed revert button not working in Avatar setup tool.
· Mecanim: Fixed spinning wrist on some retargeted animation.
· Mecanim: Fixed State timing being wrong when editing Animation Start/Stop time.
· Mecanim: Fixed undo of Parameter deletion.
· Mecanim: Fixed warning when using ApplyRootMotion with Kinematic RigidBodies.
· Mecanim: Generic Avatars do not show Configure button.
· NavMesh: Fixed issue where agents isPathStale flag was not set correctly when changing walkableMask or navmesh layer cost.
· NavMesh: Fixed issue where OffMeshLinks would sometimes wrongly generate two-way instead of one-way links.
· NavMesh: Fixed issue where setting an invalid path on agent would return true.
· Physics: Fix CharacterController.bounds.
· Shaders: Fixed various issues in HLSL->GLSL shader translator; most notably nested loops now work properly.
· Shuriken: Fixed a memory leak (also coming to 4.0.1 soon).
· Shuriken: Fixed angular velocity setting range being clamped to 0..1.
· Shuriken: Fixed crash on a particle system without a particle renderer.
· Shuriken: Fixed wrong Shape in presence of parenting with scale (also coming to 4.0.1 soon).
· Substance: Baking substances textures on X360 is fixed.
· Substance: Fixed "Export Bitmaps".
· Substance: isLoadTimeGenerated can be set again.
· Substance: When baking compressed textures for iOS, only square PVRTC textures are baked.
· Substance: when updating projects from older versions, substances should now have all their parameters displayed in the inspector.
· Terrain: Fixed too dark unlit side in tree creator billboard shaders.
· Time.deltaTime is now correctly set to 0 when starting up with Time.timeScale=0.
· Web Player: Fix using WWW class in use cases where yield is never called on the WWW instance.
· Web Player: Web player channels can now be used to downgrade a channel if a newer version then intended had been downloaded
· Webplayer: Maximum bound socket count is now 50, addresses security issue.
· Windows: Fix crash when hitting "Quit" in standalone player configuration dialog.
· Windows: Fixed rare crash of standalone players when exiting back to desktop.
· Xbox360: Fixed crash when calling Application.Quit in scenes containing XMA encoded AudioClips.
What's new in Unity 4.0.1:
January 11th, 2013Changes:
· Android: Added a warning in the editor whenever a build is made with an outdated certificate.
· Android: Added android as a valid build target for custom PostprocessBuildPlayer script.
· Android: Added JB MR1 to the list of API levels.
· EULA: Changed Embedded Software and Streaming and Cloud Gaming restrictions
Fixes:
· Android: Improved build times for projects with lots of resources.
· Android: Fixed Resources.Load() of prefabs consuming too much memory.
· Android: Prevent NullPointerExceptions when using LVL on a device that is not signed in to Google Play.
· Android: Detect manifest permissions for Application.genuine / .genuineCheckAvailable.
· Android: Stereo sound enforced to avoid garbled audio when Mono is selected as speaker mode.
· Android: TouchScreenKeyboard.text is now set to initial value on cancel.
· Android: Touches outside TouchScreenKeyboard no longer result in a cancelation event.
· Android: Fixed an issue where async updates of the TouchScreenKeyboard.text property would void any input from the keyboard.
· Android: Fixed an issue with missing features/permissions in the AndroidManifest.
· Android: Added workaround for Tegra shader compiler bug when texture samplers are not reported.
· Android: Fixed issue on Adreno with skinning on gles11.
· Android: Made sure correct screen resolution is set before Awake is called on scripts.
· Android: Fixed error message when current build is aborted by the user.
· Android: Fixed an issue where dictionary pop-ups would close the TouchScreenKeyboard.
· Android: Application pause now cancels the TouchScreenKeyboard.
· Android: Fixed Build&Run with Split Application Binary enabled, when running on a device with JB MR1 (OS 4.2) or later.
· Android: Fixed a problem with non-ascii characters and keyboard input.
· Documentation: Fixed iOS specific API docs, now they are back.
· Editor: Fixed leak in the editor when loading a scene
· Editor: Fixed rare crash when updating from 3.5 project
· Editor: Fixed missing references to animation when updating from 3.5 project
· Graphics: Fixed !IsNormalized error message when rendering a Camera with a skewed transform.
· Graphics: Fixed reporting of TextureFormat.RGBA4444.
· iOS: fix WWW class crash when loading files via file:// on iOS 4.x devices
· iOS: Fixed reporting of GPS location data.
· iOS: Better performance when setting RenderTexture that has different size from the current one.
· iOS: Fixed gyro accuracy issue.
· Lightmapping: Fixed lightmapping in some cases being much slower than 3.5.x.
· Mac OS X and Linux Standalone: Fix free version splash screen rendering correctly in full screen mode.
· Mac OS X Standalone: Fix window resolution not correctly restoring after going in and out of full screen mode.
· Mac OS X Web Player: Fix Input.inputString when a text field is focused (this caused problems with NGUI).
· Mecanim: Fixed a crash when you preview an animation on an avatar and the file containing this avatar is updated in an External tools.
· Mecanim: Fix problem with deltaPosition and deltaRotation not being updated for Generic Rigs.
· Mecanim: Fix crash when previewing transitions with a BlendTree that as a 0 speed child.
· Mecanim: Fix getting NaN root transform in MatchTarget on IOS devices.
· Shuriken: Fixed emitter shape being wrong shape when parented to another game object with scale.
· Substance: fixed bitmap export.
· Web Player: Fixed crash with 3.x content containing font data with invalid TrueType font names.
· Web Player: Fixed fullscreen mode initialization in IE10 on Windows 8. Web Player now tries to detect whether it is running in a sandbox.
· Windows Web Player: Fix the Web Player ticking code, so that it works smoother, fixing a performance regression from 3.5.5.
· Fixed mesh assets created with 3.5.0 crashing newer versions of Unity when mixing compressed and non-compressed meshes.
· Fixed a crash in which garbage collection of assets could cause broken references to those assets in script code.
What's new in Unity 4.0.0:
November 14th, 2012Highlights:
· Mecanim, the new animation system to animate any character or object
· Real-time shadows for all platforms
· DirectX 11 rendering
· Shuriken particle system updated with world collision functionality
· Adobe Flash and Linux as two new platforms
· Cross-platform dynamic fonts
Other Features:
· Added a new development console to show error messages on screen in development player builds.
· Android: Added Eclipse project generation.
· Android: Support for APK Expansion Files (OBBs) - effectively enabling applications larger than 50Mb in the Google Play Store.
· iOS: Screen.SetResolution now works on iOS too.
· iOS: Target Resolution Player Setting was redesigned to better suite development workflow on multiple iOS devices. Two new “Auto (Best performance)” and “Auto (Best Quality)” settings allow Unity Runtime to choose most optimal rendering resolution according to device GPU capabilities.
· Debugger: Web players can now be attached to and debugged just like standalones.
· Editor: Add components and scripts to Game Objects easier and faster through the new Add Component drop-down directly inside the Inspector.
· Editor: Create your own Inspector GUI for custom classes or attributes and see it used across all scripts that use those classes or attributes.
· Fonts: Custom fonts can now use arbitrary character rectangles instead of a fixed grid.
· Fonts: Font character placement properties are now accessible from scripting.
· Fonts: Imported fonts can now be converted to editable custom fonts from the gear menu.
· Gradient (known from the Shuriken editor) is now exposed to scripts: Gradient, GradientColorKey, GradientAlphaKey.
· Navigation: NavMeshAgent supports prioritized levels of avoidance.
· Navigation: NavMeshObstacle component added.
· New Cursor API was introduced
· License: New activation system was developed
· New Web Player Update mechanism, which allows multiple runtime versions to be installed at the same time
· Flash: Assembly validation for Flash supported/unsupported API's. If .NET feature or API is not available the validator will notify the user in the log, before compiling.
· Plugins: Added Texture.GetNativeTexturePtr() that you can use in native code plugins. Can now directly access textures on non-OpenGL platforms as well! Example plugin in Low-level Native Plugin Interface documentation page shows how to.
Optimizations:
· Editor: Optimize Console window memory usage with high log entry counts.
· Editor: Optimized Hierarchy View for very large number of root objects.
· Editor: Optimized DXT compression of textures; better uses all CPU cores now.
· Editor: Detecting if assets need to be reimported when switching platforms is much much faster.
· Editor: Made entering playmode faster by reducing the number of domain reloads.
· Flash: Made performance improvements when calling functions taking or returning an array of structs.
· Flash: Made dramatic memory usage reduction.
· Flash: Optimizations were done by recycling actionscript objects for value types such as Vector3, and by being smarter about when to not have to copy them.
· Mac OS X: Dynamic geometry optimization via ARB_map_buffer_range & APPLE_flush_buffer_range.
· Meshes: Mesh.MarkDynamic; use this for meshes which you modify from scripts a lot.
· Mobile: added RenderTexture.DiscardContents - discards previous RT contents via EXT_discard_framebuffer or explicit clear.
· Particles: Optimized legacy particle systems
![](http://images.intellitxt.com/ast/adTypes/lb_icon1.png)
· Physics: Physics simulation
![](http://images.intellitxt.com/ast/adTypes/lb_icon1.png)
· Rendering: Point & spot lights in forward rendering use scissor rectangle optimization.
· Rendering: Unity skips rendering lights that have intensity smaller than 0.01.
· Rendering: Optimized Color32 multiplications (particles, lightmapping, …).
· Skinned Meshes: Optimized performance & memory usage by keeping static data (UVs & colors) in a separate vertex stream.
· Static batching: Compress vertex data to half-precision floats on platforms that support them; and save memory by unloading batched geometry after it's sent to the graphics card.
· Static batching: Optimized static batching code.
· Threading: Optimized multithreaded job scheduler (used for skinning, Mecanim, Shuriken, shader compilation, texture compression). It “multithreads more efficiently” now.
Fixes:
· Android: Added exception checking / propagation for script-based JNI Calls (AndroidJava* / AndroidJNI*).
· Android: Loading a lot of assets through Resources.Load() could create a memory-leak-like behavior - this has been fixed.
· Android: Fixed a rare case where libmono.so / libunity.so would not load due to "unable to link library".
· Android: Cases with extremely slow loading times, when re-reading scene assets, has been fixed.
· Android: The automatic binary splitting (for APK Expansion (.obb) support) was incorrectly omitting some files when using the Windows editor.
· Android: Korean fonts were not rendered correctly on some Android devices.
· Android: PlayerPrefs values queried with the wrong type would cause Java exceptions and application termination.
· Android: Added additional registry entries to search when looking for the JDK installation on Windows.
· Android: Requested RGBX32 instead of transparent when 32bit display buffer is selected.
· Android: Workaround for mali and ics resulting in crash with shader that sample texture in vertex program.
· Android: Crash when pausing/resuming on OS 4.1 / Jellybean has been fixed.
· Android: If system environment variable JAVA_TOOLS_OPTIONS was set it could prevent the .apk to be signed.
· Android: Webcam Texture now works on LG Optimus 3D
![](http://images.intellitxt.com/ast/adTypes/lb_icon1.png)
· Android: Portrait upside down orientation caused errors when building the .apk.
· Android: EGL context recreation is fully supported (when pausing/resuming, or changing DisplayBuffer bit-depth, or anti-aliasing).
· Android: Enforce that System.Net.Sockets use is only allowed with an Android Pro license.
· Android: Added workaround for ARM Mali-400 GL ES 1.1 drivers sometimes referencing disabled vertex attrs (caused a crash).
· Android: Script debugging yields/coroutines could sometimes cause a crash - this has been fixed.
· Android: Application.streamingAssetsPath was incorrectly adding a slash before the jar delimiter (/!).
· Android: Fixed failing to build signed APKs on Windows.
· Android: Webcam resolution and frame rate selection is now more accurate.
· Android: Webcam now works on Ice Cream Sandwich and JellyBean devices.
· Android: Webcam now works on Motorola and OMAP devices.
· Android: Microphone resources are now properly released when pausing the application.
· Android: Audio should now play without any clicking noise on Kindle and Nook, although latency is still pretty bad.
· Android: It should now be possible to play and record audio at the same time.
· Android: Gyro.attitude did not compensate for screen orientation, nor device natural orientation (phone/tablet) - this has been fixed.
· Android: Restarting an application right after calling Application.Quit() could cause a race condition between quitting the old and starting the new process.
· Android: Input.multiTouchEnabled was returning false before the screen received an initial touch.
· Android: Changed some tags in the AndroidManifest to have required="false".
· Android: Fixed a problem where non-development ('release') builds would fail to load on devices with kernel 3.4 and later.
· Android: Autorotation with only either portrait or landscape modes is now enforced by the manifest as well.
· Android: Back button will quit the application while the first level has not yet been loaded.
· Android: Renamed GameView resolutions to HVGA, WVGA, ..., and added WXGA (1280x800).
· Android: Runtime class Ping now works.
· Android: Added PowerVR performance stats to the internal profiler.
· Android: Fixed a problem where multiple screen touches would lead to incorrect touch phases (especially during low framerate situations).
· Android: The detection zone for screen touches resulting in increased tap count has been made resolution independent.
· Android: Kindle Fire incorrectly reported having a camera.
· Android: Fixed startup rotation when device is held in landscapeRight.
· Android: Fixed an issue where the device might go to sleep before any script code was invoked.
· Android: Added a wake lock to fullscreen video to make sure the device doesn't go to sleep during video playback.
· Android: Fixed auto-rotation problem in landscape/reversed landscape on Kindle Fire HD.
· Android/iOS: Incorrect mouse hover events stemming from screen touches has been fixed.
· Android: Fixed an optimization error which could cause javac to crash/fail when loading UnityPlayer class.
· Android: SystemInfo.deviceUniqueIdentifier is anonymized by calculating the MD5 sum of IMEI/MEID, ANDROID_ID or WiFi MAC - whichever is available.
· Android: SystemInfo.deviceUniqueIdentifier didn't automatically add the right permissions in the manifest.
· Android: Switched to Bouncycastle for keystore certificate creation.
· Android: On pre-Gingerbread devices 16bit DisplayBuffer is no longer enforced (and fallback from 32bits to 16bits buffer is handled gracefully). Worked around compositor issue with DisplayBuffer alpha on pre-Honeycomb devices.
· Android: Made sure Ping cannot hang (times out after 5s).
· Android: Added JB (4.1) to the list of SDK APIs.
· Android: Fixed crash on Kindle when quitting without ever pausing.
· Android: Changing system time/date while application was running would cause an ANR.
· Android: Fixed camera initialization on platforms without FPS range support.
· Animation: Exposed ModelImporter.generateAnimations as a bool, to allow control of over imported animation from an asset file.
· Animation: Fixed a bug where animation wouldn't play if it's out of frustum and cullingType is switched to AlwaysAnimate in runtime.
· Audio: Fixed problems playing back audio files whose paths contain special characters.
· Audio: Fixed problems displaying audio files whose paths contain special characters in the inspector.
· Audio: Fixed reverb filter diffuse slider inconsistency.
· Audio: Fixed looping issue on tracked music files.
· Audio: Fixed length determination for tracked music files.
· Audio: Fixed m_IgnoreListenerVolume property (was not working in the expected way).
· Audio: Fixed the length property of an AudioClip to be more accurate in the case of MP3s.
· Audio/video: Gracefully handle importing corrupt OGG container assets.
· Audio: Fixed crashes when using audio clips with read callbacks.
· Audio: Various fixes related to handling of special characters.
· Audio: Fixed incorrect display of waveform preview.
· Audio: Fixed rare deadlocks.
· Audio: Hardened AudioClip SetData and GetData to when the array argument is longer than the clip itself.
· Asset Import: Default assets generated for failed imports are now persisted correctly.
· AssetStore: Fixed out of memory crash when downloading large packages.
· Bugreporter: Fixed the issue that log files would not be shown in bug reporter window, even though they existed.
· Cache Server: Fixed connection problem when downloading assets.
· Cache Server: Fixed other connection issues.
· Debugger: Fixed hangs/deadlocks when debugging multithreaded script code.
· Debugger: Fixed crash on debug-time evaluation of generic methods.
· Documentation: Fixed script reference History page to reflect reality again.
· Editor: Fixed crash when calling Close in the OnFocus callback.
· Editor: Fixed object selector not working for ObjectFields in GUI.Window.
· Editor: Fixed some vertically misaligned buttons in the dark skin.
· Editor: Fixed EditorExtensionImpl showing up in the Project view in some projects imported from 3.4.
· Editor: Will now use project name instead of the build file name as the title for published web players.
· Editor: Scenes in Build Settings no longer get reordered alphabetically.
· Editor: Undo now working if movement is cancelled by right click.
· Editor: Fixed error message when resizing arrays.
· Editor: Fixed crash when changing asset serialization to text mode.
· Editor: Fixed hang when play mode is exited while a download is in progress
![](http://images.intellitxt.com/ast/adTypes/lb_icon1.png)
· Editor: Fixed crash when selecting multiple ScriptableObjects of different types.
· Editor: Scene view uses the same rendering path as main camera. Much less confusion!
· Editor: Soft particles usage hint in Quality Settings UI.
· Editor: Screen.width and Screen.height much more consistently report actual game view size when used outside of editor window GUI code.
· Editor: Made default values for sphere & capsule colliders use 0,0,0 for the center (it previously was not precisely zero due to floating point inaccuracies).
· Editor: Made the TextMesh inspector automatically change the material of the MeshRenderer when the font is changed.
· Editor: Properly reset MovieTextures when entering play mode.
· Editor: Fixed crash if importing an AudioClip fails during project re-import.
· Editor: Fixed null ref when using "Open" button in the inspector for model files in some cases.
· Editor: Fixed errors about not being allowed to access targets array.
· Editor: Fixed profiler using deep profiling when exceptions occur.
· Editor: Fixed DnD references being empty during DragExited after a DragPerform.
· Editor: Update visible rect when horizontal scrollbar is needed because vertical scrollbar is used.
· Editor: Clamping of the scroll position to account for the visible rect of the scrollview.
· Editor: Fixed scrollview returning scroll position out of view rect size when using scrollwheel.
· Editor: Correctly handle when null string is passed to a TextField.
· Editor: Don't show Display Resolution Dialog when using CTRL-B from the editor and it's turned off.
· Editor: Fixed EditorWindow.ShowPopup with initial position of 0, 0 not rendering correctly.
· Editor: Fixed missing bold font in some inspectors (e.g. FBXImporter).
· Editor: GizmoType.NotSelected attribute for DrawGizmo works correctly.
· Editor: Component menu now handles custom namespaces.
· Editor: Light probes are selectable in search mode.
· Editor: Excess flood of Animation clips is not confusing the model importer inspector.
· Editor: EnumMaskField returns consistent value when every item is selected.
· Editor: Textfield word wrapping fixes.
· Editor: Display names of colliding enumeration values in inspector
· Editor: Fixed problem with the Asset Store window on retina display Macbook Pros.
· Editor: Fixed hang while closing if plugins had created their own native threads.
· Editor: Fixed odd drawing behavior when attempting to resize welcome screen.
· Editor: GUI.color is reset properly for every CustomEditor
· Editor: Fixed profiler causing an Out of Memory error in the console.
· Editor: Improved error reporting when exporting a Unity package.
· Editor: Fixed a bug where ARGB16 textures loaded from AssetBundles built for iOS/Android would load incorrectly.
· Editor: Editor doesn't hang anymore if exiting while in play mode.
· Editor: Made entering playmode faster by reducing the number of domain reloads.
· Editor: Fixed null reference exception when a MonoBehaviour is missing in the inspector. Instead we display helpful warnings embedded in the inspector.
· Editor: Fixed issue in fbx importer where prefab instance modifications would in some corner cases get applied to a different object on a different machine
· Editor: Fixed bug where calling LoadLevel in OnDestroy when exiting playmode could lead to a crash.
· Editor: Fixed bug where the import settings were not updated when a .meta file is changed.
· Editor: Fixed various leaks in the asset import pipeline when importing large project folders.
· Editor: Fixed prefab override recording issue where modifications would not get applied to array elements if the prefab array is empty and the size value was overridden after the property was overridden.
· Editor: Fixed warning when changing import settings on a lot of fbx files.
· Editor: Fixed crashbug when clicking on Apply prefab button in the game object inspector when the prefab would add / remove components on awake in edit mode.
· Editor: Fixed drag and drop behaviour when dragging child prefab objects.
· Editor: Improvements to Light Probe editing: don't change selection when duplicating them; render editable ones on top of baked ones.
· Editor: Wireframe and Textured Wireframe scene view modes take actual vertex & tessellation shaders into account now.
· Editor: Fixed import of .EXR files with alpha channel.
· Editor: Invoked OnFocus/OnLostFocus when switching tabs within the same DockArea.
· Editor: Disallowed hiding cursor when GameView is out of focus.
· Editor: Fixed crash caused by scene view overlays.
· Editor: Fixed box collider handles not matching box collider gizmos.
· Editor: Text fields support OS standard behavior of Command + Backspace deleting everything from the start of the current line to the cursor position.
· Editor: Cleaned up LOD group inspector (button alignment, text clipping).
· Editor: Make Unity 1.x GUI components never be shown in the Scene View.
· Editor: Changed order of calculations during model import to improve
![](http://images.intellitxt.com/ast/adTypes/lb_icon1.png)
· Editor: EditorUtility.CopySerialized now works correctly for components.
· Editor: Fixed a bug where generated OS X icons would occasionally get corrupted.
· Editor: Fixed a bug where the editor would fail to open projects if the root Assets folder has a .meta file.
· Editor: Fixed delay when bringing up shader selection menu for the first time (4.0: fixed delay when bringing it up each time).
· Editor: Fixed potential crash when editing multiple objects and resizing arrays.
· Editor: Fixed Rendering Paths scene view mode to take camera's render path into account, not only what the shaders are capable of.
· Editor: Fixed WebPlayer building code; now it does not try to recreate the outermost directory (a user might not have sufficient filesystem access rights anyway).
· Editor: Allow for cmd+c and ctrl+c to be used on a SelectableLabel.
· Editor: Do not show cut/paste context menu action for SelectableLabel
· Editor: Popup windows no longer flicker for a frame on OSX.
· Editor: Audio preview in Scene View now works correctly without any Audio Listeners in the scene.
· Editor: Fix some importer inspectors constantly repainting.
· Editor: Fix key navigation to assets store groups while showing local assets.
· Editor: Fixed windows standalone icons alpha issues.
· Flash: Replace no longer ignores parens.
· Flash: Several code conversion issues resolved.
· Flash: NavmeshPath can now be instantiated correctly.
· Flash: Fixed translation of some shaders (e.g. Refractive Glass was causing errors).
· Flash: Made AsyncOperation work.
· Flash: Fixed division by long and ulong.
· Flash: Fixed bug where assigning a struct to an object or interface would introduce two pointers to the same struct instead of two copies.
· Flash: Fixed several cornercase bugs in support for generics.
· Flash: Properly initialize fields of type DateTime in structs instantiated with default constructor.
· Flash: Fixed memory corruption crash if WWW response .Length didn't match actual length of payload.
· Flash: Support ++ and -- on arguments that are passed byref, whose result is assigned to an array.
· Flash: Fixed mouse visibility bug.
· Flash : Fixed equality comparison for ValueTypes.
· Flash : Fixed hashtable comparison.
· Flash : Fixed enum comparison
· Flash : Fixed enum to enum cast.
· Flash : Fixed keyboard input handling and TextArea input (control, delete, space, arrow keys).
· Flash : Generic collections now work with interfaces.
· Flash : Fixed crash when www.audioclip was used in a coroutine.
· Flash : SweepTestAll now works.
· Flash : UnityEngine.Flash.FlashPlayer allows retrieval of target player and swf version.
· Flash: Fixed rare condition in which we ran out of stack space, resulting in an out of range error.
· Flash: Fixed issues with anonymous delegates.
· Flash: Implemented delegate comparison.
· Flash: Implemented Double.TryParse.
· Flash: Input.inputString now works.
· Flash: No more compiler crashes on incorrect SWF dimensions.
· Flash: Key repeat works.
· Flash: Fixed NewInstance for Enum value types
· Flash: Fixed getter/setter generation for System.Array.
· Flash: Don't show Development Build watermark in non-dev builds.
· Flash: Fixed issues with anonymous delegates.
· Flash : Fix string marshalling. Now consistently UTF8.
· Flash : Fix dynamic font textures generated larger then Flash max texture size (2048*2048).
· Flash : Fix dynamic font generation trashing memory.
· Flash : Fix invalid agal generated for cube map samplers.
· Flash : Fix backbuffer being cleared because of rtt.
· Flash : Fix type inference for float division.
· Flash : Fix issue with loitering objects in finalizermaps.
· Flash : Fix issue with converted GetHashCode code being invalid when generated from a MS compiler.
· Flash : Implemented Char.ConvertFromUtf32
· Flash : Improved support for System.Convert
· Flash : Adding support for TryParse for additional data types.
· Font rendering: Fixed position of text cursor when a custom font size is used for the TextField.
· Font rendering: Fixed kerning.
· Graphics: Fixed crashes that sometimes occurred on OpenGL with mismatched GL.Begin/GL.End pairs.
· Graphics: Fixed TrailRenderer culling issue.
· Graphics: Don't break batching based on shadow distance when there aren't any shadow casting lights.
· Graphics: Properly take line width into account when adding points to LineRenderer.
· Graphics: SubShader tags (render queue etc.) take shader LOD into account properly now.
· Graphics: Free up temporary memory used by non-uniformly scaled mesh when deactivating a mesh renderer.
· Graphics: Static batching performs better when there are multiple lightmaps in the scene (before it could run into cases where it wasn't batching much).
· Graphics: Fixed memory leak in Material.CopyPropertiesFromMaterial.
· Graphics: Fixed a rare "invalid angle: inf" error message with terrain and shadows.
· Graphics: Fixed Camera pixelWidth/pixelHeight/aspect queries done from Editor code being really confusing. Before, it was using the size of last drawn editor view for the calculations. Now, for regular cameras, Game View size is used.
· Graphics: Fixed crash in Shuriken mesh particles, when source mesh has no normals or tangents.
· Graphics: Fixed errors with statically batched meshes that are later modified by a script.
· Graphics: Fixed issue with Deferred rendering and wireframe Scene View mode.
· Graphics: Fixed various issues with shaders in asset bundles. E.g. you can actually put terrain with trees into an asset bundle, and the billboard shaders will work, without having to jump through various hoops.
· Graphics: Properly include all shaders into game data files when editor is in "-nographics" mode.
· Graphics: Batched Shuriken draw calls were not accounted for in the game view stats window.
· Graphics: Don't load Occlusion Culling data in non-Pro editor licenses.
· Graphics: Fixed console error messages when a terrain tree prefab is missing.
· Graphics: Smoother framerate on Windows when using vsync.
· Graphics: Fixed Screen.resolutions reporting zero for refresh rate in some cases.
· Graphics: Fixed crash when using additive scene loading with missing lightmaps.
· Graphics: Fixed small memory leak when loading shaders with syntax errors; made shader loading a bit faster as a byproduct ;)
· Graphics: Fixed error messages in some situations when calling camera.Render from editor scripts.
· Graphics: Fixed surface shader finalcolor modifier sometimes producing wrong results.
· Graphics: Limit maximum texture size to 4096 on Retina MacBookPros due to OS X driver bugs.
· Graphics: Removed limitation that Windows Standalone game window can't reach whole desktop screen size.
· Graphics: On Linux, fixed lower resolution blit texture getting broken due to quality settings change.
· Graphics: Improved deferred lighting depth buffer sharing workaround for some OpenGL systems. Mostly, much faster now on some Linux GPUs/drivers.
· Graphics: Fixed different mesh compression setting to actually make a difference (previously it would always use "Low" compression, regardless of setting).
· Graphics: Fixed some issues with Fog on Direct3D 9; in rare cases with some complex shaders it was not working properly.
· Graphics: Fixed HDR rendering being off in the very first frame.
· Graphics: Fixed Camera.hdr returning wrong value when called before render.
· Graphics: Fixed occasional errors being reported when rendering objects with zero scale.
· IMGUI: Fix BeginHorizontal not displaying content/tooltip when using GUIStyle.none.
· Image Effects: Fixed Flash-related warning messages when importing Image Effects package.
· Image Effects: Fixed Global Fog on Windows when MSAA is used.
· Input: Fixed OnMouseDown and related callbacks being wrongly sent to cameras that render into RenderTextures.
· Input: Gamepad buttons are now correctly initialized again.
· iOS: Fixed Xcode crash when native plugin uses "+" in the name.
· iOS: Fixed iPad splash handling when starting in portrait.
· iOS: Made various orientation fixes.
· iOS: Corrected texture atlas padding.
· iOS: Fixed skinning corrupting UVs.
· iOS: Fixed crash on suspending app while playing video.
· iOS: Fixed recognition of more recent iPhone4/4S models.
· iOS: Fixed various crashes when Script Call Optimization set to "fast but no exceptions".
· iOS: Fixed text-area behavior when on-screen keyboard is hidden.
· iOS: Fixed Screen.orientation on the first frame on iOS6.
· iOS: Fixed interoperability of DisplayLink mode and iOS native UI.
· iOS: Fixed iOS splash screen image not being released after game starts.
· iOS: Fixed www.uploadProgress support.
· iOS: Fixed loading indicator position.
· iOS: Small GPU profiling (in the internal iPhone profiler) improvement.
· iOS: Fixed basic license splash screen issue with Xcode 4.5.
· iOS: Fixed support for native methods inside of inner classes.
· iOS: More fixes to initial orientation handling.
· iOS: Unity Remote support updated to work better with input compensation for screen orientation.
· iOS: Fixed Screen.dpi for iPad Mini.
· Javascript: Fixed error checking for array indices.
· Javascript: Fixed regression on 'not in' operator. Operator has been brought back.
· Javascript: Introduced 'for each' syntax for better compatibility with other javascript dialects.
· Lightmapping: Fixed "Generate Lightmap UVs" difference between Windows & Mac!
· Lightmapping: Fixed handling degenerate triangles in UV space, Beast no longer spits out "TexBakeSampleGenerator: Non-invertible matrix".
· Lightmapping: Skipping tree instances that reference a prototype without a mesh.
· Lightmapping: Improved error messages when failing to bake Light Probes; when meshes have UVs outside 0..1 range, when meshes have missing UVs.
· Lightmapping: Take texture tiling into account for materials with cutout shaders.
· Lightmapping: Fixed issues with some emissive materials.
· Lightmapping: Fix harmless error when lightmap baking an unsaved scene on Mac.
· LOD: Fix double GUI repaint error when caused by reparent renderers dialog.
· Mobile: Better RenderTexture.DiscardContents implementation.
· Mobile: Fixed wrong lighting when dynamically batching uniformly scaled meshes.
· Mac OS X Editor: Fixed window focus issues when using a multiple screen setup in OS X 10.8 Mountain Lion.
· Mac OS X: Event.clickCount behavior for double-clicks now matches windows (clickCount is always 1 for MouseUp events).
· Mac OS X: Don't freeze Unity content when the System clock is changed while running.
· Mac OS X: PlayerPrefs keys will now work if they contain an '@' character.
· Mac OS X: Fix Webcam textures with non-native resolutions correctly picking up the desired texture size.
· Mac OS X: Fixed some graphics issues on dual-GPU Mac models, e.g. editor windows occasionally becoming all white.
· Mac OS X: Fixed Crash on quit if profiling had been enabled.
· Mac OS X Standalone: Fixed problems when writing OS X icon format, leading to broken icon graphics in some cases.
· Mac OS X Standalone: Used OS X Lion style fullscreen mode, to allow other windows to show up in front of fullscreen apps, and to allow switching in and out of fullscreen mode by clicking onto the fullscreen button in the window title bar (optional).
· Mac OS X Standalone: Fix hiding of window when GameCenter is activated.
· Mac OS X Standalone: Changed event processing to allow other windows to receive keyboard events, to allow better integration with OS services such as GameCenter using plugins.
· Mac OS X Web Player: Made IME support work in all Mac browsers.
· Mac OS X Web Player: Fixed focus handling when the browser is switched to the background or the user switches to another window/tab.
· Mac OS X Web Player: Fixed memory leak.
· Mac OS X WebPlayer: Fixed OnApplicationPause being called when window goes to the background.
· Math: Fixed Plane.SameSide equation side error.
· Misc: Improve Time.smoothDeltaTime so it's not affected by pausing/unpausing.
· Native Client: Fixed download of JPG files as textures.
· Native Client:: Fixed problem where preferences might get lost when the player is closed while writing preferences to disk.
· Native Client: Fixed deadlock when loading mono DLLs.
· Native Client: Fixed Build & Run with Chrome 23.
· NavMeshAgent : Fix crash querying nextOffMeshLinkData when having no navmesh in scene.
· NavMeshAgent: Fixed bug where Resume breaks updateRotation setting.
· NavMeshAgent: Path request processing queue order fixed.
· Physics: Fixed problem where CCD would incorrectly detect collisions if the center or scale of a collider was changed.
· Networking: Fixed case where a MasterServerEvent.HostListReceived was triggered for each host in a host list.
· Networking: Fixed problem with connecting to password protected servers with NAT punchthrough.
· Player: Fixed race condition in WWW class that could cause a crash when aborting download.
· Physics: Fixed MeshCollider not working if it had been scaled to be zero sized, and then scaled up again.
· Physics: Fixed a bug where Raycasts against CapsuleColliders with a zero-length middle section would not always return correct results.
· Physics: Fixed a bug where destroyed colliders would not be properly deallocated if Time.timeScale was zero.
· Physics: Fixed colliders being properly inactive when they are on inactive child game objects of the rigidbody.
· Physics: Fixed collision between two triggers to send OnTriggerEnter events to both triggers and both rigidbodies for consistent results.
· Physics: Fixed memory leak when Time.timeScale is zero.
· Physics: Fix problem with activation order when recursively activating hierarchies, causing rag dolls not to function properly in some cases.
· Physics: Fixed a bug where rigidbody interpolation would have an effect on physics simulation results.
· Physics cloth: Fixed tangents to match initial rotation of object.
· Prefabs: Duplicating game objects with references to abstract classes behaves more reliable.
· Profiler: Fixed hang on editor or player when connection could not keep up with the data.
· Profiler: Made the profiler skip frames instead of freezing up if editor lacks behind player.
· Profiler: GC memory was not propagated correctly up the call hierarchy.
· ProfilerConnection: Fixed inifinite loop freeze if profiler sendbuffer is full on the player.
· Scene View: Fix scene editor camera becoming locked out from user control.
· Scripting: Added overloads to EditorGUI.IntSlider so it can take SerializedProperties.
· Scripting: Fixed crash when calling material.GetFloat(null).
· Scripting: Fixed crash when a component destroys itself while AddComponent is trying to create it.
· Scripting: Fixed crash calling Resources.Load before resources have been imported.
· Scripting: Fixed bug where AssetBundle.LoadFromFile would get unloaded by UnloadUnusedAssets.
· Scripting: GameObject.Find will now correctly find children of objects of the same name as other objects which don't have children of that name.
· Scripting: Fixed crash when a gameObject is being destroyed while calling SendMessage on it.
· Scripting: Fixed script serialization bug where properties could not be #if-ed out for the player.
· Serialization: For non-webplayer-targets, scenes (implicitly) referencing assets placed under the Resources folder will now always have the assets placed together with the scene (and not in the resources.assets).
· Shaders: Fog shader variables (unity_FogColor etc.) are set to produce no fog when it's off.
· Shaders: round() and trunc() HLSL functions are now supported when compiling shaders for mobile.
· Shaders: Updated HLSL-to-GLSL shader compilers; fixes some complex mobile shaders (e.g. Tree Creator ones, or Edge Detection image effect on some mobile GPUs).
· Shaders: Fixed compile errors in some cases where custom directional lightmap lighting function is used.
· Shadows: Fixed shadow caster culling when light direction is exactly parallel to one of camera's frustum planes.
· Shuriken: Fixed particle system randomness. There should be a lot less visible correlation between parameters when using random between curves and values.
· Shuriken: Can't remove disabled UI modules, gizmo scaling issue, simulation preview issues when scrubbing.
· Shuriken: Fixed sub-emitter memory leaks, occasional crash.
· Shuriken: Gracefully handle when mesh is invalid, instead of leaving the emitter in a bad state.
· Shuriken: Fixed crash if using mesh particles without UVs.
· Standard Assets: Projector uses smaller, but uncompressed textures; to avoid artifacts when looking from a distance.
· Substances now handles iOS non-square unsupported PVRTC.
· Substance: Fixed baking issues on unsupported platforms (Android, iOS, Flash).
· Substance: Lower memory consumption in the Editor when importing projects and switching color space.
· Substance: Fixed runtime re-generation of substances with bitmap inputs.
· Substance: "Generate all outputs" now displays all generated textures in the Inspector.
· Substance: Fixed cloning substances in the Inspector.
· Substance: Fixed bitmap export.
· Substance: Fixed several erroneous error messages appearing in the log.
· Terrain: Fixed error messages when painting terrain grass with negative sizes, and when adding some tree models.
· Terrain: Terrain renderer no longer causes invalid memory accesses during rendering traversal.
· Time: Fixed timescale usage when single stepping.
· UV generation is now more deterministic between platforms since it is performed prior to scaling of vertices.
· UnityObject: The default templates works nicely over https now.
· UnityObject: Running a offline build locally will not break the default templates.
· WebCamTextures: Fixed error message when querying list of available devices while WebCams are in use.
· Web Player: Application.dataPath will now work correctly if the player URLs has slash characters in the url parameters.
· WebPlayer: Fixed the plugin ticking routine. It is simpler and less error prone.
· WebPlayer: Updated the builtin resources; now there is a distinction between "Made with Unity 4 Beta" and "Unity 4 Beta" plugin.
· WebPlayer: Fixed a variety of crashes when plugin was running on IE9.
· Webplayer: Crash logs now contain stacktrace.
· Webplayer: Fixed memory overwrite on startup when running in-process on Firefox.
· WWW Class: Fixed parsing text encoding if the encoding http header contains more parameters.
· Windows: Improved StackOverflowException handling in scripts.
· Windows: Fixed issues with 64-bit player not launching when non-latin characters in path.
· Windows Editor: Messages with "Failed: The operation has completed successfully" should not be presented anymore when operations on files fail.
· Windows Editor: Fixed extracting .unitypackage files containing extended Unix file attributes.
· Windows Editor: Asset Store window now works correctly in OpenGL mode.
Changes:
· Android: New Unity3d splash screen.
· Android: The video player activity has been removed. Fullscreen video is still supported but not as a separate activity.
· Android: "Google Play OBB Downloader" is now available in the asset store. The plugin can be used on devices that does not support automatic downloading of APK Expansion Files".
· Android: "Google Play Application License Verification" is now available on the asset store and thus no longer embedded in the standard distribution.
· Android: Removed XY axis mismatch for Android input. Now out of the box it should match iOS input. Requires code refactoring!
· Editor: Requires a DX9-capable GPU now (pretty much anything since 2004).
· Editor: PreferenceItem attribute now works on private static methods.
· Editor: Added new default window layout.
· Editor: When in OpenGL ES 1.1 graphics emulation, maximum texture size increased from 1024 to 2048 now.
· Editor: Temporary meshes created by GUI texts are excluded from vertex buffer count/size statistics in game view.
· Editor: If necessary, build dialog now automatically performs a "Switch Platform" when pressing "Build" or "Build & Run" (fixes class layout build errors some have encountered).
· Editor: Positive values are enforced in Terrain Detail Wizard.
· Editor: Prevent multiple editors from opening the same project on OSX.
· Flash: Removed support for Flash Player 11.0 and Flash Player 11.1; players both had serious bugs in memory opcodes. Unity now defaults to Flash 11.2 as target player.
· Flash: Disabled GrabPass shaders; they now behave like in Unity non-Pro instead of rendering
· nothing. Flash can't support GrabPass due to Stage3D limitations.
· GameObjects: Active state is now recursive. If a GameObject is inactive, all children will inherit that state.
· GameObject.active is now deprecated to make users aware of the new behavior. GameObject.SetActive() or GameObject.activeInHieararchy should be used instead.
· Graphics: Low-level rendering API (Graphics and GL classes) do not require Pro license anymore.
· Graphics: Marked Get/SetTriangleStrip on Mesh as obsolete
· Input: Removed support for assigning an input axis of window movement (only ever worked on Mac).
· iOS: removed Unity-iPhone-simulator build target from Xcode trampoline. Now simulator specific changes are backed directly into Unity-iPhone build target. It still requires to rebuild Xcode project after switching between device and simulator SDK.
· iOS: PVRTC compressor updated.
· iOS: added iOS 6.0 OS target.
· iOS: SystemInfo.deviceModel now returns full device name, including revision number.
· iOS: Exposed AOT.MonoPInvokeCallbackAttribute custom attribute. Passing managed delegates to native functions is now possible, though limited to static methods only.
· iOS: PVRTC compressor upgraded to imgtec 3.0@2144429.
· iOS: Gyro and other sensors implementation moved to the trampoline. Provides more possibilities for customizations.
· iOS: Now iOS sensors follow screen orientation. No more complicated code for axis remapping! This can be switched off via Input.compensateSensors. Requires code refactoring!
· iOS: Removed unneeded one frame of latency (presentRenderBufer moved to the end of Repaint).
· iOS: Added iPad Mini and iPad 4gen to iPhoneGeneration.
· Prefabs can now have an active state which is copied to instances on instantiation.
· Mobile: ARMv6 is not supported anymore.
· Model Importing: Model importer no longer triangle strips but does vertex cache optimization if mesh GPU optimization is turned on. GPU optimization is turned on by default.
· Model Importing: When using the new animation import mode, Unity will no longer attempt to move the SkinnedMeshRenderer to the root bone.
· Native Client: NaCl is now it's own BuildTarget instead of a checkbox in the WebPlayer build target.
· NavMeshAgent: Avoidance priority made consistent with e.g. audio priority: Most important = 0. Least important = 99. Default = 50. Loading older scenes will reset agent avoidance priority to new default value (50).
· Scripting: Removed SceneView.RenderMode from Editor API(was not documented, but public). Use the documented DrawCameraMode instead.
· Scripting: Development player emits warnings when accessing the script API from the wrong thread (or using explicit object initializers).
· Scripting: OnEnable no longer changes the execution order of Awake. Execution order for scripts is now much more consistent. The call to OnEnable always comes immediately after Awake.
· Substance: Added "Bake and keep" and "Bake and discard" load behaviours, to allow the baking of bitmaps on supported platforms.
· UnityObject: Deprecated, and will no longer be used when building a WebPlayer.
· UnityOject2: New install script when building the WebPlayer, replaces UnityObject giving more flexibility to developers.
What's new in Unity 3.5.6:
October 4th, 2012Fixes:
· Audio: Fixed AudioClip SetData and GetData to handle when the array passed in is longer than the clip itself.
· Android: Fixed a rare case where libmono.so / libunity.so would not load due to "unable to link library".
· Android: Added exception checking / propagation for script-based JNI Calls (AndroidJava* / AndroidJNI*).
· Android: Enforce that System.Net.Sockets use is only allowed with an Android Pro license.
· Android: Loading a lot of assets through Resources.Load() could create a memory-leak-like behavior - this has been fixed.
· Android: Fixed EGL context recreation when post-effects are used.
· Android: Fixed reverse portrait mode.
· Android: Webcam resolution and frame rate selection is now more accurate.
· Android: Webcam now works on Ice Cream Sandwich and JellyBean devices.
· Android: Webcam now works on Motorola and OMAP devices.
· Android: Microphone resources are now properly released when pausing the application.
· Android: Audio should now play without any clicking noise on Kindle and Nook, although latency is still pretty bad.
· Android: It should now be possible to play and record audio at the same time.
· Android: Fixed issue where files with 'meta' in their name was not package in the apk.
· Android: Gyro.attitude did not compensate for screen orientation, nor device natural orientation (phone/tablet) - this has been fixed.
· Android: Restarting an application right after calling Application.Quit() could cause a race condition between quitting the old and starting the new process.
· Android: Input.multiTouchEnabled was returning false before the screen received an initial touch.
· Android: Changed some tags in the AndroidManifest to have required="false".
· Android: Fixed a problem where non-development ('release') builds would fail to load on devices with kernel 3.4 and later.
· Android: Autorotation with only either portrait or landscape modes is now enforced by the manifest as well.
· Android: Fixed a fullscreen video issue where the video wouldn't display due to orientation being changed.
· Android: Fixed an issue where the fullscreen video in some cases would start to play even though it was not yet visible.
· Android: Fullscreen video no longer plays while the lock-screen is in effect.
· Android: Back button will quit the application while the first level has not yet been loaded.
· Android: Added Nexus7 (1280x800) to GameView settings.
· Android: Runtime class Ping now works.
· Android: Made sure OnScreenKeyboard can be opened again after being closed due to lost focus.
· Android: Changing system time/date while application was running would cause an ANR.
· Android: Fixed camera initialization on platforms without fps range support
· Serialization: For non-webplayer-targets, scenes (implicitly) referencing assets placed under the Resources folder will now always have the assets placed together with the scene (and not in the resources.assets).
· Editor: Updated PVR Texture Tool to 3.0@2144429
· Graphics: Fixed batching issue with multiple lightmaps in the scene (now we sort by lightmap as well).
· Graphics: Fixed error "Adding renderer during rendering is not allowed" when using Trail Renderer with reflective water.
· Mobile: Texture.ReadPixels is no longer delayed, but prints error instead if called at the wrong time
· iOS: Fixed ios6 compatibility.
· iOS: Fixed various orientation issues.
· iOS: Fixed basic license splashscreen compatibility with Xcode 4.5.
· iOS: Added support for iPhone 5 tall splash screen.
· iOS: Added support for rendering @ full res on iPhone 5.
· iOS: Added iOS 6.0 target selection in PlayerSettings.
· iOS: extracted video view controller to trampoline, provided ios6 specific interface to allow orientation control on ios6 and proper handling of orientation requests coming from video controller.
· iOS: added supportedInterfaceOrientationsForWindow workaround for game center and friends, make it support all orientations.
· iOS: fixed splash orientation issues on ios6 phone-like devices.
· iOS: Unity Remote fixed to support iPhone 5 res.
· Native Client: Fixed race condition when loading mono assemblies.
· Terrain: Fixed crash when setting heightmapMaximumLOD to out-of-range values.
· Webplayer: Fixed crash when running in-process in Firefox 15.
· Windows: Fixed issue where batchmode players and webplayers could be limited only to run on cpu0
Improvements:
· Android: Added Ice Cream Sandwich MR1 (4.0.3) and JB (4.1) to the list of SDK APIs.
· Editor bugreporter: Uses upgraded backend
· iOS: 16:9 / 9:16 aspect ratios added to Game View.
· Mac OS X Editor: Installer is now signed, so it will install on OS X 10.8 Mountain Lion in the default security settings.
What's new in Unity 3.5.5:
September 19th, 2012Hotfix Web Player 3.5.5f4:
· Mac Web Player: Fix input in full screen mode.
· Mac Web Player: Fix installers to work with default security settings on Mac OS X 10.8 Mountain Lion
Hotfix 3.5.5f3:
· Editor: Fixed issues with Asset Store window on retina displays
Fixes:
· Android: Fixed black screen on Kindle when accessing Quick Settings.
· Android: Script debugging yields/coroutines could sometimes cause a crash - this has been fixed.
· Android: Fixed gl context-recreation. Now you can change AA or DisplayBuffer bitness at runtime even if post-effects are used.
· Editor: Windows now draw correctly when fullscreen on OSX 10.8 Mountain Lion
· Editor: Fixed dependency on X11 of pvr texture tool.
· Editor: Allow importing assets with leading spaces on Windows.
· Graphics: Fixed surface shaders regression in 3.5.3 that assumed custom surface output structure always has "Specular" member that is a scalar
· Graphics: Fixed VRAM amount detection on some Intel SandyBridge / IvyBridge GPUs.
· Graphics: Fixed rendering cameras in editor batch mode
· Graphics: Fixed crash in particle system when source mesh has no normal or tangents
· Graphics: Allow editor to build shaders in -nographics batch mode
· iOS: Fixed Texture2D.ReadPixels on iOS6.
· iOS: Fixed crash with suspending while video is playing.
· iOS: Fixed more splash issues.
· iOS: SystemInfo.deviceUniqueIdentifier no longer uses deprecated UIDevice.uniqueIdentifier.
· iOS: Updated iPad2 detection to handle newly released one.
· Mac Web Player: Fix focus handling when browser window loses focus.
· Mobile: fixed broken lighting when dynamically batching uniformly scaled meshes.
· MonoDevelop: Fixed cursor display on Mac Retina displays.
· Navmesh: Fix for regression in 3.5.3 - where long paths some times be discarded when stoppingDistance > 0.
· Script: Fixed crash when calling material.GetFloat(null).
· Substance: Substances with bitmap inputs were not regenerating correctly.
· Substance: Fix garbage collecting.
· Substance: Cache fixes.
Features:
· Added Mesh.colors32 for faster and less memory consuming way of setting colors for procedural meshes.
What's new in Unity 4.0 Beta 7:
August 23rd, 2012New Humanoid Animation System:
· Once imported as muscle clips, animations can be used with all humanoid characters with no additional conversions needed.
· Use the same animations on different proportion characters with no overhead or need for storing multiple versions of the clip.
· Map the bones of your model to human muscles with a single click, or fine tune the setup for full control.
· Slice up your authored or motion-captured animations directly inside Unity with the industry's best tool for the job.
· Preview the animation as your drag the ranges of a clip.
· Indicators for pose looping quality and motion looping quality lets you easily pick the range with optimal looping.
· Differences between start and end pose is smoothed out by the importer to ensure perfect looping.
· Support for non-humanoid characters will be added in next pre-order beta build.
DirectX 11 Rendering:
· On Windows Vista and later, and with DX10 or better level GPU, you can use DirectX 11 now.
· Player Settings has "Use DX11" option; when it it set the player will try using DX11.
· Editor can be switched to DX11 in Preferences. This is confusing; we'll fix it in a later build.
New features:
· Geometry shaders (require DX10 GPU) and hull/domain shaders (require DX11 GPU). #pragma geometry, hull, domain in shader files.
· Compute shaders (*.compute files, ComputeShader in scripts)
· ComputeBuffer scripting API ("structured buffers" in DX11 lingo). Can use them in compute shaders and regular shader model 5.0 shaders (Material.SetBuffer, Shader.SetGlobalBuffer).
· "random write" RenderTextures ("UAVs" in DX11 lingo). Graphics.SetRandomWriteTarget, RenderTexture.enableRandomWrite.
· Graphics.DrawProcedural & DrawProceduralIndirect.
· DX11-specific RenderTexture formats: RenderTextureFormat.R8, ARGBInt, RGInt, RInt.
· 3D RenderTextures (RenderTexture.isVolume, volumeDepth). Fill them as "random write" textures from a compute or pixel shader.
· In shaders, can optionally use CBUFFER_START(name) .. CBUFFER_END macros to markup separate constant buffers.
Linux Publishing:
· Export a standalone player for 32-bit (x86) or 64-bit (amd64) Linux.
· Select "Linux 32-bit" or "Linux 64-bit" from the Target Platform list in the Build Settings.
· When building a player for Linux on Windows, you will first need to make the binary executable before being able to run it on Linux. Do this by running 'chmod +x' on the executable or right clicking and selecting "Allow to run as application".
· Supported Platforms
· Standalone players will run on most modern Linux systems with vendor-supplied graphics drivers.
· Official support will be provided for 32 or 64-bit Ubuntu Linux, version 10.10 (Maverick Meerkat) or newer, with graphics cards using vendor-supplied drivers.
Graphics Features:
· Terrain: Normal map & custom shader support for Terrain. Added built-in shader Nature/Terrain/Bumped Specular; added "normal map" texture slot to terrain splat maps; added Material field under terrain settings.
· 3D (volume) textures support. Currently no way to import them, but you can create them from script (Texture3D) and use them in shaders (sampler3D and tex3D). Also SystemInfo.supports3DTextures.
· Shadows on mobile devices! Only directional lights, no shadow cascades, no soft shadows.
· Requires GL_OES_depth_texture extension. Most notably, Tegra-based devices do not support it.
· 3D (volume) textures support. Currently no way to import them, but you can create them from script (Texture3D) and use them in shaders (sampler3D and tex3D). Also SystemInfo.supports3DTextures.
Fonts:
· Dynamic font rendering on all platforms (including mobiles) with identical results (via FreeType).
· Simple html-style text markup support to have multiple font sizes, styles and colors in a string in UnityGUI, GUIText & TextMesh.
Cubemaps:
· New Generate Cubemap texture import option that creates a cubemap from vertical/horizontal cross or row/column of images.
· Seamless cubemap option that makes sure edges of faces match up.
· Cubemap assets reference their original textures in the editor instead of copying their pixels at assign time.
· Scripting API: Cubemap.SmoothEdges.
· Lightmapping: "Bake selected" no longer destroys lightmaps on objects that aren't selected. Instead it updates lightmaps on selected objects, as expected.
· Lightmapping: Normalmaps are taken into account when lightmapping, which allows to add detail to lightmaps and makes the transition between near and far distance in Dual Lightmaps mode less visible.
· Render Textures: added RenderTextureFormat.ARGBFloat, RGFloat, RGHalf, RFloat, RHalf formats.
· Meshes can have a non-triangle topology now. You can create meshes that are lines, points or quads from scripts. See MeshTopology enum, Mesh.GetIndices, SetIndices, GetTopology.
· Added SkinnedMeshRenderer.BakeMesh to "bake" skinned mesh result into a regular mesh.
Shuriken particle system:
· Automatic simulation culling support. Particle systems will only update when visible. When it is not possible to support this automatically, Shuriken shows why directly inside the UI.
· External forces support - use Wind Zones with particles.
· Bent normals support for sprites.
· Support for sorting and rendering with immediate children (solving sorting issues for combined systems).
Shaders:
· Added built-in matrix variables, UNITY_MATRIX_V (view matrix), UNITY_MATRIX_VP (view*projection).
· Added float4 unity_DeltaTime, contains (dt, 1/dt, smoothdt, 1/smoothdt).
Shader helper macros added:
· UNITY_DECLARE_SHADOWMAP(tex), UNITY_SAMPLE_SHADOW(tex,uv), UNITY_SAMPLE_SHADOW_PROJ(tex,uv).
· UNITY_NEAR_CLIP_VALUE, defined to 0.0 on D3D-like, -1.0 on GL-like platforms.
· UNITY_COMPILER_HLSL (d3d11, 360), UNITY_COMPILER_HLSL2GLSL (gles), UNITY_COMPILER_CG if you need to determine which shader compiler is used on a platform.
· UNITY_INITIALIZE_OUTPUT(type,name) to help with DX11 shader compiler requiring full initialization of "out" parameters.
· OpenGL ES 2.0: Supports depth textures on Android.
· Scripting API: added Texture.SetGlobalAnisotropicFilteringLimits.
New Project Browser (replaces the Project Window):
· View assets by preview icons.
· Seperate tree for folders for better overview of folder structure.
· Search for assets using droplists for type and asset labels.
· Save searches to favorites list for easy access to most used searches.
· Drag folders to favorites list for easy access to most used folders.
· Enable searching the Asset Store and previewing assets.
· You can switch Project Browser to old-style one column layout in the context menu of the window (upper right corner).
Rewrite of the GUI system:
The existing GUI system (OnGUI) had its core rewritten, optimized and cleaned up. It uses less memory and induces less garbage collection cycles. Un-scientific performance increases measured at:
· iOS, with GUILayout ~2.5x faster.
· Mac, with GUILayout ~3x faster.
· iOS, no GUILayout ~10x faster.
· Mac, no GUILayout ~20x faster.
· Uses less memory and induces less garbage collection cycles.
· Note: this is not the “New GUI” that is coming to a later Unity 4.x release. It’s existing GUI, made much faster.
Other Features:
· Added a new development console to show error messages on screen in development builds.
· Android: Added Eclipse project generation.
· Android: Support for APK Expansion Files (OBBs) - effectively enabling applications larger than 50Mb in the Google Play Store.
· iOS: Target Resolution Player Setting was redesigned to better suite development workflow on multiple iOS devices. Two new “Auto (Best performance)” and “Auto (Best Quality)” settings allow Unity Runtime to choose most optimal rendering resolution according to device GPU capabilities.
· Debugger: Webplayers can now be attached to and debugged just like standalones.
· Editor: Add components and scripts to Game Objects easier and faster through the new Add Component drop-down directly inside the Inspector.
· Editor: Create your own Inspector GUI for custom classes or attributes and see it used across all scripts that use those classes or attributes.
· Fonts: Custom fonts can now use arbitrary character rectangles instead of a fixed grid.
· Fonts: Font character placement properties are now accessible from scripting.
· Fonts: Imported fonts can now be converted to editable custom fonts from the gear menu.
· Gradient (known from the Shuriken editor) is now exposed to scripts: Gradient, GradientColorKey, GradientAlphaKey.
· Navigation: NavMeshAgent supports prioritized levels of avoidance.
· Navigation: NavMeshObstacle component added.
Upgrade guide:
· We have changed how the active state of GameObjects is handled. GameObjects active state will now affect child GameObjects, so setting a GameObject to inactive will now turn the entire sub-hierarchy inactive. This may change the behavior of your projects. GameObject.active and GameObject.SetActiveRecursively() have been deprecated. Instead, you should now use the GameObject.activeSelf and GameObject.activeInHierarchy getters and the GameObject.SetActive() method.
· Editor: We have reset the preferences from 3.x to 4.x. This affects your saved window layouts, the project wizard list, saved filters etc.
· Editor: While an asset is being imported it will not be persistent. E.g. if you postprocess a texture and query its asset path, it will return an empty string. Assets outside of the asset postprocessor can, of course, be accessed at any point.
· iOS: Target Resolution Player Setting was redesigned to better suite development workflow on multiple iOS devices. Two new “Auto (Best performance)” and “Auto (Best Quality)” settings allow Unity Runtime to choose most optimal rendering resolution according to device GPU capabilities. Some custom editor scripts might need to be updated to comply with these changes. Rendering resolution might be also changed from game scripts using Screen.SetResolution API.
· iOS: Device SDK Player Settings was simplified and now contains only two entries “Device SDK” and “Simulator SDK”. Corresponding editor API entries were also changed and some custom editor scripts might need to be changed.
iOS: Unity 4.0 discontinues support for ARMv6 devices (iPhone 1st gen, iPhone 3G, iPod Touch 1st/2nd gen). This affects existing project development in several ways:
· Target Platform Player Setting was removed from Unity Editor. Now all Unity iOS applications are ARMv7-only. Corresponding PlayerSetting.iOS Editor API entries also were removed. You might need to fix some of your editor scripts for that.
· Graphics API level (Open GL ES 1.1 or 2.x) selection was moved to separate Graphics Level Player Setting. This setting is synced with the Android platform.
· Applications that were already released to the App Store as supporting ARMv6+ARMv7 or ARMv6-only now can be updated only if Target iOS Version Player Setting is set to “4.3” or higher.
· Mobile: Unity 4.0 brings hard shadow support to mobiles. Shadows for mobiles are enabled at the default Quality Setting. And if the project is shared with desktop platforms then shadows might just appear on mobiles too when project gets imported into Unity 4.0. Some manual tweaking of lighting/shadow setup might be required for optimal performance on mobiles.
Mobile: We changed the way Texture2D.ReadPixels works. Now, if you do call it during Update (or, generally, not during rendering frame) to grab the copy of the screen, the call will be deferred to the end of the current frame. Due to this, logic behind Apply was changed too. What you need to do if you use ReadPixels to read pixels from the screen:
· if you just grab screen copy and call Apply, both calls will be deferred to the end of the frame
· if you grab screen copy, and do something with it, and call Apply after that: you need to defer all this to the next frame. The easiest way is to use coroutines with yield in between ReadPixels and your operations plus Apply.
· On the other hand, you can always do ReadPixels in Camera's OnPostRender, or when you have active RenderTexture.
· Runtime: GameObjects marked DontDestroyOnLoad are no longer temporarily deactivate when loading a level. They will also not receive an OnDisable / OnEnable call when loading a level.
Profiler Improvements:
· Android: Profiler blocks marked up in rendering commands via EXT_debug_marker (for tools like PerfHud).
· GPU profiling support for Tegra-based Android devices.
· GPU profiler detailed objects view sorts in decreasing GPU time.
· Optimized memory usage and UI performance for complex profiles.
· Scripting API: Profiler.GetMonoHeapSize, GetMonoUsedSize.
· Made profiler player connection run threaded to improve throughput and reduce lack of profile data.
Asset Pipeline Improvements:
· Added userData string property to AssetImporter, use this to pass per asset data to asset post processor.
· Manual asset reimport (via context menu) always reimports, even if cache server already has the result.
· Optimized filesystem performance of asset imports. Library/cache and Library/previews folders are gone; all imported results are in Library/metadata.
· Keep Quads added to mesh importer, most interesting with DX11 tessellation shaders.
Other Improvements:
· Android: Exposed control over SYSTEM_UI_FLAG_LOW_PROFILE ("lights-out" mode) through Screen.fullScreen.
· Animation : Can now preview non-Mecanim animation in previewer.
· Cache Server: Now includes a 32-bit linux build.
· Cache Server: Modifying the import settings and clicking on Apply will now also use the cache server if it is available.
· Cache Server: Made sure the Editor does not connect to cache server when it's not needed.
· Editor: In the Build Settings Window it is now possible to change enabled state for all the selected scenes in one click (Use Ctrl + A for selecting all scenes).
· Editor: Component context menu (gear icon) got Move Up/Down, Copy & Paste entries.
· Editor: Light Probes scene view rendering mode gone; probe visualization in lightmapping window overlay.
· Editor: Dragging a .unityPackage file into project view imports it now.
· Editor: The Scene Gizmo axis cones no longer sets the camera to be orthographic. The center cube now toggles orthographic. The label below the gizmo now toggles between perspective and ortho as well. Shift-clicking or middle-mouse clicking the center cube will set the "nice" perspective view and shift-clicking or middle-mouse clicking the cones will enforce ortho.
· Editor: Simplified mobile graphics emulation; only have OpenGL ES 1.1 & 2.0 now.
· Editor: Lightmaps now get "best" compression quality for mobiles when available.
· Editor: Added menu item in Component menu for Add Component drop-down.
· Editor: Don't show animation import settings if no animation data is available.
· Editor: Cleaned up indentation logic so LooksLikeInspector & LooksLikeControls are more similar
· Editor: Ignore symlinks in Windows so it behaves like OS X build.
· Editor: Inspector Window recovers gracefully when a CustomEditor throws an exception or has missing layout group endings.
· Flash: Scripting overall; Better generics support.
· Flash: Added FlashPlayer 11.3 support. Mouse middleclick and right click is supported on this subtarget.
· Flash: Added support for Enum.GetValues() & Enum.GetNames().
· Flash: Added support subset of field reflection.
· Flash: Full support for animation events, including runtime scripting api.
· Flash : Reduce black screen initialization time.
· Flash : Reduced memory footprint, performance increase.
· Flash : Added support for compilation to Flash Player 11.4 beta 2.
· Font rendering: Add Font.RequestCharactersInTexture, Font.GetCharacterInfo and Font.textureRebuildCallback to allow full control over dynamic fonts from scripting.
· Graphics: Exposed GUITexture.border to scripts.
· Graphics: Added "Read/Write Enabled" checkbox to Model Import Settings. Disabling this will reduce memory footprint of meshes.
· Graphics: Dynamic Batching with tangent vectors works on Windows & Mac now (was disabled before due to various driver issues).
· Graphics: Surface shaders can use aritrary vertex input data type (instead of appdata_full); now the type of a vertex modifier parameter is used.
· Graphics: Shader properties can have [HideInInspector] in front of them, which makes them hidden in inspector (useful for properties that are set from code).
· iOS: Screen.SetResolution now works on iOS too.
· iOS: iOS view handling extracted to separate files in trampoline, issues with splash are fixed, better non-animated orientation.
· iOS: Tweaked resolution selector in player settings: added automatic options.
· iOS: Added request for re-orientation on iOS5 and newer when allowed auto-rotation orientations were changed.
· iOS Remote: Improved latency of touch events sent to editor.
· Mac OS X: Make installers and Editor application signed so they can be run with the default security settings in OS X 10.8 Mountain Lion.
· Mac OS X Standalone: Added support for 256x256, 512x512 and 1024x1024 icons.
· Mobile: PowerVR texture compression tool updated to 2.10.87.4981.
· Mobile: Introduced RGBA16 texture format.
· Mobile: Added TouchScreenKeyboard.wasCanceled. On iOS, a “Cancel” button was added, on Android, the “back” button will be used for that
· Mobile: TouchScreenKeyboard.text now can be used to set text to show in edit field.
· Mobile: ActivityIndicator can now be started/stopped from script.
· Mobile: SystemInfo.supportsVibration now queries device for actual support.
· Mobile: OpenGL ES version selector is now shared between Android/iOS.
· Mobile: Some optimizations regarding dynamic geometry.
· Mobile: Increased max texture size for OpenGL ES 2.0 to 4096 and added handling of GPU imposed restrictions on texture size at runtime.
· Mobile: Enabled OnMouse event processing for scripts that use it.
· MonoDevelop: Updated Gtk+ for improved behavior and responsiveness (OSX).
· NavMesh: OffMeshLink has GUI for selection of NavMeshLayer.
· Runtime: GameObjects marked DontDestroyOnLoad are no longer temporarily deactivate when loading a level. This way they also will not receive a OnDisable / OnEnable call when loading a level.
· Scene View: Show small icon next to Scene Gizmo label showing whether Scene View is in perspetive or isometric mode.
· Scene View: When in axis-aligned view such as "Right", always show that in label and not "Iso" or "Persp".
· Scene View - Mac: Make Scene View swipe gestures math the SceneView Gizmos
· Scripting: Users can now add their own per-platform custom defines in the player settings.
· Scripting: MonoBehaviours can now be inside namespaces.
· Scripting: SkinnedMeshRenderer.rootBone is now exposed to scripting.
· Shaders: Vertex shader inputs don't have to come from a struct with predefined names anymore. Just use proper semantics and you're good now.
· Shuriken: Cone emitters: Support for emit from shell, emit from volume and controlling random direction.
· Shuriken: Support for up to 4 meshes in particle system renderer. Selection of mesh happens randomly.
· Shuriken: Support for up to 2 sub emitters per type (previously 1).
· Shuriken: Dynamic batching support for particle sprites.
· Shuriken: Particle updates are now multithreaded together with LateUpdate script calls. This should in most cases result in better performance.
· Shuriken: It is now possible to specify a particle radius in the collision module which can be used for avoiding clipping artifacts.
· Shuriken: Simulate() calls are much faster for most systems.
· Shuriken: Exposed .randomSeed to script.
· Shuriken: Exposed .particleSystem to GameObject scripting.
· Shuriken: Improved API for Emit(count) and added 2 more Emit() functions.
· Shuriken: Optimizations across the board for performance and less memory usage.
· Social API: Added a GameCenterPlatform function for showing a specific Leaderboard UI based on ID + TimeScope.
· Web Player: Make HTTP error handling more robust in Internet Explorer.
Optimization:
· Editor: Optimize Console window memory usage with high log entry counts.
· Editor: Optimized Hierarchy View for very large number of root objects.
· Editor: Optimized DXT compression of textures; better uses all CPU cores now.
· Editor: Detecting if assets need to be reimported when switching platforms is much much faster.
· Editor: Made entering playmode faster by reducing the number of domain reloads.
· Flash: Made performance improvements when calling functions taking or returning an array of structs.
· Flash: Made dramatic memory usage reduction.
· Flash: Optimizations were done by recycling actionscript objects for value types such as Vector3, and by being smarter about when to not have to copy them.
· Mac OS X: Dynamic geometry optimization via ARB_map_buffer_range & APPLE_flush_buffer_range.
· Meshes: Mesh.MarkDynamic; use this for meshes which you modify from scripts a lot.
· Mobile: added RenderTexture.DiscardContents - discards previous RT contents via EXT_discard_framebuffer or explicit clear.
· Particles: Optimized legacy particle systems via prefetching.
· Physics: Physics simulation is now using SSE2 on windows for better performance and to make simulation consistent with Mac OS X.
· Rendering: Point & spot lights in forward rendering use scissor rectangle optimization.
· Rendering: Unity skips rendering lights that have intensity smaller than 0.01.
· Rendering: Optimized Color32 multiplications (particles, lightmapping, …).
· Skinned Meshes: Optimized performance & memory usage by keeping static data (UVs & colors) in a separate vertex stream.
· Static batching: Compress vertex data to half-precision floats on platforms that support them; and save memory by unloading batched geometry after it's sent to the graphics card.
· Static batching: Optimized static batching code.
· Threading: Optimized multithreaded job scheduler (used for skinning, Mecanim, Shuriken, shader compilation, texture compression). It “multithreads more efficiently” now.
Fixes:
· Android: Added exception checking / propagation for script-based JNI Calls (AndroidJava* / AndroidJNI*).
· Android: Loading a lot of assets through Resources.Load() could create a memory-leak-like behavior - this has been fixed.
· Android: Fixed a rare case where libmono.so / libunity.so would not load due to "unable to link library".
· Android: Cases with extremely slow loading times, when re-reading scene assets, has been fixed.
· Android: The automatic binary splitting (for APK Expansion (.obb) support) was incorrectly omitting some files when using the Windows editor.
· Android: Korean fonts were not rendered correctly on some Android devices.
· Android: PlayerPrefs values queried with the wrong type would cause Java exceptions and application termination.
· Android: Added additional registry entries to search when looking for the JDK installation on Windows.
· Android: Requested RGBX32 instead of transparent when 32bit display buffer is selected.
· Android: Workaround for mali and ics resulting in crash with shader that sample texture in vertex program.
· Android: Crash when pausing/resuming on OS 4.1 / Jellybean has been fixed.
· Android: If system environment variable JAVA_TOOLS_OPTIONS was set it could prevent the .apk to be signed.
· Android: Webcam Texture now works on LG Optimus 3D (with OS 2.2 / Froyo).
· Android: Portrait upside down orientation caused errors when building the .apk.
· Android: EGL context recreation is fully supported (when pausing/resuming, or changing DisplayBuffer bit-depth, or anti-aliasing).
· Android: Enforce that System.Net.Sockets use is only allowed with an Android Pro license.
· Android: Added workaround for ARM Mali-400 GL ES 1.1 drivers sometimes referencing disabled vertex attrs (caused a crash).
· Android: Script debugging yields/coroutines could sometimes cause a crash - this has been fixed.
· Android: Application.streamingAssetsPath was incorrectly adding a slash before the jar delimiter (/!).
· Android: Fixed failing to build signed APKs on Windows.
· Android: Webcam resolution and frame rate selection is now more accurate.
· Android: Webcam now works on Ice Cream Sandwich and JellyBean devices.
· Android: Webcam now works on Motorola and OMAP devices.
· Animation: Exposed ModelImporter.generateAnimations as a bool, to allow control of over imported animation from an asset file.
· Animation: Fixed a bug where animation wouldn't play if it's out of frustum and cullingType is switched to AlwaysAnimate in runtime.
· Audio: Fixed problems playing back audio files whose paths contain special characters.
· Audio: Fixed problems displaying audio files whose paths contain special characters in the inspector.
· Audio: Fixed reverb filter diffuse slider inconsistency.
· Audio: Fixed looping issue on tracked music files.
· Audio: Fixed length determination for tracked music files.
· Audio: Fixed m_IgnoreListenerVolume property (was not working in the expected way).
· Audio: Fixed the length property of an AudioClip to be more accurate in the case of MP3s.
· Cache Server: Fixed connection problem when downloading assets.
· Cache Server: Fixed other connection issues.
· Debugger: Fixed hangs/deadlocks when debugging multithreaded script code.
· Debugger: Fixed crash on debug-time evaluation of generic methods.
· Development build: Stacktraces now include File names and line numbers again.
· Editor: Fixed crash when calling Close in the OnFocus callback.
· Editor: Fixed object selector not working for ObjectFields in GUI.Window.
· Editor: Fixed some vertically misaligned buttons in the dark skin.
· Editor: Fixed EditorExtensionImpl showing up in the Project view in some projects imported from 3.4.
· Editor: Will now use project name instead of the build file name as the title for published web players.
· Editor: Scenes in Build Settings no longer get reordered alphabetically.
· Editor: Undo now working if movement is cancelled by right click.
· Editor: Fixed error message when resizing arrays.
· Editor: Fixed crash when changing asset serialization to text mode.
· Editor: Fixed hang when play mode is exited while a download is in progress.
· Editor: Fixed crash when selecting multiple ScriptableObjects of different types.
· Editor: Fixed component context menu copy/paste with Transform components.
· Editor: Component context menu move up/down & copy/paste handles multi-selection.
· Editor: Scene view uses the same rendering path as main camera. Much less confusion!
· Editor: Soft particles usage hint in Quality Settings UI.
· Editor: Screen.width and Screen.height much more consistently report actual game view size when used outside of editor window GUI code.
· Editor: Made default values for sphere & capsule colliders use 0,0,0 for the center (it previously was not precisely zero due to floating point inaccuracies).
· Editor: Made the TextMesh inspector automatically change the material of the MeshRenderer when the font is changed.
· Editor: Properly reset MovieTextures when entering play mode.
· Editor: Fixed crash if importing an AudioClip fails during project re-import.
· Editor: Fixed null ref when using "Open" button in the inspector for model files in some cases.
· Editor: Fixed errors about not being allowed to access targets array.
· Editor: New preferences folder (now uses 4.x instead of 3.x).
· Editor: Fixed profiler using deep profiling when exceptions occur.
· Editor: Fixed DnD references being empty during DragExited after a DragPerform.
· Editor: Update visible rect when horizontal scrollbar is needed because vertical scrollbar is used.
· Editor: Clamping of the scroll position to account for the visible rect of the scrollview.
· Editor: Fix scrollview returning scroll position out of view rect size when using scrollwheel.
· Editor: Correctly handle when null string is passed to a TextField.
· Editor: Don't show Display Resolution Dialog when using CTRL-B from the editor and it's turned off.
· Editor: Fixed EditorWindow.ShowPopup with initial position of 0, 0 not rendering correctly.
· Editor: Fixed missing bold font in some inspectors (e.g. FBXImporter).
· Editor: GizmoType.NotSelected attribute for DrawGizmo works correctly.
· Editor: Component menu now handles custom namespaces.
· Editor: Light probes are selectable in search mode.
· Editor: Excess flood of Animation clips is not confusing the model importer inspector.
· Editor: EnumMaskField returns consistent value when every item is selected.
· Editor: Textfield word wrapping fixes.
· Editor: Display names of colliding enumeration values in inspector
· Editor: Fixed problem with the Asset Store window on retina display Macbook Pros.
· Editor: Fixed hang while closing if plugins had created their own native threads.
· Editor: Fixed odd drawing behavior when attempting to resize welcome screen.
· Editor: GUI.color is reset properly for every CustomEditor
· Editor: Fixed keyboard Input handling in Asset Store window on OS X 10.8 (also in 3.5.5).
· Editor: Fixed profiler causing an Out of Memory error in the console.
· Editor: Improved error reporting when exporting a Unity package.
· Editor: Fixed a bug where ARGB16 textures loaded from AssetBundles built for iOS/Android would load incorrectly.
· Editor: Editor doesn't hang anymore if exiting while in play mode.
· Editor: Made entering playmode faster by reducing the number of domain reloads.
· Editor: Fixed null reference exception when a MonoBehaviour is missing in the inspector. Instead we display helpful warnings embedded in the inspector.
· Editor: Fixed issue in fbx importer where prefab instance modifications would in some corner cases get applied to a different object on a different machine
· Editor: Fixed bug where calling LoadLevel in OnDestroy when exiting playmode could lead to a crash.
· Editor: Fixed bug where the import settings were not updated when a .meta file is changed.
· Editor: Fixed various leaks in the asset import pipeline when importing large project folders.
· Editor: Fixed prefab override recording issue where modifications would not get applied to array elements if the prefab array is empty and the size value was overridden after the property was overridden.
· Editor: Fixed warning when changing import settings on a lot of fbx files.
· Editor: Fixed crashbug when clicking on Apply prefab button in the game object inspector when the prefab would add / remove components on awake in edit mode.
· Editor: Fixed drag and drop behaviour when dragging child prefab objects.
· Editor: Improvements to Light Probe editing: don't change selection when duplicating them; render editable ones on top of baked ones.
· Editor: Wireframe and Textured Wireframe scene view modes take actual vertex & tessellation shaders into account now.
· Editor: Fixed import of .EXR files with alpha channel.
· Editor: Invoked OnFocus/OnLostFocus when switching tabs within the same DockArea.
· Editor: Disallowed hiding cursor when GameView is out of focus.
· Editor: Fixed crash caused by scene view overlays.
· Editor: Fixed box collider handles not matching box collider gizmos.
· Editor: Text fields support OS standard behavior of Command + Backspace deleting everything from the start of the current line to the cursor position.
· Editor: Cleaned up LOD group inspector (button alignment, text clipping).
· Editor: Make Unity 1.x GUI components never be shown in the Scene View.
· Flash: Replace no longer ignores parens.
· Flash: Several code conversion issues resolved.
· Flash: NavmeshPath can now be instantiated correctly.
· Flash: Fixed translation of some shaders (e.g. Refractive Glass was causing errors).
· Flash: Made AsyncOperation work.
· Flash: Fixed division by long and ulong.
· Flash: Fixed bug where assigning a struct to an object or interface would introduce two pointers to the same struct instead of two copies.
· Flash: Fixed several cornercase bugs in support for generics.
· Flash: Properly initialize fields of type DateTime in structs instantiated with default constructor.
· Flash: Fixed memory corruption crash if WWW response .Length didn't match actual length of payload.
· Flash: Support ++ and -- on arguments that are passed byref, whose result is assigned to an array.
· Flash: Fixed mouse visibility bug.
· Flash : Fixed equality comparison for ValueTypes.
· Flash : Fixed hashtable comparison.
· Flash : Fixed enum comparison
· Flash : Fixed enum to enum cast.
· Flash : Fixed keyboard input handling and TextArea input (control, delete, space, arrow keys).
· Flash : Generic collections now work with interfaces.
· Flash : Fixed crash when www.audioclip was used in a coroutine.
· Flash : SweepTestAll now works.
· Flash : UnityEngine.Flash.FlashPlayer allows retrieval of target player and swf version.
· Font rendering: Fixed position of text cursor when a custom font size is used for the TextField.
· Font rendering: Fixed kerning.
· Graphics: Fixed crashes that sometimes occurred on OpenGL with mismatched GL.Begin/GL.End pairs.
· Graphics: Fixed TrailRenderer culling issue.
· Graphics: Don't break batching based on shadow distance when there aren't any shadow casting lights.
· Graphics: Properly take line width into account when adding points to LineRenderer.
· Graphics: SubShader tags (render queue etc.) take shader LOD into account properly now.
· Graphics: Free up temporary memory used by non-uniformly scaled mesh when deactivating a mesh renderer.
· Graphics: Static batching performs better when there are multiple lightmaps in the scene (before it could run into cases where it wasn't batching much).
· Graphics: Fixed memory leak in Material.CopyPropertiesFromMaterial.
· Graphics: Fixed a rare "invalid angle: inf" error message with terrain and shadows.
· Graphics: Fixed Camera pixelWidth/pixelHeight/aspect queries done from Editor code being really confusing. Before, it was using the size of last drawn editor view for the calculations. Now, for regular cameras, Game View size is used.
· Graphics: Fixed crash in Shuriken mesh particles, when source mesh has no normals or tangents.
· Graphics: Fixed errors with statically batched meshes that are later modified by a script.
· Graphics: Fixed issue with Deferred rendering and wireframe Scene View mode.
· Graphics: Fixed various issues with shaders in asset bundles. E.g. you can actually put terrain with trees into an asset bundle, and the billboard shaders will work, without having to jump through various hoops.
· Graphics: Properly include all shaders into game data files when editor is in "-nographics" mode.
· Graphics: Batched Shuriken draw calls were not accounted for in the game view stats window.
· Graphics: Don't load Occlusion Culling data in non-Pro editor licenses.
· Graphics: Fixed console error messages when a terrain tree prefab is missing.
· Graphics: Smoother framerate on Windows when using vsync.
· Graphics: Fixed Screen.resolutions reporting zero for refresh rate in some cases.
· Graphics: Fixed crash when using additive scene loading with missing lightmaps.
· Graphics: Fixed small memory leak when loading shaders with syntax errors; made shader loading a bit faster as a byproduct ;)
· Graphics: Fixed error messages in some situations when calling camera.Render from editor scripts.
· Graphics: Fixed surface shader finalcolor modifier sometimes producing wrong results.
· GUI: Fix BeginHorizontal not displaying content/tooltip when using GUIStyle.none.
· Image Effects: Fixed Flash-related warning messages when importing Image Effects package.
· Input: Fixed OnMouseDown and related callbacks being wrongly sent to cameras that render into RenderTextures.
· iOS: Fixed Xcode crash when native plugin uses "+" in the name.
· iOS: Fixed iPad splash handling when starting in portrait.
· iOS: Made various orientation fixes.
· iOS: Corrected texture atlas padding.
· iOS: Fixed skinning corrupting UVs.
· iOS: Fixed crash on suspending app while playing video.
· iOS: Fixed recognition of more recent iPhone4/4S models.
· iOS: Fixed various crashes when Script Call Optimization set to "fast but no exceptions".
· iOS: Fixed text-area behavior when on-screen keyboard is hidden.
· iOS: Fixed Screen.orientation on the first frame on iOS6.
· iOS: Fixed interoperability of DisplayLink mode and iOS native UI.
· Javascript: Fixed error checking for array indices.
· Javascript: Fixed regression on 'not in' operator. Operator has been brought back.
· Javascript: Introduced 'for each' syntax for better compatibility with other javascript dialects.
· Lightmapping: Fixed handling degenerate triangles in UV space, Beast no longer spits out "TexBakeSampleGenerator: Non-invertible matrix".
· Lightmapping: Skipping tree instances that reference a prototype without a mesh.
· Lightmapping: Improved error messages when failing to bake Light Probes; when meshes have UVs outside 0..1 range, when meshes have missing UVs.
· Lihgtmapping: Take texture tiling into account for materials with cutout shaders.
· Lightmapping: Fixed issues with some emissive materials.
· Lightmapping: Fixed "Generate Lightmap UVs" difference between Windows/MacOS.
· Mobile: Better RenderTexture.DiscardContents implementation.
· Mobile: Fixed wrong lighting when dynamically batching uniformly scaled meshes.
· Mac OS X Editor: Fixed window focus issues when using a multiple screen setup in OS X 10.8 Mountain Lion.
· Mac OS X: Event.clickCount behavior for double-clicks now matches windows (clickCount is always 1 for MouseUp events).
· Mac OS X: Don't freeze Unity content when the System clock is changed while running.
· Mac OS X: PlayerPrefs keys will now work if they contain an '@' character.
· Mac OS X Standalone: Used OS X Lion style fullscreen mode, to allow other windows to show up in front of fullscreen apps, and to allow switching in and out of fullscreen mode by clicking onto the fullscreen button in the window title bar (optional).
· Mac OS X Standalone: Fix hiding of window when GameCenter is activated.
· Mac OS X Standalone: Changed event processing to allow other windows to receive keyboard events, to allow better integration with OS services such as GameCenter using plugins.
· Mac OS X Web Player: Made IME support work in all Mac browsers.
· Mac OS X Web Player: Fixed focus handling when the browser is switched to the background or the user switches to another window/tab.
· Mac OS X Web Player: Fixed memory leak.
· Mac OS X WebPlayer: Fixed OnApplicationPause being called when window goes to the background.
· Math: Fixed Plane.SameSide equation side error.
· Misc: Improve Time.smoothDeltaTime so it's not affected by pausing/unpausing.
· Native Client: Fixed download of JPG files as textures.
· Native Client:: Fixed problem where preferences might get lost when the player is closed while writing preferences to disk.
· NavMeshAgent : Fix crash querying nextOffMeshLinkData when having no navmesh in scene.
· NavMeshAgent: Fixed bug where Resume breaks updateRotation setting.
· NavMeshAgent: Path request processing queue order fixed.
· Physics: Fixed problem where CCD would incorrectly detect collisions if the center or scale of a collider was changed.
· Networking: Fixed case where a MasterServerEvent.HostListReceived was triggered for each host in a host list.
· Networking: Fixed problem with connecting to password protected servers with NAT punchthrough.
· Physics: Fixed MeshCollider not working if it had been scaled to be zero sized, and then scaled up again.
· Physics: Fixed a bug where Raycasts against CapsuleColliders with a zero-length middle section would not always return correct results.
· Physics: Fixed a bug where destroyed colliders would not be properly deallocated if Time.timeScale was zero.
· Physics: Fixed colliders being properly inactive when they are on inactive child game objects of the rigidbody.
· Physics: Fixed collision between two triggers to send OnTriggerEnter events to both triggers and both rigidbodies for consistent results.
· Physics: Fixed memory leak when Time.timeScale is zero.
· Physics cloth: Fixed tangents to match initial rotation of object.
· Profiler: Fixed hang on editor or player when connection could not keep up with the data.
· Profiler: GC memory was not propagated correctly up the call hierarchy.
· ProfilerConnection: Fixed inifinite loop freeze if profiler sendbuffer is full on the player.
· Scene View: Fix scene editor camera becoming locked out from user control.
· Scripting: Added overloads to EditorGUI.IntSlider so it can take SerializedProperties.
· Scripting: Fixed crash when calling material.GetFloat(null).
· Scripting: Fixed crash when a component destroys itself while AddComponent is trying to create it.
· Scripting: Fixed crash calling Resources.Load before resources have been imported.
· Scripting: Fixed bug where AssetBundle.LoadFromFile would get unloaded by UnloadUnusedAssets.
· Scripting: GameObject.Find will now correctly find children of objects of the same name as other objects which don't have children of that name.
· Scripting: Fixed crash when a gameObject is being destroyed while calling SendMessage on it.
· Scripting: Fixed script serialization bug where properties could not be #if-ed out for the player.
· Shaders: Fog shader variables (unity_FogColor etc.) are set to produce no fog when it's off.
· Shaders: round() and trunc() HLSL functions are now supported when compiling shaders for mobile.
· Shadows: Fixed shadow caster culling when light direction is exactly parallel to one of camera's frustum planes.
· Shuriken: Fixed particle system randomness. There should be a lot less visible correlation between parameters when using random between curves and values.
· Shuriken: Can't remove disabled UI modules, gizmo scaling issue, simulation preview issues when scrubbing.
· Shuriken: Fixed sub-emitter memory leaks, occasional crash.
· Shuriken: Gracefully handle when mesh is invalid, instead of leaving the emitter in a bad state.
· Standard Assets: Projector uses smaller, but uncompressed textures; to avoid artifacts when looking from a distance.
· Time: Fixed timescale usage when single stepping.
· WebCamTextures: Fixed error message when querying list of available devices while WebCams are in use.
· Web Player: Application.dataPath will now work correctly if the player URLs has slash characters in the url parameters.
· WebPlayer: Fixed the plugin ticking routine. It is simpler and less error prone.
· WebPlayer: Updated the builtin resources; now there is a distinction between "Made with Unity 4 Beta" and "Unity 4 Beta" plugin.
· WebPlayer: Fixed a variety of crashes when plugin was running on IE9.
· WWW Class: Fixed parsing text encoding if the encoding http header contains more parameters.
· Windows: Improved StackOverflowException handling in scripts.
· Windows: Fixed issues with 64-bit player not launching when non-latin characters in path.
· Windows Editor: Messages with "Failed: The operation has completed successfully" should not be presented anymore when operations on files fail.
Changes:
· Android: The video player activity has been removed. Fullscreen video is still supported but not as a separate activity.
· Android: "Google Play OBB Downloader" is now available in the asset store. The plugin can be used on devices that does not support automatic downloading of APK Expansion Files".
· Android: "Google Play Application License Verification" is now available on the asset store and thus no longer embedded in the standard distribution.
· Editor: Requires a DX9-capable GPU now (pretty much anything since 2004).
· Editor: PreferenceItem attribute now works on private static methods.
· Editor: Added new default window layout.
· Editor: When in OpenGL ES 1.1 graphics emulation, maximum texture size increased from 1024 to 2048 now.
· Flash: Disabled GrabPass shaders; they now behave like in Unity non-Pro instead of rendering nothing. Flash can't support GrabPass due to Stage3D limitations.
· GameObjects: Active state is now recursive. If a GameObject is inactive, all children will inherit that state.
· GameObject.active is now deprecated to make users aware of the new behavior. GameObject.SetActive() or GameObject.activeInHieararchy should be used instead.
· Graphics: Low-level rendering API (Graphics and GL classes) do not require Pro license anymore.
· iOS: removed Unity-iPhone-simulator build target from Xcode trampoline. Now simulator specific changes are backed directly into Unity-iPhone build target. It still requires to rebuild Xcode project after switching between device and simulator SDK.
· iOS: PVRTC compressor updated.
· iOS: added iOS 6.0 OS target.
· iOS: SystemInfo.deviceModel now returns full device name, including revision number.
· iOS: Exposed AOT.MonoPInvokeCallbackAttribute custom attribute. Passing managed delegates to native functions is now possible, though limited to static methods only.
· Prefabs can now have an active state which is copied to instances on instantiation.
· Mobile: ARMv6 is not supported anymore.
· Native Client: NaCl is now it's own BuildTarget instead of a checkbox in the WebPlayer build target.
· Scripting: Removed SceneView.RenderMode from Editor API(was not documented, but public). Use the documented DrawCameraMode instead.
What's new in Unity 3.5.4:
July 23rd, 2012Fixes:
· Android: Crash when pausing/resuming on OS 4.1 / Jellybean has been fixed.
What's new in Unity 3.5.3:
July 11th, 2012Improvements:
· Audio: Fixed audio distortion when using gapless MP3 encoding.
· Cache Server: Fixed connection issues.
· Development players will now show file names and line numbers in stack traces again.
· Graphics: Added Optimize Mesh Data option to Player Settings. Turning it on will remove unused mesh components (e.g. will remove all tangent vectors if none of your shaders use normal mapping). Use this both for game size and runtime performance.
· Graphics: Added Camera.transparencySortMode to control how transparent objects are sorted. If you use a perspective camera for a 2D game, you can have proper object sorting now!
· Graphics: Mesh.Clear now will keep the existing vertex layout; this is more efficient if you are recreating meshes at runtime. If you want to completely clear the mesh, including vertex format layout, use mesh.Clear(false).
· iOS: now automatic inclusion of native plugins will also respect "Symlink Unity libraries" flag. Turn this flag off when making archive builds.
· Native Client: Fixed crashes in script code in 64-bit NaCl (64-bit Windows or Linux).
· Profiler: Reduced memory footprint of profiler when viewing large frames (deep profile)
· Web Player: Make browser more responsive to user input on Windows.
Fixes:
· Unity for Native Client has been updated to a new version of the NaCl SDK, which fixes some problems. Shipping NaCl games need to be rebuilt with Unity 3.5.3, as they will no longer work in future versions of Google Chrome otherwise!
· Android: JDK 7 installations are now automatically detected on windows.
· Android: Reading player preferences using the wrong value type now return the default value.
· Android: Fixed a rare race-condition when quitting the application.
· Android: Added support for gdbserver being packaged inside the application.
· Android: Use of spaces in keystore alias/password is now allowed.
· Android: Added better failure message when the wrong key password is provided.
· Android: Force SHA1 digest algorithm when signing the application, to make sure it's accepted by Google Play Store.
· Android: Force RSA key algorithm when creating keys, as suggested by Google.
· Android: Workaround for the bug with Kindle's compositor where it incorrectly uses the alpha values from the Display Buffer.
· Android: Added warning for shaders which compilation might cause crash on sgs2 updated to ics.
· Android: Fixed returning from pause on Eclair devices
· Android: fixed perf regression with batching/dynamic geometry on PowerVR GPUs.
· Cache Server: Fixed problem where native assets (prefabs, materials, etc) would not refresh in the Editor when updated on disk and cache server is active.
· Editor: Rotation doesn't create leftover animation curves anymore
· Editor: Fixed "Deprecated EditorExtensionImpl" assets show up in projects converted from Unity 3.4
· Editor: Fixed crash when selecting multiple ScriptableAssets of different types.
· Editor: Fixed up serialized property error that causes a null ref when an array is the last element being drawn.
· Editor: Fixed up asset labels so that they get saved to meta data and displayed in the inspector properly.
· Editor: Correctly clear drag and drop buffer so that old data does not stay around causing issues.
· Editor: Fixed wrong gizmo rendering on Windows with extremely high quad counts (e.g. drawing 10000 shaded cube gizmos).
· Editor: Fixed crash on Windows when you have assets with names like "Tree A" and "TreeA" in the same folder ("revenge of MS-DOS short names!").
· Graphics: Fixed static batching when there are source meshes without UV channels.
· Graphics: Fixed CombineMeshes() outputting wrong vertex count. This fixes a bug with combined meshes not drawing on some graphics cards.
· Graphics: Properly validate array size when setting Mesh.vertices from script.
· Input: Correctly detect controller after it has been reconnected on Windows.
· Input: Ignore obsolete DirectInput registry settings.
· iOS: Fixed automatic .a plugin inclusion into Xcode project.
· iOS: Fixed all the issues with splash orientation.
· iOS: fixed issue with native UI on top of unity view with non-animated rotation.
· iOS: Fixed linking with xcode4.5 dev preview
· Mobile: Added additional logging when initializing the profiler (over Wi-Fi or USB), to aid debugging when device is not seen by the editor.
· Mobile: Fixed fixed function shader generation in case of more then one TexGen CubeReflect samplers.
· NavMesh: Optimize navmesh bake memory-usage. Instead of crashing, returns error when out of memory.
· NavMesh: Setting agent destination does not break stopping distance behavior.
· NavMesh: Agent respects explicitly set rotation of transform when updateRotation is set.
· Networking: Fixed problem with connecting to a password protected server using a GUID.
· Shaders: Fixed surface shader decal:blend mode when normal mapping or specular was used.
· Shaders: Various fixes to mobile shader translator (HLSL -> GLSL compiler).
· Shaders: Fixed incorrect fog on some shader model 3.0 shaders on Windows.
What's new in Unity 3.5.2:
June 6th, 2012Improvements:
· iOS: Added UnityGetGLView function to AppController.mm that returns the view that unity uses
· iOS: Splash now uses "retina" images if running on "retina" device
· Flash: Introduced System.Attribute base type so custom attributes can at least compile cleanly.
· Flash: It's now possible to invoke constructors that declare byref parameters.
· Flash: Slightly faster Stage3D path and faster path implemented for 11.1 and 11.2 specific deploys.
· Flash: Point filtering now works.
· Flash: System.Bitconverter now works.
· Flash: Dictionary.ContainsValue now works.
· Flash: Smaller memory footprint in some cases
· Flash: Speedup in SWFPostProcessing
· Flash: performance optimizations on generated bytecode.
· Flash: Byte[] now has a Flash native bytearray as a backing store (.elements).
· Flash: Shallow implementation of System.Text.Encoding for ascii and utf
· Flash: Implementations of System.Random, System.IO.MemoryStream, DateTime.Today
· Flash: System.Exception.StackTrace property.
· Flash: more conversion errors include related source location now.
Changes:
· Added Resources.UnloadAsset(Object asset) function. This is useful for unloading large individual assets if you know they are no longer used and you don't want to call Resources.UnloadUnusedAssets().
· Editor: Introduced [Callbacks.PostProcessBuild] script attribute. It will execute the attributed method after the player has been built.
· Editor: Introduced [Callbacks.PostProcessScene] script attribute. It will execute the attributed method when the current scene has been processed.
· Flash: Has build targets for different FlashPlayer version 11.0, 11.1 and 11.2. No Flash Player version specific implementations exposed yet, but setting 11.2 means using a faster code path; better performance.
· Flash: www.GetAudioClip() now works, only for non streaming mp3's.
· Flash: WWW support
· Flash: WWWForm Support
· Flash: Assetbundle support
Fixes:
· Android: Possible fix for random crashes in OpenGL ES driver on Galaxy Nexus ICS.
· Android: Touch problems related to ICS upgrades on some devices have been fixed.
· Android: Caching.CleanCache() was always returning false (without cleaning the cache).
· Android: Fixed Webcam texture initialization problem on ICS device.
· Editor: Catch more corner cases when detecting Visual Studio installations.
· Editor: Fixed out-of-memory crash when showing AudioClip's inspector while in play mode.
· Editor: PvrTexTool updated to version 2.10.87.498.
· Editor: Fixed crash when using SendMessage, a non-null argument is passed to a parameterless receiver.
· Editor: Fixed used textures stats to display in statistics view
· Fixed memory leak when the profiler is attached.
· Fixed WebPlayer crash when downloading an AssetBundle.
· Fixed a bug in mouse delta handling for non HID enabled mice.
· Fixed an out of memory crash on audio preview.
· Fixed race condition while hashing assets for the cache server.
· Fixed crash in Resources.Load if the resource being loaded referenced a non existing asset.
· Fixed out of memory crash when building a player with a lot of assets cross references between scenes.
· Fixed bug where SkinnedMeshRenderers marked as Occluders would result in bad occlusion. SkinnedMeshes can only be marked as Occludees now and the bounding volume of the skinned mesh is used during PVS Calculation.
· Fixed crash when reloading scripts after launching Unity with a compile error.
· Flash: Fixed integer division semantics.
· Flash: Fixed memory leak in native methods returning structs.
· Flash: Fixed crash on constructors passing fields as byref arguments.
· Flash: Fixed RuntimeServices_ToBool_Object being invoked, but not implemented.
· Flash: Fixed endianness error on byte[].
· Flash: Fixed crashes on monobehaviour deserialization on asset bundles.
· Flash: Fixed particle system not being scriptable again.
· Flash: Fixed www.error being set to seemingly random strings, even if there was no eror.
· Flash: Fixed crashing on fatal errors on errors thrown in coroutines.
· Flash: Fixed fatal errors on www.texture access.
· Flash: Fixed flash preloader bar on black background.
· Flash: Fixed bug where array.CopyTo() fails if the destinationsize is larger than sourcesize.
· Flash: Fixed fields of type List crashing on Instantiate().
· Flash: Fixed serialization of List.
· Flash: Fixed multiple issues with SwfPostprocessor resulting in issues with swf not getting verified or causing stack under - or overflows.
· Flash: Many small actionscript conversion issues fixed.
· Flash: GuiTexture is rendering correctly again.
· Flash: Particles are rendering correctly again.
· Flash: Texture2D setPixels with larger textures doesn't crash anymore.
· Flash: UnityContent .setSize(width,height), working correctly.
· Flash: useGuiLayout works.
· Flash: No more crashes on gui.window.
· Flash: No more crashes on physics/charactercontroller collisions.
· Flash: Physics, fixed issues with objects shooting into space or being sticky.
· Flash: Array of Structs aren't being (incorrectly) serialized anymore.
· Flash: ParticleSystem now script accessible.
· Flash: Serialization of non-public monobehaviour now works.
· Flash: Issues with coroutines throwing FlashPlayer verify and stack size errors fixed.
· Flash: EncodeToPNG now works.
· Flash: Support for c# packing of array data in types.
· Flash: Correct handling of numeric casts of infix expressions (ex: (int)(f * g)).
· Flash: Fix serialization of List
· Flash: Fix SwfPostprocessor; cases where player was throwing fatal error indicating that files are not available / verifier error on constants.
· Flash: Fix SwfPostprocessor; fix max stack size calculation
· Flash: Fix WWW.GetAudioClip() usage in StartCoroutine crash.
· Graphics: Fixed vertex colors being swapped in CombineMeshes
· Graphics: Fixed projector errors with zero near plane
· iOS: Fixed dynamic geometry performance regression in 3.5/3.5.1.
· iOS: Fixed splash rotation, causing it to skew.
· iOS: setting Application.targetFrameRate
What's new in Unity 3.5.0:
February 15th, 2012Major New Features:
· Adobe Flash: Final version of 3.5 supports a preview of publishing to Adobe SWF format, otherwise known as Flash Export.
· A separate FAQ for this release is available at http://unity3d.com/unity/publishing/flash.
· New Particle System - "Shuriken".
· Edit, view and playback control in Edit Mode. You can manually scrub time to inspect and fine-tune the particle system using the Scene View playback controls.
· Module-based: Each particle system has several modules that can be enabled to control color, size and movement of particles.
· Groupable: It is possible to group / compose several particle systems in a hierarchy and their playback will behave as one particle system.
· Built-in curve editor for easy curve editing.
· Pathfinding and avoidance sub-system added.
· NavMesh: Path-finding API. Bake navigation mesh with markup areas.
· NavMeshAgent: Character navigation. Avoidance system.
· OffmeshLink: used to create arbitrary connections between NavMesh polygons.
· Built-in LOD management via LOD Groups.
· Lightmap baking works for LODed models. The lightmapped objects use a surface transfer algorithm similar to normal map baking.
· Asset Cache server.
· Assets imports are shared between project folders and users. Switching Platform takes minutes instead of hours on large scale projects. Grabbing changes from other team members is almost instant.
· Built-in HDR support and adaptive tonemapping.
· The 3.5 image effects package comes with adaptive tonemapping, bloom and depth of field image effects that are optimized for HDR.
· Multithreaded rendering.
· Most of rendering & driver overhead is put onto another CPU core on multicore systems.
· You don't have to do anything, it just works!
· Currently only on PC / Mac / Xbox 360; and not in the web player yet.
· Light Probes, which allow for using baked lighting on characters and other dynamic objects.
· Directional Lightmaps.
· Generic external version control (.meta files) is now available in the free version.
· Google Native Client is now supported
· It is now possible to select and edit multiple objects simultaneously with the Inspector!
· The Inspector preview supports showing the multiple selected objects.
· Multi-editing can be enabled for custom editors with a single line of code if they are based on using SerializedProperty.
· Occlusion Culling has been rewritten from scratch, it is much faster to compute and always correct
· OcclusionPortal component has been added to allow doors that can be opened and closed at runtime.
· Terrains work well with occlusion culling now.
· The default mode for occlusion culling is “automatic portal generation”, which is very accurate and works well for dynamic objects.
· Introduced the “Occludee Static” flag. This is used to mark objects as statically occludable without making them occluders. For example transparent objects that don't move should be marked as Occludee Static.
· Text-based scene and prefab format can be used for improving team workflows. This can be turned on or off in the Editor Settings for each project.
· GPU Profiler: added the ability to see GPU usage to the profiler.
· A ton of memory and performance optimizations. Several improvements to multithreading.
Graphics Features:
· SkinnedMeshRenderer bounding volume is now always relative to the most common root bone and works much better with Ragdolls.
· UpdateWhenOffscreen bounding volume option now uses bone-relative bounding volumes instead of vertices and is around 100x faster.
· WebCamTexture class now supports cameras.
· High-resolution screenshots can now be done via Application.CaptureScreenshot’s superSize parameter.
· Added new Soft Shadows mode for Directional Lights that uses rotated disk sampling pattern.
· Lightmapping: Added the “Area Light” light type (baked only).
· Lightmapping: Skinned meshes can now be lightmapped. Use this for meshes that don't change the pose much after baking.
Advanced rendering controls:
· Image Effects can optionally be applied before any transparent geometries are drawn. Use ImageEffectOpaque attribute on the OnRenderImage function.
· Subtractive/Min/Max blending support, use BlendOp Min|Max|Sub|RevSub in ShaderLab.
· Multiple Render Targets, Graphics.SetRenderTarget can take multiple color targets.
· Enabled sharing of depth buffers between different color buffer targets, see Graphics.SetRenderTarget, RenderTexture.colorBuffer, etc.
Various graphics optimizations:
· Optimizations for OpenGL ES 2.0 to avoid performance spikes with dynamic geometry.
· Optimized culling and shadow caster culling.
More low level rendering possibilities from native code Plugins:
· Ability to access Direct3D 9 device pointer.
· Plugin callbacks on the rendering thread, so that low-level plugin rendering can co-exist with multithreaded renderer in Unity 3.5.
· Surface Shaders: added optional final color modifier function (finalcolor directive). This can be used to implement custom Fog on platforms that can't do usual fog (like Xbox 360 or PS3).
· Added renderer.SetMaterialBlock for a lightweight way of adding per-instance material parameters without duplicating the materials. Also, the MaterialPropertyBlock does not have fixed small capacity any longer.
Quality settings overhaul:
· Quality settings can now be enabled / disabled per platform. Quality levels that are disabled on a target platform will be stripped on build.
· Maximum LOD level and LOD bias can be setup in the Quality settings.
· The smallest LOD level in the quality settings will be used to automatically strip higher LOD levels. This makes it possible to strip any high poly models and all their dependencies on low-end devices.
· Editor Features
· Middle-click on any surface in the Scene View to focus on the clicked point.
· AssetModificationProcessor class created with custom VCS systems in mind.
· Adds IsOpenForEdit check on assets which can prevent assets from being edited.
· The preview in the Inspector can be detached to a separate window.
· Implemented support for C4D file import from Cinema4D R13.
· Implemented better detection of imported material types. Unity uses normal-map and transparency properties (texture or factor) to apply one of the following shaders: "Bumped Diffuse", "Transparent/Diffuse" or "Transparent/Bumped Diffuse".
· Implemented import of texture Tiling and Offset values.
· Implemented support for baking animation through FBX exporter during C4D file import (supported only from Cinema 4D R13, the old version uses our native IK baker).
· Mac: Added support for full-screen mode in the new Mac OS X Lion 10.7.
· Improved preferences window that users can extend by using the PreferenceItem attribute.
· Gizmos can have world-space sizes. Nice, hi-res gizmos were added.
· The Transform gizmo has a new planar transform tool for performing two-axis translations, which replaces the Free Transform tool. Hold the 'shift' key to switch back to the Free Transform tool.
· GUI class now has a DrawTextureWithTexCoords function for specifying texture coordinates.
· Entire curves can now be dragged vertically.
· Gizmos are now depth-tested, and exist in world space. The gizmo size can be adjusted using the existing gizmos size slider.
· Introduced a more advanced Static checkbox: It is now possible to mark objects static for different situations (lightmapping, navigation, occlusion etc).
· Made it possible to find objects in scene that reference the selected asset.
· Texture Importer for pvrtc-enabled platforms allows to select compression quality.
· New Prefab system allows adding / removing components from instances without breaking the prefab connection.
· Backwards compatibility with old prefabs is maintained.
· Made sure prefabs do not show up as “missing” in play mode.
Audio Features:
· Enabled audio buffer read and write access via AudioClip::Get/SetData
· Introduced low latency custom filters. Filter/Produce audio at mixer rate with OnAudioFilterRead() callback.
· Extended inspector GUI support for custom filters (out gain and performance meters).
· Enabled microphone support on all platforms.
· Made mixer settings accessible from script (buffer sizes and sample rate).
iOS Features:
· Implemented Build&Run support for Xcode 4.x. (Not compatible with Xcode 3.x, but can be turned off in Editor settings).
· Accelerometer frequency now is controlled from Player Settings.
· Application.targetFrameRate works. Removed kFPS constant due to this. 30 FPS is default.
· Added "Show Loading Indicator" option, to show spinner when loading game.
· GameCenter support added through the Social API (does not include matchmaking and voice features at the moment).
· Added iAd support.
· Added push notification support.
· Added Compass and Gyroscope support.
· Added Camera support.
· Added Microphone support.
· Image Filters now determine the format for intermediate Render Targets from currently bound FrameBuffer (most usual - default Display Buffer). So if you use a 16bit Display Buffer you will get 16bit rt (RGB565). While this makes image filters a bit faster, it also is more GLES-conformant. If you want to use Image Filters that needs alpha channel or see banding, please set "Use 32-bit Display Buffer" checkbox in Player Settings, or use newly added Handheld.use32bitDisplayBuffer API.
Android Features:
· Added "Show Loading Indicator" option, to show spinner when loading level synchronously.
· QualitySettings.antiAliasing now works, allowing you to set AA level at runtime or in Editor.
· Added "Use 32-bit Display Buffer" and "Use 24-bit Depth Buffer" options.
· Added the API “Screen.dpi” to help determine the need for high/low resolution graphics.
· Added Joystick / Mouse (USB) support - only available with Honeycomb 3.1 and later.
· Improved load times with a new file reader back-end.
· Profiler information can now be tunneled over ADB.
· Input latency is improved, with input events handled in native code with Gingerbread 2.3 and later.
· Added support for Gyroscope / Compass input.
· Added Camera support
· Added Microphone support.
· Added Texture Override for ETC/RGBA16, under Build Settings.
· Added API targets for Honeycomb 3.2 (MR2) and Ice Cream Sandwich (4.0)
· Other Features
· Upgraded to MonoDevelop 2.8.2.
· Generic Social API added, which supports GameCenter only at the moment and Xbox Live support will be enabled later. Limited dummy functionality runs on unsupported platforms (so code is testable in the Editor for example). Third parties can implement the interface to add support for their implementation on any platform.
· Physics: Added ConfigurableJoint.swapBodies property to make the joint act as if the two connected Rigidbodies were swapped.
· AssetPostProcessor can now be versioned. See AssetPostProcessor.GetVersion for details.
· Asset Server can now be used with Cache Server. Note that this requires committing all assets to the server project after upgrading to 3.5 and that the server project will not be usable by older Unity versions after that commit. So remember to back up everything, including the server project.
· Added Application.StreamingAssetPath which points to the location of the data in the Assets/StreamingAssets folder on all build targets.
· IME: Added Input.isIMESelected to determine if the user has currently enabled IME conversion mode for keyboard input.
· All Editor Settings files that need to be versioned have been moved into a ProjectSettings folder.
· If upgrading an existing project the current settings files will be copied to the new folder.
· If you are using version control you should upgrade your project by opening it in the editor and then you should remove the old settings files from version control and simply add the ProjectSettings folder.
· Conclusion: All you need to add to version control in 3.5 is your Assets folder and ProjectSettings folder.
Improvements:
Android:
· Added AndroidJavaRunnable to automatically marshal script delegates to Java code.
· Introduced automatic unlocking of the device when running development builds.
· Introduced passing touch and key events directly to native code when using NativeActivity.
· Removed delay when returning to an application, stemming from an unnecessary recreation of the GL context.
· Stored the keystore file relative to the project path.
Audio:
· Changing mixer's sample rate and buffer sizes from script now possible.
· Cross domain security check for AudioClip::GetData() in webplayers.
· Custom DSPs (OnAudioFilterRead) now respect the settings of the attached AudioSource (mute, attenuation curves etc.)
· Microphone frequency capabilities now accessible from script and can be used in Record().
· Multichannel (>2) OGG files are now encoded and mapped correctly.
· Introduced non-blocking waveform renderer (higher resolution and nicer-looking)
Documentation:
· Added extensive sections on new features in the Manual (Shuriken, Navigation Mesh, Level of Detail).
· Fixed formatting issues for code snippets on IE
· Fixed up many code examples.
Editor:
· Fixed the "Generate Lightmap UVs" reducing the difference between mac/win. Not there yet, but should be fixed for the most part. Please reimport meshes and rebake lightmaps.
· A LOD group that was created on import can now be updated in the scene and send these settings back to the importer.
· Added "All" and "None" items for active Layer selection menu.
· API: Added optional parameter includeChildren to PropertyField to allow creating entire class or array controls with a single function call.
· API: Exposed GetIconSize and SetIconSize.
· API: Made DrawDefaultInspector work with both LooksLikeInspector and LooksLikeControls.
· API: Made PropertyField respect indent level instead of overwriting it with property depth.
· Asset Import performance optimizations for large project folder. For example detecting assets to be refreshed is around 10x faster now. Opening an already imported project is around 50x faster.
· Audio clips now use the static preview system. This means that audio clips now have a preview in the object picker/browser.
· Break prefab menu item added to Game Object menu (Break button was removed from gameobject inspector).
· Curve Editor key selection improvement: Always select the topmost key if keys of multiple curves are overlapping.
· Debug.DrawLine and Debug.DrawRay now take an optional bool that can disable depth testing.
· Ensure terrain brush settings are not reset when selecting a different object or when entering or exiting Play mode.
· EnumPopup element strings are now "nicified".
· Even more fixes to "Generate Lightmap UVs" to make it generate same UVs across Mac/Win.
· Fixed various project import issues where a crash of Unity could lead to a full project reimport in some cases.
· Implement EditorGUI functions BeginChangeCheck, EndChangeCheck, BeginDisabledGroup, EndDisabledGroup as more high-level alternative to setting GUI.changed and GUI.enabled directly.
· Import settings are now shown at the top in the Inspector and the imported result below (when relevant).
· Improve feedback to the UI about which color space is active.
· Lightmapping Window, Occlusion Window, and Navigation Window now have type based scene filters for quick picking of relevant objects.
· Made intValue property in SerializedProperty API work for LayerMask type.
· Made inspector display large Asian fonts with kerning information quickly, and show progress bar for import.
· Miscellaneous LOD group editor improvements.
· Made rectangle selection of meshes more precise.
· Introduced the property EditorGUIUtility.isProSkin.
· Objects can now be tagged separately as occluders and occludees.
· Optimized performance of changing parenting in the hierarchy window.
· Polished Import/Export package dialogs a bit.
· Scene View FPS motion is a bit slower by default, and has acceleration for when you want to go far.
· Show warning about precision errors in Transform inspector if world position exceeds 100.000 in any axis.
· The Navigation window now lets you change the Navigation Static flag of selected game objects.
· Transform gizmo now has planar sliders.
· Undo / Redo now works as expected when enabling and disabling components.
· Unity can import meshes with vertex count larger than 65000. Instead of aborting import it will split the mesh into parts each containing less than 65000 vertices.
· Upgraded FBX SDK to 2012.2.
· When changing numbers using sliders, do context sensitive rounding. The rounding will leave exactly enough decimals to represent the change resulting from moving the slider one pixel. If more decimals are typed in manually, they will not be lost (within the limitations of floating point numbers).
· When selecting objects of different types, the Inspector will now help narrowing down the selection to objects of only one type.
· You can now set a default font color via the font importer.
Graphics:
· Extended the maximum number of shader keywords from 32 to 64.
· For each shader compilation error show the keywords that were used.
· MaterialPropertyBlock can now have an unlimited number of properties.
· OnWillRenderObject lets you rotate or slightly move an object before rendering. The updated transform will be used during the render pass. This makes it possible to for example align a billboard only when it is visible using OnWillRenderObject.
Lightmapping:
· Exposed the padding property that controls texel spacing between bake instances.
· Improved mipmap generation for lightmaps - the space between bake instances is filled with colors coming from those bake instances when going down and up the mip chain. The lighting in smaller mip levels is more accurate and preserves the overall feel of the lightmap better. Please rebake the lightmaps to get the benefit.
· Made fetching lightmaps use much less temporary memory.
iOS:
· Added Caching.SetNoBackupFlag and Caching.ResetNoBackupFlag to set "No Backup" flag on cache.
· Added iPhone.SetNoBackupFlag and iPhone.ResetNoBackupFlag to set "No Backup" flag.
· Caching now set no-backup flag by default on newly added objects.
Scripting:
· JavaScript: Creating a new script automatically adds “#pragma strict” by default.
· JavaScript: Warn when bitwise operators are used with boolean operands to suggest the shortcircuiting boolean operators.
· JavaScript: @script attribute declarations can now appear before 'import'.
· JavaScript: Files containing interface and/or enum definitions named after them are now supported (e.g. interface IFoo in file IFoo.js) as the compiler will no longer generate a conflicting MonoBehaviour definition.
· Boo: Pattern matching for lists.
· Boo: Selective import support.
· Boo: Better linq (and extension method support) in general: 'import System.Linq;' is enough now.
· Boo: Optimized multidimensional array operations (up to 100X in some cases).
Miscellaneous:
· Asset Import: Texture importing now uses a lot less temporary memory.
· Asset Server: Projects can now be copied in the admin view.
· Mac OS X Standalone: Added a "close" button to the player window.
· ModelImport: Warnings about quaternions now contains the name of the model and can in most cases be clicked to highlight the model in the project view.
· MonoDevelop (JavaScript/Boo): Added limited jump to definition support.
· Occlusion culling baking now doesn't run out of memory.
· Occlusion culling now works correctly with shadows and is much faster. All occlusion culling modes should work as expected now across all platforms.
· Player: Pre-load asset dependencies when doing Resources.Load/LoadAll to avoid hiccups during runtime.
· Profiler: Added API to enable binary filedump of profiling data, and API to read it back in the Editor.
· Reduced memory usage when importing large project folders.
· Scripting: Added Handheld.use32bitDisplayBuffer to change Display buffer bit-depth at runtime.
· Scripting: Added WWW.textureNonReadable to mark as non-readable after download.
· SkinnedMeshes can now be marked as occluders and occludees.
· Substance import issues with input textures were fixed.
· Static batch mesh generation (Part of the build process and editor play mode) is now a lot faster.
· Support copying files from Assets/StreamingAssets for Win/Mac standalone players.
· Unwrap: All known cases of mac/win uv generation were fixed. Please reimport your meshes.
· Web Player: If the embedding page or unity3d file is hosted on https, the web player will use https for all connections (update checks and downloads), so the browser will not show warnings about insecure connections.
· When baking occlusion culling with transparent objects marked as occluders a warning is now given telling you which objects are marked static incorrectly.
· When imported assets are dirtied because a script modifies the imported asset it will no longer cause the asset to be reimported. Instead it will unload the asset and reload from disk as soon as nothing is referencing the asset anymore. This fixes an issue where a lot of assets would get reimported when shutting down Unity after entering playmode depending on what the scripts did.
· Windows: Connected joysticks are detected at runtime.
Fixes:
Android:
· Texture2D.EncodeToPNG() / Application.CaptureScreenshot() produced broken images.
· Calling Application.Quit from OnApplicationPause() had unexpected consequences.
· Calling Network.TestConnection() caused the application to crash.
· Calling Time. from OnApplicationPause() could cause application to hang.
· Calling game scripts from the Java UI thread could cause a crash on rare occasions.
· Fixed a GLES 2.0 rendering problem specific to Broadcom chipsets.
· Fixed crash on Honeycomb/IceCreamSandwich devices triggered by 'auto-rotation' or any kind of screen rotation.
· Fixed incorrect handling of Debug.Log in non-development builds - Message is now printed, but callstack parsing is disabled to keep performance up.
· Fixed video playback when using a local (file://) source.
· Graphical artifacts in decompressed ETC1 textures have been corrected.
· In the editor resolution/aspect ratio settings, the HTC Legend dimensions were swapped.
· JDK 7 can now be used without getting a INSTALL_PARSE_FAILED_NO_CERTIFICATES error with signed applications.
· JNI marshaling null-strings from Java would cause the VM to abort.
· The basic/pro license was not honored correctly in some places.
· The saved instance state bundle passed to Activity.onCreate was not forwarded from the Proxy activity.
· Update AndroidManifest.xml permissions when Application.internetReachability is used - adding ACCESS_NETWORK_STATE fixes the problem with incorrect return value.
· Using a custom splash during an advanced license trial period could lead to runtime crashes when trial expired.
· Using a Linux 3.x kernel would cause Unity to hang/crash on multi-core CPUs.
· WWW calls to a server that redirects from HTTPS to HTTP were failing.
· Nvidia's PerfHUD for Tegra reported increasing frame times when the application was paused.
· A few hardware keys were missing, like (forward) DELETE and left/right CTRL - these have now been added.
· Callbacks to MonoBehaviour.OnApplicationFocus is now supported.
· Added support for Galaxy Note Stylus Pen (through KeyCode.LeftControl and KeyCode.Delete).
· Fixed annoying but harmless error about missing directory when building.
· Android Remote: fixed occasional stale touches.
· Android Remote: fixed flickering and improved stability on tablets.
Audio:
· 'Decompress On Load'/'Compressed in memory' option not shown for uncompressed audio.
· Don't show BPS for MPEG files.
· Audio/Video: Pause audio when video is done in the inspector.
· Fixed custom rolloff curves.
· Fixed 32 bit filtering.
· libVorbis updated to the latest version.
· Lowpass filter inspector fixed.
· Reset on filters and reverb zones now works.
· Size in inspector now correct for all platforms and audio types.
· Support for compression of 32bit input files.
Debugger:
· Fixed abort with reentrant evaluation.
· Fixed crash with nullable evaluation.
· Fixed debugger crash when debugging in the editor.
Editor:
· After moving or renaming the current open scene, saving will now save into the new location rather than the old.
· Editor: Curve Editor now correctly reverts and resets any change when dragging and Esc is pressed.
· Editor: Dark skin component checkboxes no longer twitch.
· Editor: Dark skin's object picker tweaks.
· ESC to cancel searching is more robust.
· Editor: Fixed animated GUI groups breaking and giving errors after a window has been re-docked.
· Fixed color picker incorrectly initializing alpha to 255 if original color is (0,0,0,0).
· Editor: Fixed dragging textures to apply in Scene View sometimes showing errors and displaying progress bar that never closes.
· Fixed Esc not clearing search field on Mac in Object Picker.
· Fixed GameObject static dropdown not marking "Nothing" as selected when no flags were selected.
· Fixed handling of unicode characters in scripts. Scripts should have utf-8 encoding.
· Fixed many Handle controls not respecting Handles.matrix.
· Fixed mouse cursor sometimes flickering garbage on Windows.
· Fixed not being able to assign characters like ' , . / ` ] [ = as editor shortcuts on Windows.
· Fixed null reference exception in project pane when displaying filtered results that return no hits and pressing up arrow key.
· Fixed null reference exception when dragging sub-asset to the root of Project View.
· Fixed Object Picker not focusing search field when being opened.
· Fixed opening editor preferences when no inspector is open.
· Fixed precision loss when viewing or editing large integers in the GUI.
· Fixed repaint issue that made the Editor on Windows seem to have poor performance when mouse dragging gui components or scene view handles.
· Fixed SceneView not resetting Handles.matrix if it was changed in an OnSceneGUI callback.
· Fixed a bug where lists of enums were not editable in the inspector.
· Fixed Animation View leaking materials when saving, while animation edit mode is active.
· Editor: Fixed assert "vertexCount > 60000" when using colliders with polygon count over 10000.
· Fixed crash when resizing arrays in the inspector.
· Fixed crash when trying to import mesh, which contains polygons, which have less than 3 vertices.
· Fixed drop-down menus on Windows so they no longer overlap with the GUI control.
· Fixed material import from COLLADA files.
· Fixed memory problem when committing a lot of assets in the Asset Server window.
· Fixed null ref when exporting a package.
· Fixed out of memory crash when importing huge cube maps.
· Fixed problem setting custom fields in webtemplates (they'd disappear as soon as focus left the field).
· Fixed regression where import mode for normals and tangents on models where ignored, when upgrading from 3.4 to 3.5
· Editor: Fixed reversing of triangle culling in some imported models (that used to happen in some very special cases).
· Fixed some situations where the scene view mode could get stuck.
· Fixed texture detection for imported materials when FBX contains mixed slashes in texture file paths.
· Fixed Warning when saving a scene to a new folder created from the Save dialog.
· Fixed terrain trees permanently being hidden when right clicking while left-dragging to paint height.
· Fixed crash when closing Editor Window in OnFocus.
· Fixed that Unity sometimes fails to recompile changed scripts or notice changed assets when leaving Unity while its unresponsive (Windows).
· Focusing on a particle system will now respect the bounds of the system properly.
· GetMiniThumbnail returns proper icons for DefaultAssets.
· Icons for unknown asset types are now cached, prevents out-of-memory crash if there are a lot of unknown assets in a project.
· Improved interaction with Visual Studio 2010.
· Installer on Windows now has a large icon.
· Made 3DS file loader more robust - Unity handles invalid files better now.
· Make ProceduralTextureInspector and ProceduralMaterialInspector partially support multi-object editing (multi-editing procedural properties is not supported).
· Make ProceduralTextureInspector repaint until not regenerating anymore.
· Made sure EditorGUI controls respect indent level consistently and fixed some rarely used overloads that ignored some of the given parameters.
· Multiple project windows don't share search string.
· Got rid of white 1-px outlines on OSX Lion.
· On OSX don't allow saving files with special characters in save file dialogs.
· On OSX don't make "error" sounds when navigating object browser using keyboard.
· On Windows, don't open new explorer window every time the player is build.
· Resolve intermittent hangs.
· Scene View controls no longer freezes when using left mouse button on scene view handles while right mouse button is pressed down.
· Setting TextureImporter.textureType now sets all the required properties.
· Use significantly less memory in most cases when generating a cubemap from a very high-resolution source image to make out-of-memory crashes less likely.
· Windows Editor menus support Unicode characters.
· You can now slide values with sliders by dragging the label (same as float fields).
· (Windows) Build Settings will not open after Cancel.
· (Windows) Asset progress bar & build progress steals focus from other applications on windows.
· Will now give a proper error when trying to import a movie with unsupported codecs.
· Checked for scene camera rotation of NaN and fixed it.
· Drastically reduce Scene View grid artifacts that caused it to be imprecise.
· Fixed issue where editor would hang if left in background.
· Child's scale is updated correctly when rotating with Inspector or Rotation Tool (when parent is non-uniformly scaled).
· Deleting the root game object in OnPostProcessModel will no longer crash Unity.
· Importing FBX models with bad texture references like "." and ".." no longer crashes Unity.
· Upgrading a 3.4.x projects with Modo files will now retain ids for meshes, meaning that references to meshes are not lost. References to subgameobjects will still be lost.
· (Windows) Fixed common random crash.
· Fixed crash when calling SetActiveRecursively within Awake.
· Fixed intermittent "Moving file failed" error when building player.
· Fixed error when attempting to edit deleted terrain.
· Advanced texture importer now correctly reflects internal texture import modes (For example no linear option for normal map textures).
· Setting color preferences now has an instant effect on the editor.
· Fixed that Unity does not refresh scripts when giving Unity focus by clicking on child windows.
Graphics:
· Beast will no longer fail bakes on OSX if Unity installation path contains non-alphanumerical symbols.
· Beast will no longer fail bakes on degenerate meshes, like bushes composed completely of billboarded leaves.
· Compute correct tangents for non-uniformly scaled static meshes.
· Enforce linear lighting status on hardware that does not support it.
· Fixed broken values for builtin arrays when only 0th element was used (e.g. unity_LightPosition[0]).
· Fixed issue related to deferred rendering when no lights are present and you are using HDR.
· Fixed Particles/Alpha Blend shader turning black when in Fog.
· Fixed pow() sometimes being mis-compiled for Direct3D 9.
· Fixed Preview lighting on uniformly scaled meshes in GameObjects.
· Fixed shadow caster culling for asymmetric view frustums.
· Fixes and improvements to HLSL->GLSL translator and GLSL Optimizer.
· Flares without a texture assigned don't crash the editor anymore.
· Texture2D.Compress prints proper error message when texture is not marked as readable (previously was silently filling texture with garbage when not in editor).
· Fixed incorrect rendering order when using transparent shader with ParticleRenderer and MeshRenderer.
· Fixed error message when setting null texture on a GUITexture.
· Fixed more than one directional light shadow (via "fullfowardshadows") not working in Forward rendering if Image Effects are used.
· Tweaked RGBM lightmap encoding, so that there are no brighter lines appearing in dark areas when bilinear filtering is used. Makes a huge difference in linear lighting mode, since dark values get relatively much brighter.
· Lightmapping: "Use in forward rend." is only respected in Dual Lightmaps mode as the GUI suggests.
· Lightmapping: Fixed clearing lightmaps -- it resets lightmap index, tiling and offset on all renderers.
· Lightmapping: Made light be culled below horizon for specular bounces when shadows are disabled. Fixes a case where a face pointing away from light would bounce light in that direction.
· Lightmapping: Use alpha from the base texture (_MainTex) as the gloss map.
· Lightmapping: Got rid of self-shadowing artifacts in small scenes placed far away from the origin (0,0,0).
iOS:
· Fixed appending of Xcode project when automatic native plugin inclusion is used.
· Fixed Editor freeze when Remote Profiler is connecting to iPhone running iOS 5.0.
· Fixed horizontal splash screen image pre-rotation to vertical orientation.
· Fixed Mathf.Approximately and other math routines operating on de-normalized small numbers.
· Fixed numerous iOS5 related problems (GL errors, keyboard, etc.).
· Fixed Remote Profiler support.
· Fixed simulator build when project has native plugins.
· Fixed small memory leak.
· Fixed some scary warnings in Xcode debugger console.
· Fixed splashscreen pre-rotation when autorotation is enabled.
· Fixed WebCamTexture.GetPixels.
· icon-iPad.png renamed to icon-72.png.
· SystemInfo.systemMemorySize returns correct memory size, SystemInfo.graphicsMemorySize is now estimated based on total memory size.
· SystemLanguage handling overhaul - now region is correctly recognized (e.g. British English will result in English instead of Unknown).
· Improved .NET 2.0 full profile out of the box compatibility with WebRequest API. Managed code stripping still needs manual care.
Javascript:
· Fixed bug that would cause a for loop not to reuse an already declared variable.
· Fixed multidimensional array of struct operations.
· Script attributes can now appear before 'import' statements.
Mac OS X:
· Mac OS X Editor: Properly recognize user setting to launch Editor in a specific Space/Desktop.
· Mac OS X Standalone: Fixed mouse down events being reported for clicks on window title bar.
· Mac OS X Standalone: Will not show window restore dialog and crash in OS X Lion.
· Mac OS X Standalone: Don't quit, if cancel button was pressed during Quit dialog in windowed mode.
· Mac OS X Web Player: Fixed a crash in Firefox 6 when loading Unity content in a background tab.
· Mac OS X Web Player: Fixed a crash in Firefox 7 when resizing Unity content.
· Mac OS X Web Player: Fixed scroll wheel events in full-screen mode in CoreAnimation plugin.
· Mac OS X Web Player: IME input is now recognized in the OS X WebPlayer.
· Mac OS X Web Player: Input.inputString will correctly contain backspace and delete characters.
· Mac OS X Web Player: Make mouse input handling more robust. Fixes Magic Trackpad support in Safari 5.1.
· Mac OS X: Fixed input from some gamepad hat switches.
· Mac OS X: Fixed distinguishing between left and right modifier keys in the Input class.
· Mac OS X: SystemInfo now returns actual device information.
· Mac Web Player: Fixed different rendering issues when using image effects.
Windows:
· Windows 64-bit standalone: Fixed setting executable icon.
· Windows Fixed skinned meshes disappearing temporarily when returning from sleep mode or from locking computer.
· Windows Web Player: Fixed occasionally corrupted graphics when locking computer or switching resolution during loading.
· Windows: Focus is not lost when Web Player enters or exits fullscreen mode.
· Windows: Joystick 0 now returns correct cumulative axes values.
Physics:
· Collider.bounds will now alway return empty bounds for disabled colliders (before it was inconsistent by collider type).Fixed behavior of rotated capsule colliders when continuous collision detection is used.
· Fixed CCD not working in first level of a game.
· Fixed crash when disabling a CharacterController inside a CharacterController callback.
· Fixed slow duplicate creation of colliders when using GameObject.SetActiveRecursively().
· Physics contact count is now correctly reported in the Profiler, and will not appear to increment indefinitely.
· Removed "Solver rigidbodies" field in physics profiler, as it did not do anything.
· Fixed a crash when creating a Terrain with too many Tree colliders.
Miscellaneous:
· Asset Server: Fixed a bug that caused a crash when reverting a project setting to an older version in the Asset Server history view.
· Asset Server: Local project settings no longer show up as conflicts when checking out new projects.
· AssetBundles: Fixed AssetBundle.mainAsset loading all dependencies of the mainAsset.
· AssetBundles: Fixed a crash sometimes caused by simultaneously downloading multiple asset bundles with caching enabled.
· Asset Import: Fixed crash when selecting asset with name including ".."
· Asset Import: Fixed an issue causing animations including scaling to (0,0,0) to be imported as having extremely large bounding boxes, which in turn caused issues with shadows and culling.
· AssetStore: Fixed crash when exiting Unity or switching projects while the Asset Store window was loading a page.
· Execution order for prefabs is now 100% consistent. It works exactly the same as having non-prefab objects (Removes superfluos OnDisable / OnEnable calls).
· Fixed a synchronization issue between Renderthread and GPU. This has fixed the stuttering and reduced the input lag.
· Fixed an issue that caused the editor to freeze if left in the background with the profiler open.
· Fixed AsyncOperation.progress to properly indicate loading progress.
· Fixed font kerning when using GUIStyle.fontSize.
· Fixed path names for Cache and Application.persistentDataPath not to be garbled up. If old path names are present, they will still be used.
· Made Assembly.Location return actual location of the assembly and not "data-09340sdf9gsd0fg".
· Made FindObjectsOfType not return Cubemaps when searching for Texture2D.
· MonoDevelop: Fixed unhandled exception when attaching debugger.
· MonoDevelop: More robust script encoding detection.
· MonoDevelop: Don't open script projects twice.
· MonoDevelop: Ensure selected script gains focus.
· Networking: Fixed case where NetworkView state synchronization was not relayed properly through a proxy connection.
· Networking: Fixed cases where connection tester failed to return a result.
· Networking: Fixed crash when reading NetworkPlayer.guid when networking was not initialized.
· Networking: Fixed possible crash when reading NetworkMessageInfo.networkView inside OnNetworkInstantiate.
· Networking: Fixed problems with built-in multiplayer networking on Windows when using VPN/proxy software which manipulates traffic coming from the browser. DNS and interface IP address lookup are now done differently.
· Occlusion culling: Fixed several out of memory issues, made many occlusion accuracy improvements.
· Profiler: GPU profiler now shows better info on image effects.
· Profiler: More reliable player connection discovery.
· Profiler: Not sending instance Ids back, since these don't match the instance Ids of the editor - caused detail view to display wrong instance names.
· Script: Fixed crash when reparenting GameObjects durring Scene Destroy.
· Substance: Fixed crash after modification(resizing and etc.) of texture parameters.
· We no longer get send multiple mousedown / mouse up while hovering over an object.
· WebPlayer and Standalone: Return correct Event.delta value on Windows.
· WebPlayer: Fixed memory leak on windows when unloading.
· WebPlayer: Reduced visual artifacts produced when WebPlayer size is changed on Windows.
Changes:
· Added KeyCode enum values for Joystick 4.
· Android/iOS: The Android Target Graphics setting is not linked to the iOS Target Platform setting anymore.
Android:
· Attached names to the native threads for easier debugging.
· Changed labeling of Force Internet Permission to Internet Access (Auto / Require).
· Changed labeling of Force SD-Card Permission to Write Access (Internal Only / External (SDCard)).
· Development builds now have extended logging also from the Java side.
· Editor requires at least API level 14 to build Android applications. It is still possible to target earlier platforms.
· Force debug.checkjni property when launching development builds (to prevent incorrect JNI calls from plugins).
· Keep the LVL code from outputting errors if it's not used anyway.
· Restructured parts of the Java code found in classes.jar.
· The Emulator device filter was removed, as the Android Virtual Device (with SDK-r14) now supports ARMv6/ARMv7 binaries.
· The splash image is now decoded as 32bit texture (rather than 16bit).
· The Texture Compression Override option in the Build Settings menu has been changed to affect all textures using a compressed texture format.
· To save memory when streaming AssetBundles, the number of compressed buffers in flight has been reduced.
· Traded some temporary memory (240KB, in the scene loader) for an on-average massive load speedup with projects having really bad load times.
Editor:
· Added optional saveAsCopy parameter to EditorApplication.SaveScene to allow saving the scene without changing what is the current scene.
· Asset Path names starting with a space character are now no longer allowed.
· Migrated direct Blender to Unity import from Blender 2.56 to Blender 2.58. Implemented support for Blender 2.59 as well.
· OnSceneGUI is now called on all selected objects with custom editors, not only editors visible in the inspector.
· The Editor will no longer allow creation or import of Assets with file names which are not legal on either Windows or OS X.
· Undo while dragging never worked correctly and is now disabled. Note: Most dragging operations allow you to press Esc to cancel, which can be used instead.
iOS:
· Added 5.0 SDK selection in PlayerSettings.
· Added iPhone4S generation for iPhone.generation.
· Added warning when compressed texture is used as icon or splash screen.
· Changing target devices does not require to overwrite Xcode project anymore.
· Screen.dpi implemented.
Miscellaneous:
· Mac OS X Standalone: Moved Cache file location to ~/Library/Caches/bundleID for Mac App Store compliance.
· Mac OS X: Use OS events for more reliable mouse wheel input. Should now work with all devices which work with the OS, but only work when mouse cursor is over the window.
· Removed support for OS X Dashboard builds.
· Removed support for OS X PowerPC builds.
· Removed support for Unitron and UniSciTE.
· Stripping: Now 3rd party dlls aren't treated as managed code stripping roots. Improves build size, but might require extra care with libraries that use reflection and generics a lot.
· Windows Web Player: If no graphics drivers are installed at all, Unity will not try to run the game using the really bad Windows' OpenGL 1.1 renderer; an error message will be displayed to the user instead.
· WWW: charset property is now honored by the WWW.text attribute.
· WWW: Made HTTP errors be reported in www.error string.
· WWW: Made HTTP headers be set appropriately even when errors occur. Added the HTTP status code to the header list under the "STATUS" key.
What's new in Unity 3.5.0f1:
February 4th, 2012Features:
· Editor: Texture Importer for pvrtc-enabled platforms allows to select compression quality.
· Flash: Implement Camera.layerCullDistances & Camera.allCameras.
· Flash: Support Nullable types.
· Flash: Tight ActionScript integration. See UnityEngine.Flash.ActionScript.
Improvements:
· Asset Server: Projects can now be copied in the admin view.
· AssetImport: Texture importing now uses a lot less temporary memory.
· Editor API: Expose GetIconSize and SetIconSize.
· Flash: Added Physics stripping checkbox for smaller build size.
· Flash: Faster build times.
· Flash: More optimized bytecode.
· Flash: System.Delegate.DynamicInvoke.
· Flash: System.Delegate arrays and generic containers.
· Flash: Proper support for multidimensional arrays of primitives and value types.
· Flash: Initial support for int.Parse(string, NumberStyles).
· Flash: Support for enum fields named after ActionScript builtin types (Object, String, Array).
· Flash: sbyte mapped to int and decimal to Number (use with care).
· Flash: Better support for generic member inheritance and overriding in complex type hierarchies.
Flash: Improved .Net Class Library Support. Amongst which:
· String.EndsWith()
· Dictionary.Keys.Count
· Convert.ToInt32(char)
· Convert.ToInt32(string)
· Convert.ToChar(int)
· string.Trim(char[])
· List(IEnumerable) constructor
· Dictionary.Keys.CopyTo()
· Dictionary.Keys.Contains(K)
· StringBuilder.Append()
· Dictionary.Count
· List.RemoveRange(int,int)
· most of Stack
· String.Equals(string,string)
· String.SubString()
· String.Compare(string,int,string,int,int)
· ArrayList.Sort(IComparer)
· Char.IsPunctuation
· +probably some we overlooked.
· Flash: physics performance improvements.
· Flash: better support for explicit interface implementations.
· Flash: support for unboxing of enums.
· Flash: better error reporting of unsupported features including offending source file location whenever possible.
· Flash: System.Object.Equals(Object) support for primitive types.
· Flash: VertexLit shaders support emissive color & specular lighting.
· Javascript: @script attribute declarations can now appear before 'import'.
· Javascript: Files containing interface and/or enum definitions named after them are now supported (e.g. interface IFoo in file IFoo.js) as the compiler will no longer generate a conflicting MonoBehaviour definition.
· ModelImport: Warnings about quaternions now contains the name of the model and can in most cases be clicked to highlight the model in the project view.
· Native Client: Now supports different resolutions then the native desktop resolutions in fullscreen mode. The screen mode will not actually changed, but it will render into smaller buffers, and Chrome will upscale when blitting.
· NavMesh: Bake configuration of inaccuracy threshold for radius/height exposed.
· NavMesh: API Exposed : NavMeshAgent.CalculatePath() added.
· NavMesh: API Exposed : OffMeshLink.costOverride - allows changing patfinding cost on OffMeshLinks.
· NavMesh: API Exposed : NavMeshAgent.steeringTarget, NavMeshAgent.desiredVelocity, NavMeshAgent.path (get/set).
· NavMesh: Baking supports trees instanced in terrains.
· Runtime: Improve QualitySettings API.
· Unwrap: All known cases of mac/win uv generation were fixed. Please reimport your meshes.
· Web Player: If the embedding page or unity3d file is hosted on https, the web player will use https for all connections (update checks and downloads), so the browser will not show warnings about insecure connections.
Fixes:
· Android: Callbacks to MonoBehaviour.OnApplicationFocus is now supported.
· Android: Added support for Galaxy Note Stylus Pen (through KeyCode.LeftControl and KeyCode.Delete).
· Android: VFY warnings when launching an application on devices with an older OS version has been removed.
· Android: Nvidia's PerfHUD for Tegra reported increasing frame times when the application was paused.
· Android: A few hardware keys were missing, like (forward) DELETE and left/right CTRL - these have now been added.
· Android: fixed crash upon the end of microphone recording
· Android: fixed crash on pre Gingerbread devices while starting up
· Android Remote: fixed flickering and improved stability on tablets.
· Asset Importing: Fixed an issue causing animations including scaling to (0,0,0) to be imported as having extremely large bounding boxes, which in turn caused issues with shadows and culling.
· Asset Server: Local project settings no longer show up as conflicts when checking out new projects.
· Asset Server: Fixed a problem where changes to project settings were not always fetched from the server.
· Asset Server: Models that require an external program to import will again work without having to install the program on all clients.
· AssetBundles: Fixed a crash sometimes caused by simultaneously downloading multiple asset bundles with caching enabled.
· Audio: Custom filters now respect 3D panning (use PanLevel to make it 2D)
· Audio: Importer now uses way less memory, and handles out-of-memory errors gracefully.
· Audio: Crash fix when recompiling while playing a custom filter.
· Audio: Fix dry/wet group asserts.
· Audio: Importing 0-length audio clips, don't crash anymore.
· Audio: GetData() on an AudioClip recorded with Microphone is now working.
· Cache Server: Updated to node.js 0.6.6
· Cache Server: Fix LRU implementation
· Cache Server: Will now invoke LRU to make space when running out of disk space.
· Editor: Fix intermittent "Moving file failed" error when building player.
· Editor: Fix error when attempting to edit deleted terrain.
· Editor: Advanced texture importer now correctly reflects internal texture import modes (For example no linear option for normal map textures).
· Editor: Setting color preferences now has an instant effect on the editor.
· Editor: Crashes caused by having modified assets and then pressing play
· Editor: Make dragging things into the Inspector work correctly with multi-object editing.
· Editor: Make Materials instantiated at runtime be shown with correct headers in the Inspector.
· Editor: Fix some clipped labels in GameObject inspector header when bolded.
· Editor: Use single-threaded rendering on Windows XP due to hangs when changing input language.
· Editor: Only display the navmesh gizmo when the navigation window is open.
· Editor: Fix the LOD bounding box visualization.
· Editor: Fix bug where texture max sizes were set to 0 when multi-editing textures and enabling overwriting settings for a platform.
· Editor: Fix bug where changing layout would generate an error when a docked Preview window was present.
· Editor: Fix missing documentation link icons in the Editor.
· Editor: Choosing "Edit Script" from the context menu of a MonoBehaviour when multiple objects are selected will now only open the script once.
· Editor: Dragging a script into the Inspector when multiple objects are selected will now attach it to all the objects instead of only one.
· Editor: "Build Settings" window disappears when focus is lost and does not reappear when focus is gained.
· Editor: Undo functionality is lost when mouse cursor leaves scene view area.
· Editor: Yaml format now stores floating point values in a binary exact way.
· Editor: Cache server now works correctly with @ model files.
· Editor: Imported models with Skinned Rigs in root nodes automatically generate an extra root game object. This makes importing animations without a model easier and fixes a common issue when importing animations made with Mixamo.
· Editor: (Windows) Build Settings will not open after Cancel
· Editor: (Windows) Asset progress bar & build progress steals focus from other applications on windows
· Editor: Will now give a proper error when trying to import a movie with unsupported codecs.
· Editor: Check for scene camera rotation of NaN and fix it.
· Editor: Drastically reduce Scene View grid artifacts that caused it to be imprecise.
· Editor: Fixed issue where editor would hang if left in background
· Editor: Child's scale is updated correctly when rotating with Inspector or Rotation Tool (when parent is non-uniformly scaled).
· Editor: Deleting the root game object in OnPostProcessModel will no longer crash Unity
· Editor: Importing FBX models with bad texture references like "." and ".." no longer crashes Unity
· Editor: Upgrading a 3.4.x projects with Modo files will now retain ids for meshes, meaning that references to meshes are not lost. References to subgameobjects will still be lost.
· Editor: (Windows) Fixed common random crash.
· Editor: Fixed crash when calling SetActiveRecursively within Awake.
· Editor: Make NavMeshAgent use gizmo for shape that's consistent with CapsuleCollider and CharacterController.
· Editor: Make asset labels work again for scenes and other default assets.
· Editor: Show materials of ParticleSystemRenderer in the Inspector.
· Editor: On Windows: Build Settings will not open after Cancel.
· Editor: Undo does not work when dragging (Win issue only)
· Editor: Import package failed to detect modified contents.
· Editor: Fixed-function alpha testing is disabled correctly when emulating gles20.
· Editor: Fix performance of Gizmos.DrawIcon.
· Editor: Hide camera on LOD Group prefab.
· Editor: Fix situation where light probe editing can lock the scene.
· Editor: Fixed movie playback in inspector.
· Editor: Make arrow navigation work for Object Picker grid / list even when search field has focus, like in 3.4.
· Flash: Fix issues with cubemap and lightmap texture importer.
· Flash: Make MouseEnter & friend callbacks work for colliders and gui elements
· Flash: support bool ^ bool construct
· Flash: fix crash when using public arrays of arrays
· Flash: fix crash when using public array of booleans
· Flash: make calling Desroy() on a Monobehaviour work
· Flash: Fix audio playing as loud whitenoise in many cases
· Flash: calling .ToString() on an interface
· Flash: fix GUIText components with fontsize!=0 spewing the logfile with neverending errormessages
· Flash: many improvements to support for nontrivial usages of interfaces.
· Flash: fix "bool && bool && bool" construct
· Flash: fix crashes on character controller hits
· Flash: fix physics "out of range" errors.
· Flash: fix audio; pan, mute, pause, stop
· Flash: fix audio; report correct time.
· Flash: fix swf, now has correct width and height in header.
· Flash: fix Application.targetFrameRate
· Flash: fix QualitySettings.antiAliasing
· Flash: fix Application.ExternalCall now works with arguments
· Flash: fix key inputs space, shift, control individual keycode
· Flash: add mousewheel support, not available on mac
· Fixed substance import issues with input textures.
· Graphics: Fixed error message when setting null texture on a GUITexture.
· Graphics: Fixed more than one directional light shadow (via "fullfowardshadows") not working in Forward rendering if Image Effects are used.
· Graphics: Tweaked RGBM lightmap encoding, so that there are no brighter lines appearing in dark areas when bilinear filtering is used. Makes a huge difference in linear lighting mode, since dark values get relatively much brighter.
· Graphics: Fixed SSAO not being anti-aliased when AA is used.
· Graphics: Fixed error: "D3D device reset failed [invalid call]".
· Graphics: Detect broken GPU profiling on certain drivers on Mac.
· Graphics: Made shader compiler generate proper code when the surface function wanted view direction and didn't write to o.Normal.
· Graphics: Fixed incorrect rendering order when using transparent shader with ParticleRenderer and MeshRenderer.
· Graphics: Fix non-uniformly scaled meshes getting wrong vertex colors on Windows.
· Graphics: Fix a potential crash bug with multithreaded rendering.
· Graphics: Fix performance regressions with dynamic/static batching in multithreaded renderer vs. single thread.
· iOS: Fixed an "Input.mousePosition on mouse up" regression.
· iOS: Fixed player logging disabled ignored on iOS and Android when player logging is disabled for OS X.
· iOS: Improved .NET 2.0 full profile out of the box compatibility with WebRequest API. Managed code stripping still needs manual care.
· iOS: Fixed AudioClip managed callback stripping issue.
· iOS: Fixed issue causing ARMv6 device reboots.
· iOS/Android: Fixed batching/skinning issues due to meshes being in interleaved format right away
· gles11 skinning crash when mesh have tangents
· missing uv2 channel causing graphics artefacts and/or crashes
· batching crashing when shader wants not exactly same components as mesh provides
· Lightmapping: Use alpha from the base texture (_MainTex) as the gloss map.
· Lightmapping: Got rid of self-shadowing artifacts in small scenes placed far away from the origin (0,0,0).
· Lightmapper: Fixed a crash occurring when light probes were baked, all probes from the light probe groups removed and then probes baked again. (You need to re-bake or delete the light probe asset if you experienced the crashes.)
· Lightmapper: No longer crashes trying to lightmap meshes without normals.
· Lightmapper: Fixed the issue with terrains taking a long time to export when in linear space.
· Mac OS X Standalone: Make sure mouse cursor is visible when showing Quit confirmation alert.
· Mac OS X Standalone: Will not show window restore dialog and crash in OS X Lion.
· Mac OS X Standalone: don't quit, if cancel button was pressed during Quit dialog in windowed mode
· MonoDevelop: Ensure selected script gains focus.
· MonoDevelop: Don't open script projects twice.
· MonoDevelop: Fix a code completion database corruption issue.
· Native Client: HTTP POST now works (for real this time).
· Native Client: Building to pathnames with a period now works correctly.
· Native Client: WWW.responseHeaders now works in NaCl.
· Native Client: WWW will now work for any host which has allowed this using the Access-Control-Allow-Origin: header.
· Native Client: HTTP POST and custom HTTP headers now work using WWW class.
· Native Client: Build & Run now works if there is a space in the path name.
· Native Client: Icons in Web Player player settings will now be correctly used for NaCl builds.
· Native Client: PlayerPrefs will now work if setting multiple preferences in one frame.
· Native Client: Backspace will now work in text fields.
· Native Client: Input axes assigned to the mouse wheel input will now work correctly.
· NavMesh: Fixed problem where positions in terrains would sometimes be inaccessible. Rebaking NavMesh is necessary for this to take effect.
· NavMesh: When NavMeshAgent avoidance type is set to None - that agent will ignore collisions with other agents.
· NavMesh: Fixed issue where stopping agents would not get a new path.
· NavMesh: Fixed performance problem in avoidance system when agents have high speeds.
· NavMesh: Fixed crash when changing bake settings at runtime.
· NavMesh: Fixed crash on out if memory when baking NavMesh.
· Networking: Fixed problems with built-in multiplayer networking on Windows when using VPN/proxy software which manipulates traffic coming from the browser. DNS and interface IP address lookup are now done differently.
· Occlusion culling: Fixed several out of memory issues, many occlusion accuracy improvements.
· OS X Web Player: Fixed development Web Player to work on OS X 10.5.
· Physics: Make Skinned Cloth work again.
· Physics: Fixed a crash when creating a Terrain with too many Tree colliders.
· Physics: CharacterController will now correctly focus in the scene view.
· Prefabs: Fixed issue where floating point values were not accurately represented in prefabs and infinity was not supported.
· Remote Profiler: Not sending instance Ids back, since these don't match the instance Ids of the editor - caused detail view to display wrong instance names.
· Rendering: Fixed the issue with dynamic objects using light probes not getting direct light from auto lights in dual lightmaps mode (both in deferred and in forward rendering paths).
· Shuriken: Fix issue where deactivated particle systems would remain frozen on screen after reactivation.
· Shuriken: Scrubbing sensitivity is increased.
· Shuriken: Sub emits are no longer identical in edit mode.
· Shuriken: Fix issue where identical particle systems would emit identically (as opposed to randomly).
· Shuriken: Shuriken Start Delay fixed.
· Shuriken: Tooltips shown through the Particle System Curve Editor fixed.
· Shuriken: Made it easier to search for 'Particle System' and 'Shuriken' in the scripting reference.
· Shuriken: Shape gizmos disappear when saving scene fixed.
· Shuriken: Wrong curves displayed in "Limit velocity over Lifetime" fixed.
· Shuriken: Emitter scaling has been removed.
· Shuriken: Sub-emitters no longer behave differently in Simulate and Play mode.
· Shuriken: Random Between Two Constants added to MinMaxCurve.
· Shuriken: Fix that new prefab of particle system have play called.
· Shuriken: Fix that particleEffectWindow have allocated UI when not showing.
· Shuriken: Fix scene view gui not rendered when hiearachy changes.
· Shuriken: Fix various CollisionModule issues.
· Shuriken: Removed objectReference when removing collision plane transform reference.
· Shuriken: Fix the issue with the color picker auto-closing when being opened from the gradient editor
· Shuriken: Make sure gameview and scene view are repainted after clearing particle system.
· Shuriken: Curves are removed from the curve editor when selecting a new particle system in the inspector
· Shuriken: Show all modules by default (also disabled modules)
· Shuriken: Particles are kept and rendered paused when deselected.
· Shuriken: Rearranged modules
· Shuriken: Renamed 'Energy' to 'Lifetime'
· Shuriken: Fix that removed modules would be shown after restart of Unity
· Shuriken: Rename: 'Lock to Transform' to 'Simulation Space'
· Shuriken: Disable remove menu item when Show All Modules is enabled
· Shuriken: Fix copy paste of MinMaxCurve to include curve scalar
· Shuriken: Renamed API 'Prewarm' to 'Simulate' (Fastforwards the particle system by simulating particles over given period of time, then pauses it.)
· Shuriken: Show other particle icons when a particle system is playing
· Shuriken: Allow removal of ParticleSystemRenderer module when Show All Modules is enabled
· Shuriken: Always play a particle system when its initialized
· Shuriken: Larger click area for module enable button
· Shuriken: Resimulate and Wireframe toggles now shown in ParticleSystemInspector
· Shuriken: Removed context menu for Wireframe (now shown in inspector)
· Shuriken: New color for Shape gizmos
· Shuriken: GradientEditor: Input field for key location
· Shuriken: ParticleSystemRenderer: When changing to Mesh rendermode, set Cube.fbx as default mesh
· Shuriken: Fix that it is not allowed to create particle system on a Prefab
· Shuriken: Added Show Location of ParticleSystem to context menu of Particle System.
· Shuriken: Fixed that Undo didn't work when deleting a module.
· Shuriken: Particle systems no longer evaluated when paused.
· Shuriken: Velocity over Lifetime and Force over Lifetime module curves now have separate random values for x, y and z.
· Shuriken: Fixed issue where in some setups particles would not move smoothly.
· Shuriken: Particle systems now get correct default values also when created from the Add Component menu.
· Shuriken: Particle meshes now have tangents.
· Shuriken: Rotation over lifetime and Rotation by speed no longer override each other (they are additive).
· Shuriken: Particle emission no longer show visible patterns.
· Shuriken: Particles now rotate with the particle system if Lock to transform is enabled.
· Social API: Fixed crash when loading friends list or user lists
· Substance: Fixed several Substance 3.4 regressions.
· Text mode serialization now uses more precise floating point representation for lossless encoding.
· WWW class now won't treat redirect responses (302, etc) as errors.
Changes:
· Cache Server: Will now by default write cache to current working directory, and not to some location in user folders.
· Cache Server: Added --path command line option to set cache location.
· Cache Server: Added --size command line option to set maximum cache size in bytes.
· iOS/Android: Android Target Graphics setting is not bundled with iOS Target Platform setting anymore.
· License: Generic external version control (.meta files) are now available in the free version.
· Lightmapper: Inspector for LightProbes.asset no longer gives access to all the data and displays the probe count instead. Debug inspector allows only for editing the coefficients.
· Native Client: Added Physics stripping checkbox for smaller build size.
· NavMesh: API Changed : NavMeshAgent.DistanceToEdge() renamed to NavMeshAgent.FindClosestEdge().
· NavMesh: API Changed : NavMesh.SamplePosition : reversed arguments for maxDistance, acceptMask (to be consistent with physics).
· NavMesh: API Changed : NavMeshAgent.GetCurrentOffMeshLinkGameObject() and NavMeshAgent.GetCurrentOffMeshLinkData() are replaced with: NavMeshAgent.currentOffMeshLink and OffMeshLinkData.offMeshLink.
· NavMesh: NavMeshAgent radius, height and baseOffset are scaled by transform scale values (consistent with CharacterController). Adding component to gameObject sets appropriate NavMeshAgent dimensions.
· NavMesh: Better handling of assigning invalid values to NavMeshAgent properties (speed, acceleration etc.)
· NavMesh: Default settings changed for baking NavMesh and NavMeshAgent radius=0.5 height=2.0.
· NavMesh: Bake configuration of tile edge length removed.
· Shuriken: Added tool tips to all properties and module headers.
· Shuriken: Added ParticleSystem.IsAlive() function to API which can be used to find out if particle system (or any of its children) are alive.
· Shuriken: Added local space option to Force over lifetime module.
· Shuriken: Added Min Kill Velocity to Collision module.
· Shuriken: Renamed elements in API: ParticleSystem.Particle: energy now called lifetime and startEnergy now called startLifetime.
· Shuriken: Renamed ParticleSystem.startEnergy to ParticleSystem.startLifetime.
· Shuriken: Dampen in Collision Module is now inverted (consistency with limit velocity module).
· Social API: Added a LoadUsers function for fetching user profiles for given user IDs.
· Social API: Refactored all classes into a UnityEngine.SocialPlatform namespace, except for the main Social class itself. You now need to use/import the SocialPlatform namespace to use Achievement/Score/etc classes (and they all now derive from interfaces). Implementations (like GameCenter) are placed into their own namespace as well but you only need to use/import them if you need functionality, provided by the implementation, which is not in the generic Social API.
· Social API: Renamed UnityEngine.SocialPlatform to UnityEngine.SocialPlatforms, and GameCenter class to GameCenterPlatform.
· Social API: Corrected various inconsistencies in API names (like Score.playerID instead of Score.UserID)
· Social API: Added GameCenterPlatform.* functions for resetting achievements and for showing the default completion banner (iOS 5.0+)
· Social API: Added factories for leaderboards and achievements
What's new in Unity 3.5.0 Beta 6:
December 28th, 2011Major New Features:
· Adobe Flash: This Public Preview version of 3.5 support publishing to Adobe SWF format, otherwise known as Flash Export: A separate FAQ for this preview release is available at http://unity3d.com/preview/faq.
· Built-in LOD management via LOD Groups.
· Lightmap baking works for LODed models. The lightmapped objects uses a surface transfer algorithm similar to normal map baking.
· Built-in HDR support and adaptive tonemapping.
New Particle System - "Shuriken":
· Edit, view and playback control in Edit Mode. You can manually scrub time to inspect and fine tune the particle system using the Scene View playback controls.
· Module based: Each particle system has several modules that can be enabled to control color, size and movement of particles.
· Compose several particle systems in a hierarchy and playback of them will behave as one particle system.
· Built-in curve editor for easy curve editting.
Pathfinding and avoidance sub-system added:
· NavMesh: Path-finding API. Bake navigation mesh with markup areas.
· NavMeshAgent: Character navigation. Avoidance system.
Occlusion Culling has been rewritten from scratch, it is much faster to compute and never incorrect:
· OcclusionPortal component has been added to allow for doors that can be opened and closed at runtime.
· Terrains works well with occlusion culling now.
· Default mode for occlusion culling is automatic portal generation, which is very accurate and works very well for dynamic objects.
· Support for Occludee Static. This is used to mark objects as statically occludablable but not be an occluder. For example transparent objects that don't move should be marked as Occludee Static.
Asset Cache server:
· Assets imports are shared between project folders and users. Switching Platform takes minutes instead of hours on large scale projects. Grabbing changes from other team members is almost instant.
Gamma-correct rendering option:
· Multithreaded rendering.
· Most of rendering & driver overhead is put onto another CPU core on multicore systems.
· You don't have to do anything, it just works!
· Currently only on desktops & Xbox 360; and not in the web player yet.
· Unity for Google Native Client.
· Light Probes, which allow for using baked lighting on characters and other dynamic objects.
· Directional Lightmaps support.
· It is now possible to select and edit multiple objects simultaneously with the Inspector!
· The Inspector preview supports showing the multiple selected objects.
· Multi-editing can be enabled for custom editors with a single line of code if they are based on using SerializedProperty.
· Text based scene and prefab format can be used for improving team workflows. This can be turned on or off per project in the Editor settings.
· GPU Profiler. Added the ability to see GPU usage to the profiler.
· A ton of memory and performance optimizations. Several improvements to multithreading.
Graphics Features:
· SkinnedMeshRenderer bounding volume is now always relative to the most common root bone and works much better with Ragdolls: UpdateWhenOffscreen bounding volume option now uses bone relative bounding volumes instead of vertices and is around 100x faster.
· WebCamTexture class to support cameras!
· High-resolution screenshots can be done via Application.CaptureScreenshot superSize parameter.
· Added new Soft Shadows mode for Directional Lights that uses rotated disk sampling pattern.
· Lightmapping: Added the Area Light (baked only) light type.
· Lightmapping: Skinned meshes can now be lightmapped. Use for meshes that don't change the pose much after baking.
Advanced rendering controls:
· Image Effects can optionally be applied before any transparent geometries are drawn. Use ImageEffectOpaque attribute on the OnRenderImage function.
· Subtractive/Min/Max blending support, use BlendOp Min|Max|Sub|RevSub in ShaderLab.
· Multiple Render Targets, Graphics.SetRenderTarget can take multiple color targets.
· Ability to share depth buffers between different color buffer targets, see Graphics.SetRenderTarget, RenderTexture.colorBuffer etc.
Various graphics optimizations:
· Optimizations for OpenGL ES 2.0 to avoid performance spikes with dynamic geometry.
· Optimized culling and shadow caster culling.
More low level rendering possibilities from native code Plugins:
· Ability to access Direct3D 9 device pointer.
· Plugin callbacks on the rendering thread, so that low-level plugin rendering can co-exist with multithreaded renderer in Unity 3.5.
· Surface Shaders: added optional final color modifier function (finalcolor directive). This can be used to implement custom Fog on platforms that can't do usual fog (like Xbox 360 or PS3).
· Added renderer.SetMaterialBlock for lightweight way of adding per-instance material parameters without duplicating the materials. Also, MaterialPropertyBlock does not have fixed small capacity anymore.
Quality settings overhaul:
· Quality settings can now be enabled / disabled per platform. Quality levels that are disabled on a target platform will be stripped on build.
· Maximum LOD level and LOD bias can be setup in the Quality settings
· The smallest LOD level in the quality settings will be used to automatically strip higher LOD levels. This makes it possible to strip any high poly models and all their dependencies on low-end devices.
Editor Features:
· Middle-click on any surface in the Scene View to focus on the clicked point.
· AssetModificationProcessor class API created with custom VCS systems in mind: adds IsOpenForEdit checks on assets which can prevent assets from being edited.
· The preview in the Inspector can be detached to a separate window.
· Implemented support for C4D file import from Cinema4D R13.
· Implemented better detection of imported material types. Unity uses normal-map and transparency properties (texture or factor) to apply one of the shaders: "Bumped Diffuse", "Transparent/Diffuse" or "Transparent/Bumped Diffuse".
· Implemented import of texture Tiling and Offset values.
· Implemented support for baking animation through FBX exporter during C4D file import (supported only from Cinema 4D R13, old version use our native IK baker).
· Mac: Added support for full-screen mode in the new Mac OS X Lion 10.7.
· Improved preferences window that users can extend using the PreferenceItem attribute.
· Gizmos can have world-space sizes. Nice, hi-res gizmos were added.
· The Transform gizmo has a new planar transform tool for performing two-axis translations, which replaces the Free Transform tool. Hold the 'shift' key to switch back to the Free Transform tool.
· GUI class now has a DrawTextureWithTexCoords function for specifying texture coordinates.
· Entire curves can now be dragged vertically.
· Gizmos are now depth tested, and exist in world space. The gizmo size can be adjusted using the existing gizmos size slider.
· It is now possible to mark objects static for different situations (lightmapping, navigation, occlusion ect) via the improved static checkbox.
· Find objects in scene that reference the selected asset.
· Small appearance tweaks
· New Prefab system allows for adding / removing components from instances without breaking the prefab connection.
· Backwards compatiblity of old prefabs is maintained
· Made prefabs not show as Missing in play mode
Audio Features:
· Audio buffer read and write access (AudioClip::Get/SetData)
· Low latency custom filters. Filter/Produce audio at mixer rate with OnAudioFilterRead() callback.
· Extended inspector GUI support for custom filters (out gain and performance meters).
· Microphone support on all platforms
· Mixer settings accesible from script (buffer sizes and samplerate)
iOS Features:
· Implemented Build&Run support for Xcode 4.x. (Not compatible with Xcode 3.x, but might be turned off in Editor settings).
· Accelerometer frequency now is controlled from Player Settings.
· Application.targetFrameRate works. Removed kFPS constant due to this. 30 FPS is default
· Added "Show Loading Indicator" option, to show spinner when loading game.
· GameCenter support added through the social API (does not include matchmaking and voice features atm).
· iAd support added.
· Push notification support added.
· Compass support added.
· Camera support added.
· Microphone support added.
· Image Filters now determine the format for intermediate Render Targets from currently bound FrameBuffer (most usual - default Display Buffer). So if you use 16bit Display Buffer you will get 16bit rt (RGB565). While it makes image filters a bit faster it also is more gles-conformant. If you want to use Image Filters that needs alpha channel or see banding, please set "Use 32-bit Display Buffer" checkbox in Player Settings, or use newly added Handheld.use32bitDisplayBuffer API.
Android Features:
· Added "Show Loading Indicator" option, to show spinner when loading level synchronously.
· QualitySettings.antiAliasing now works, allowing you to set AA level at runtime or in Editor.
· Added "Use 32-bit Display Buffer" and "Use 24-bit Depth Buffer" options.
· Added Screen.dpi to help determine the need for high/low resolution graphics.
· Added Joystick / Mouse (USB) support - only available with Honeycomb 3.1 and later.
· Improved load times with a new file reader backend.
· Profiler information can now be tunneled over ADB.
· Input latency is improved, with input events handled in native code with Gingerbread 2.3 and later.
· Support for Gyroscope / Compass input added.
· Camera support added.
· Microphone support added.
· Added Texture Override for ETC/RGBA16, under Build Settings.
· Added API targets for Honeycomb 3.2 (MR2) and Ice Cream Sandwich (4.0)
Other Features:
· MonoDevelop: Upgraded to MonoDevelop 2.8.2.
· Generic Social API added, it supports GameCenter only at the moment and Xbox Live support will be enabled later. Limited dummy functionality runs on unsupported platforms (so code is testable in the Editor for example). Third parties can implement the interface to add support for their implementation on any platform.
· Physics: Added ConfigurableJoint.swapBodies property to make the joint act as if the two connected Rigidbodies were swapped.
· AssetPostProcessor can now be versioned. See AssetPostProcessor.GetVersion for details.
· Asset Server can now be used with Cache Server. Note that this requires committing all assets to the server project after upgrading to 3.5 beta 4 and that the server project will not be usable by older Unity versions after that commit. So remember to back up everything, including the server project.
· Added Application.StreamingAssetPath which points to the location of the data in the Assets/StreamingAssets folder on all build targets.
· Added Input.isIMESelected to determine if the user has currently enabled IME conversion mode for keyboard input.
· All Editor settings files that needs to be versioned has been moved into a ProjectSettings folder.
· If upgrading an existing project the current settings files will be copied to the new folder.
· If you are using version control you should upgrade your project by opening it in the editor and then your should remove the old settings files from version control and simply add the ProjectSettings folder.
· Conclusion: All you need to add to version control from 3.5 beta3 is your Assets folder and ProjectSettings folder.
Improvements:
· All Project Settings are now in a folder called "ProjectSettings" next to the assets folder. This folder should be added to version control. This means that all assets in the library should be only controlled by Unity and never be under version control.
· Android: Added AndroidJavaRunnable to automatically marshal script delegates to Java code.
· Android: Automatically unlock device when running development builds.
· Android: Pass touch and key events directly to native code when using NativeActivity.
· Android: Removed delay when returning to an application, stemming from an unnecessary recreation of the GL context.
· Android: Store the keystore file relative to the project path.
· Audio: Changing mixer's sample rate and buffer sizes from script now possible.
· Audio: Cross domain security check for AudioClip::GetData() in webplayers.
· Audio: Custom DSPs (OnAudioFilterRead) now respect the settings of the attached AudioSource (mute, attenuation curves etc.)
· Audio: Microphone frequency capabilities now accesible from script and can be used in Record().
· Audio: Multichannel (>2) OGG files are now encoded and mapped correctly.
· Audio: New non-blocking waveform render. Higher resolution and nicer lookin'.
· Boo: pattern matching for lists.
· Boo: selective import support.
· Creating a new JavaScript automatically adds #pragma strict by default.
· Documentation: Clarified docs on ExecuteInEditMode.
· Documentation: Clarified how WrapMode works when animation clip is playing in reverse.
· Editor: "Generate Lightmap UVs" fixes regarding mac/win difference. Not there yet, but should be fixed for most. Please reimport meshes and rebake.
· Editor: A LOD group that was created on import can now be updated in the scene and send these settings back to the importer.
· Editor: Added "All" and "None" items for active Layer selection menu.
· Editor: API: Added optional parameter includeChildren to PropertyField to allow creating entire class or array controls with a single function call.
· Editor: API: Made DrawDefaultInspector work with both LooksLikeInspector and LooksLikeControls.
· Editor: API: Made PropertyField respect indent level instead of overwriting it with property depth.
· Editor: Asset Import performance optimizations for large project folder. For example detecting assets to be refreshed is around 10x faster now. Opening an already imported project is around 50x faster.
· Editor: Audio clips now use the static preview system. This means that audio clips now have a preview in the object picker/browser.
· Editor: Break prefab menu item added to Game Object menu (Break button was removed from gameobject inspector)
· Editor: Curve Editor key selection improvement: Always select the topmost key if keys of multiple curves are overlapping.
· Editor: Debug.DrawLine and Debug.DrawRay now take an optional bool that can disable depth testing.
· Editor: Ensure terrain brush settings are not reset when selecting a different object or when entering or exiting Play mode.
· Editor: EnumPopup element strings are now "nicified".
· Editor: Even more fixes to "Generate Lightmap UVs" to make it generate same UVs across Mac/Win.
· Editor: Fixed various project import issues where a crash of Unity could lead to a full project reimport in some cases.
· Editor: Implement EditorGUI functions BeginChangeCheck, EndChangeCheck, BeginDisabledGroup, EndDisabledGroup as more high-level alternative to setting GUI.changed and GUI.enabled directly.
· Editor: Import settings are now shown at the top in the Inspector and the imported result below (when relevant).
· Editor: Improve feedback to the UI about which color space is active.
· Editor: Lightmapping Window, Occlusion Window, and Navigation Window now have type based scene filters for quick picking of relevant objects.
· Editor: Made intValue property in SerializedProperty API work for LayerMask type.
· Editor: Make inspector display of large Asian fonts with kerning information fast, and show progress bar for import.
· Editor: Miscellaneous LOD group editor improvements.
· Editor: More precise rectangle selection of meshes
· Editor: New EditorGUIUtility.isProSkin property.
· Editor: Objects can now be tagged seperately as occluders and occludees
· Editor: Optimized performance of changing parenting in the hierarchy window
· Editor: Polished Import/Export package dialogs a bit.
· Editor: Prefabs now have a "break prefab" button that can disconnect the prefab from the prefab instance
· Editor: Scene View FPS motion is a bit slower by default, and has acceleration for when you want to go far.
· Editor: Show warning about precision errors in Transform inspector if world position exceeds 100.000 in any axis.
· Editor: The Navigation window now lets you change the Navigation Static flag of selected game objects.
· Editor: Transform gizmo now has planar sliders.
· Editor: Undo / Redo now works as expected when enabling and disabling components.
· Editor: Unity can import meshes with vertex count larger than 65000. Instead of aborting import it will split the mesh into parts each containing less than 65000 vertices.
· Editor: Upgraded FBX SDK to 2012.2.
· Editor: When changing numbers using sliders, do context sensitive rounding. The rounding will leave exactly enough decimals to represent the change resulting from moving the slider one pixel. If more decimals are typed in manually, they will not be lost (within the limitations of floating point numbers).
· Editor: When selecting objects of different types, the Inspector will now help narrowing down the selection to objects of only one type.
· Editor: You can now set a default font color via the font importer.
· GameObject can now use OffMeshLinkGeneration static flag to enable automatic JumpLink and DropLinks only on specific objects
· Graphics: Extended the maximum number of shader keywords from 32 to 64.
· Graphics: For each shader compilation error show the keywords that were used.
· Graphics: MaterialPropertyBlock can now have an unlimited number of properties.
· iOS: added Caching.SetNoBackupFlag and Caching.ResetNoBackupFlag to set "No Backup" flag on cache.
· iOS: added iPhone.SetNoBackupFlag and iPhone.ResetNoBackupFlag to set "No Backup" flag
· iOS: Caching now set no-backup flag by default on newly added objects.
· Lightmapping: Exposed the padding property that controls texel spacing between bake instances.
· Lightmapping: Improved mipmap generation for lightmaps - the space between bake instances is filled with colors coming from those bake instances when going down and up the mip chain. The lighting in smaller mip levels is more accurate and preserves the overall feel of the lightmap better. Please rebake the lightmaps to get the benefit.
· Mac OS X Standalone: Added a "close" button to the player window.
· MonoDevelop (Unityscript/Boo): Added limited jump to definition support.
· Occlusion culling baking now doesn't run out of memory.
· Occlusion culling now works correctly with shadows and is much faster. All occlusion culling modes should work as expected now across all platforms.
· Offmeshlinks now have per offmesh link overridable cost
· Player: Pre-load asset dependencies when doing Resources.Load/LoadAll to avoid hiccups during runtime.
· Profiler: Added API to enable binary filedump of profiling data, and API to read it back in the Editor
· Reduced memory usage when importing large project folders.
· Scripting: Added Handheld.use32bitDisplayBuffer to change Display buffer bit-depth at runtime.
· Scripting: Added WWW.textureNonReadable to mark as non-readable after download.
· SkinnedMeshes can now be marked as occluders and occludees
· Static batch mesh generation (Part of the build process and editor play mode) is now a lot faster.
· Support copying files from Assets/StreamingAssets for Win/Mac standalone players.
· Unityscript/Boo: Better linq (and extension method support) in general: 'import System.Linq;' is enough now.
· Unityscript/Boo: Optimized multidimensional array operations (up to 100X in some cases).
· Unityscript: Warn when bitwise operators are used with boolean operands to suggest the shortcircuiting boolean operators.
· When baking occlusion culling with transparent objects marked as occluders a warning is now given telling you which objects are marked static incorrectly.
· When imported assets are dirtied because a script modifies the imported asset it will no longer cause the asset to be reimported. Instead it will unload the asset and reloadk from disk as soon as nothing is referencing the asset anymore. This fixes an issue where a lot of assets would get reimported when shutting down Unity after entering playmode depending on what the scripts did.
· Windows: Connected joysticks are detected at runtime.
Fixes:
· Android: Texture2D.EncodeToPNG() / Application.CaptureScreenshot() produced broken images.
· Android: Calling Application.Quit from OnApplicationPause() had unexpected consequences.
· Android: Calling Network.TestConnection() caused the application to crash.
· Android: Calling Time. from OnApplicationPause() could cause application to hang.
· Android: Calling game scripts from the Java UI thread could cause a crash on rare occasions.
· Android: Fixed a GLES 2.0 rendering problem specific to Broadcom chipsets.
· Android: Fixed crash on Honeycomb/IceCreamSandwich devices triggered by 'auto-rotation' or any kind of screen rotation.
· Android: Fixed incorrect handling of Debug.Log in non-development builds - Message is now printed, but callstack parsing is disabled to keep performance up.
· Android: Fixed video playback when using a local (file://) source.
· Android: Graphical artifacts in decompressed ETC1 textures have been removed.
· Android: In the editor resolution/aspect ratio settings, the HTC Legend dimensions were swapped.
· Android: JDK 7 can now be used without getting a INSTALL_PARSE_FAILED_NO_CERTIFICATES error with signed applications.
· Android: JNI marshaling null-strings from Java would cause the VM to abort.
· Android: The basic/pro license was not honored correctly in some places.
· Android: The saved instance state bundle passed to Activity.onCreate was not forwarded from the Proxy activity.
· Android: Update AndroidManifest.xml permissions when Application.internetReachability is used - adding ACCESS_NETWORK_STATE fixes the problem with incorrect return value.
· Android: Using a custom splash during an advanced license trial period could lead to runtime crashes when trial expired.
· Android: Using a Linux 3.x kernel would cause Unity to hang/crash on multi-core CPUs.
· Android: WWW calls to a server that redirects from HTTPS to HTTP were failing.
· Asset Server: Fixed a bug that caused a crash when reverting a project setting to an older version in the Asset Server history view.
· AssetBundles: Fix AssetBundle.mainAsset loading all dependencies of the mainAsset.
· AssetImport: Fixed crash when selecting asset with name including ".."
· AssetStore: Fixed crash when exiting Unity or switching projects while the Asset Store window was loading a page.
· Audio/Video: Pause audio when video is done in the inspector.
· Audio: 'Decompress On Load'/'Compressed in memory' option not shown for uncompressed audio.
· Audio: Don't show BPS for MPEG files.
· Audio: Fix custom rolloff curves
· Audio: Fixed 32 bit filtering.
· Audio: libVorbis updated to the latest version.
· Audio: Lowpass filter inspector fixed
· Audio: Reset on filters and reverb zones now works.
· Audio: Size in inspector now correct for all platforms and audio types.
· Audio: Support for compression of 32bit input files.
· Debugger: Fixed abort with reentrant evaluation.
· Debugger: Fixed crash with nullable evaluation.
· Debugger: Fixed debugger crash when debugging in the editor.
· Editor: After moving or renaming the current open scene, saving will now save into the new location rather than the old.
· Editor: Curve Editor now correclty reverts and resets any change when dragging and Esc is pressed.
· Editor: Dark skin component checkboxes no longer twitch.
· Editor: Dark skin's object picker tweaks.
· Editor: ESC to cancel searching is more robust.
· Editor: Fix animated GUI groups breaking and giving errors after a window has been re-docked.
· Editor: Fix color picker incorrectly initializing alpha to 255 if original color is (0,0,0,0).
· Editor: Fix dragging textures to apply in Scene View sometimes showing errors and displaying progress bar that never closes.
· Editor: Fix Esc not clearing search field on Mac in Object Picker.
· Editor: Fix GameObject static dropdown not marking "Nothing" as selected when no flags were selected.
· Editor: Fix handling of unicode characters in scripts. Scripts should have utf-8 encoding.
· Editor: Fix many Handle controls not respecting Handles.matrix.
· Editor: Fix mouse cursor sometimes flickering garbage on Windows.
· Editor: Fix not being able to assign characters like ' , . / ` ] [ = as editor shortcuts on Windows.
· Editor: Fix null reference exception in project pane when displaying filtered results that return no hits and pressing up arrow key.
· Editor: Fix null reference exception when dragging sub-asset to the root of Project View.
· Editor: Fix Object Picker not focusing search field when being opened.
· Editor: Fix opening editor preferences when no inspector is open.
· Editor: Fix precision loss when viewing or editing large integers in the GUI.
· Editor: Fix repaint issue that made the Editor on Windows seem to have poor performance when mouse dragging gui components or scene view handles.
· Editor: Fix SceneView not resetting Handles.matrix if it was changed in an OnSceneGUI callback.
· Editor: Fixed a bug where lists of enums were not editable in the inspector
· Editor: Fixed Animation View leaking materials when saving the while animation edit mode is active.
· Editor: Fixed assert "vertexCount > 60000" when using colliders with polygon count over 10000.
· Editor: Fixed crash when resizing arrays in the inspector.
· Editor: Fixed crash when trying to import mesh, which contains polygons, which have less than 3 vertices.
· Editor: Fixed drop-down menus on Windows so they no longer overlap with the GUI control.
· Editor: Fixed material import from COLLADA files.
· Editor: Fixed memory problem when committing a lot of assets in the Asset Server window.
· Editor: Fixed null ref when exporting a package
· Editor: Fixed out of memory crash when importing huge cube maps.
· Editor: Fixed problem setting custom fields in webtemplates (they'd disappear as soon as focus left the field)
· Editor: Fixed regression where import mode for normals and tangents on models where ignored, when upgrading from 3.4 to 3.5
· Editor: Fixed reversing of triangle culling in some imported models (that used to happen in some very special cases).
· Editor: Fixed some situations where the scene view mode could get stuck.
· Editor: Fixed texture detection for imported materials when FBX contains mixed slashes in texture file paths.
· Editor: Fixed Warning when saving a scene to a new folder created from the Save dialog.
· Editor: Focusing on a particle system will now respect the bounds of the system properly.
· Editor: GetMiniThumbnail returns proper icons for DefaultAssets.
· Editor: Icons for unknown asset types are now cached, prevents out-of-memory crash if there are a lot of unknown assets in a project.
· Editor: Improved interaction with Visual Studio 2010.
· Editor: Installer on Windows now has a large icon.
· Editor: Made 3DS file loader more robust - Unity handles invalid files better now.
· Editor: Make ProceduralTextureInspector and ProceduralMaterialInspector partially support multi-object editing (multi-editing procedural properties is not supported).
· Editor: Make ProceduralTextureInspector repaint until not regenerating anymore.
· Editor: Make sure EditorGUI controls respect indent level consistently and fix some rarely used overloads that ignored some of the given parameters.
· Editor: Multiple project windows don't share search string.
· Editor: No longer get white 1-px outlines on OSX Lion.
· Editor: On OSX don't allow saving files with special characters in save file dialogs.
· Editor: On OSX don't make "error" sounds when navigating object browser using keyboard.
· Editor: On Windows, don't open new explorer window every time the player is build.
· Editor: Resolve intermittent hangs.
· Editor: Scene View controls no longer freezes when using left mouse button on scene view handles while right mouse button is pressed down.
· Editor: Setting TextureImporter.textureType now sets all the required properties.
· Editor: Use significantly less memory in most cases when generating a cubemap from a very high-resolution source image to make out-of-memory crashes less likely.
· Editor: Windows Editor menus support Unicode characters.
· Editor: You can now slide values with sliders by dragging the label (same as float fields)
· Execution order for prefabs is now 100% consistent. It works exactly the same as having non-prefab objects. (Removes superfluos OnDisable / OnEnable calls)
· Fixed a synchronization issue between Renderthread and GPU. This has fixed the stuttering and reduced the input lag.
· Fixed an issue that caused the editor to freeze if left in the background with the profiler open.
· Fixed AsyncOperation.progress to properly indicate loading progress.
· Fixed font kerning when using GUIStyle.fontSize.
· Fixed path names for Cache and Application.persistentDataPath not to be garbled up. If old path names are present, they will still be used.
· Graphics: Beast will no longer fail bakes on OSX if Unity installation path contains non-alphanumerical symbols.
· Graphics: Beast will no longer fail bakes that contain degenerate meshes, like bushes composed completely of billboarded leaves.
· Graphics: Compute correct tangents for non-uniformly scaled static meshes.
· Graphics: Enforce linear lighting status on hardware that does not support it.
· Graphics: Fixed broken values for builtin arrays when only 0th element was used (e.g. unity_LightPosition[0])
· Graphics: Fixed issue related to deferred rendering when no lights are present and you are using HDR.
· Graphics: Fixed Particles/Alpha Blend shader turning black when in Fog.
· Graphics: Fixed pow() sometimes being mis-compiled for Direct3D 9.
· Graphics: Fixed Preview lighting on uniformly scaled meshes in GameObjects.
· Graphics: Fixed shadow caster culling for asymmetric view frustums.
· Graphics: Fixes and improvements to HLSL->GLSL translator and GLSL Optimizer.
· Graphics: Flares without a texture assigned don't crash the editor anymore.
· Graphics: Texture2D.Compress prints proper error message when texture is not marked as readable (previously was silently filling texture with garbage when not in editor).
· iOS: Fixed appending of Xcode project when automatic native plugin inclusion is used.
· iOS: Fixed Editor freeze when Remote Profiler is connecting to iPhone running iOS 5.0.
· iOS: Fixed horizontal splash screen image pre-rotation to vertical orientation.
· iOS: Fixed iAd banner location on retina device.
· iOS: Fixed Mathf.Approximately and other math routines operating on de-normalized small numbers.
· iOS: Fixed numerous iOS5 related problems (GL errors, keyboard, etc.).
· iOS: Fixed Remote Profiler support.
· iOS: Fixed simulator build when project has native plugins.
· iOS: Fixed small memory leak.
· iOS: Fixed some scary warnings in Xcode debugger console.
· iOS: Fixed splashscreen pre-rotation when autorotation is enabled.
· iOS: Fixed WebCamTexture.GetPixels
· iOS: icon-iPad.png renamed to icon-72.png.
· iOS: SystemInfo.systemMemorySize returns correct memory size, SystemInfo.graphicsMemorySize is now estimated based on total memory size
· iOS: SystemLanguage handling overhaul - now region is correctly recognized (e.g. British English will result in English instead of Unknown)
· Javascript: Fixed bug that would case a for loop not to reuse an already declared variable.
· Javascript: Fixed multidimensional array of struct operations.
· Javascript: Script attributes can now appear before 'import' statements.
· Lightmapping: "Use in forward rend." is only respected in Dual Lightmaps mode as the GUI suggests.
· Lightmapping: Fixed clearing lightmaps -- it resets lightmap index, tiling and offset on all renderers.
· Lightmapping: Made light be culled below horizon for specular bounces when shadows are disabled. Fixes a case where a face pointing away from light would bounce light in that direction.
· Mac OS X Editor: Properly recognize user setting to launch Editor in a specific Space/Desktop.
· Mac OS X Standalone: Fixed mouse down events being reported for clicks on window title bar.
· Mac OS X Web Player: Fixed a crash in Firefox 6 when loading Unity content in a background tab.
· Mac OS X Web Player: Fixed a crash in Firefox 7 when resizing Unity content.
· Mac OS X Web Player: Fixed scroll wheel events in full-screen mode in CoreAnimation plugin.
· Mac OS X Web Player: IME input is now recognized in the OS X WebPlayer.
· Mac OS X Web Player: Input.inputString will correctly contain backspace and delete characters.
· Mac OS X Web Player: Make mouse input handling more robust. Fixes Magic Trackpad support in Safari 5.1.
· Mac OS X: Fix input from some gamepad hat switches.
· Mac OS X: Fixed distinguishing between left and right modifier keys in the Input class.
· Mac OS X: SystemInfo now returns actual device information.
· Mac Web Player: Fix different rendering issues when using image effects.
· Make Assembly.Location return actual location of the assembly and not "data-09340sdf9gsd0fg".
· Make FindObjectsOfType not return Cubemaps when searching for Texture2D.
· MonoDevelop: Fix unhandled exception when attaching debugger.
· MonoDevelop: More robust script encoding detection.
· NavMesh: Expose stopping distance in NavMeshAgent inspector
· NavMesh: Fix for Terrains ignoring NavMeshLayer setting when baking NavMesh.
· Navmesh: Handle odd number of negative scale values on geometry transforms: reverses winding before culling.
· NavMesh: Use shortest distance to polygon in cost calculation instead of midpoint - fixes problem with shortest paths over long polygon edges.
· Networking: Fixed case where NetworkView state synchronization was not relayed properly through a proxy connection.
· Networking: Fixed cases where connection tester failed to return a result.
· Networking: Fixed crash when reading NetworkPlayer.guid when networking was not initialized.
· Networking: Fixed possible crash when reading NetworkMessageInfo.networkView inside OnNetworkInstantiate.
· Physics: Collider.bounds will now alway return empty bounds for disabled colliders (before it was inconsistent by collider type).
· Physics: Fixed behavior of rotated capsule colliders when continuous collision detection is used.
· Physics: Fixed CCD not working in first level of a game.
· Physics: Fixed crash when disabling a CharacterController inside a CharacterController callback.
· Physics: Fixed slow duplicate creation of colliders when using GameObject.SetActiveRecursively().
· Physics: Physics contact count is now correctly reported in the Profiler, and will not appear to increment indefinitely.
· Physics: Removed "Solver rigidbodies" field in physics profiler, as it did not do anything.
· Profiler: GPU profiler now shows better info on image effects
· Profiler: More reliable player connection discovery
· Script: Fixed crash when reparenting GameObjects durring Scene Destroy
· We no longer get send multiple mousedown / mouse up while hovering over an object
· WebPlayer and Standalone: Return correct Event.delta value on Windows.
· WebPlayer: Fix memory leak on windows when unloading.
· WebPlayer: Reduce visual artifacts produced when WebPlayer size is changed on Windows.
· Windows 64-bit standalone: Fixed setting executable icon.
· Windows Editor: Fix skinned meshes disappearing temporarily when returning from sleep mode or from locking computer.
· Windows Web Player: Fix occasionally corrupted graphics when locking computer or switching resolution during loading.
· Windows: Focus is not lost when Web Player enters or exits fullscreen mode.
· Windows: Joystick 0 now returns correct cumulative axes values.
Changes:
· Added KeyCode enum values for Joystick 4.
· Android: Attached names to the native threads for easier debugging.
· Android: Changed labeling Force SD-Card Permission to Force External Storage Permission.
· Android: Development builds now have extended logging also from the Java side.
· Android: Editor requires API level 14 to build Android applications. It is still possible to target earlier platforms.
· Android: Force debug.checkjni property when launching development builds (to prevent incorrect JNI calls from plugins).
· Android: Keep the LVL code from outputting errors if it's not used anyway.
· Android: Restructured parts of the Java code found in classes.jar.
· Android: The Emulator device filter was removed, as the Android Virtual Device (with SDK-r14) now supports ARMv6/ARMv7 binaries.
· Android: The splash image is now decoded as 32bit texture (rather than 16bit).
· Android: The Texture Compression Override option in the Build Settings menu has been changed to affect all textures using a compressed texture format.
· Android: To save memory when streaming AssetBundles, the number of compressed buffers in flight has been reduced.
· Android: Traded some temporary memory (240KB, in the scene loader) for an on-average massive load speedup with projects having really bad load times.
· Disabled Version Control integration.
· Editor API: Added optional saveAsCopy parameter to EditorApplication.SaveScene to allow saving the scene without changing what is the current scene.
· Editor: Asset Path names starting with a space character are now no longer allowed.
· Editor: Migrated direct Blender to Unity import from Blender 2.56 to Blender 2.58. Implemented support for Blender 2.59 as well.
· Editor: OnSceneGUI is now called on all selected objects with custom editors. Not only editors visible in the inspector.
· Editor: Removed option for making Editor attachable by MonoDevelop debugger. (It is now always attachable)
· Editor: The Editor will no longer allow creation or import of Assets with file names which are not legal on either windows or OS X.
· Editor: Undo while dragging never worked correctly and is now disabled. Note: Most dragging operations allow you to press Esc to cancel, which can be used instead.
· iOS: Added 5.0 SDK selection in PlayerSettings.
· iOS: Added iPhone4S generation for iPhone.generation.
· iOS: Added warning when compressed texture is used as icon or splash screen.
· iOS: Changing target devices does not require to overwrite Xcode project anymore.
· iOS: Screen.dpi implemented.
· Mac OS X Standalone: Moved Cache file location to ~/Library/Caches/bundleID for Mac App Store compliance.
· Mac OS X: Use OS events for more reliable mouse wheel input. Should now work with all devices which work with the OS, but only work when mouse cursor is over the window.
· Removed support for OS X Dashboard builds.
· Removed support for OS X PowerPC builds.
· Removed support for Unitron and UniSciTE.
· Stripping: Now 3rd party dlls aren't treated as managed code stripping roots. Improves build size, but might require extra care with libraries that use reflection and generics a lot.
· Windows Web Player: if no graphics drivers are installed at all, Unity will not try to run the game using the really bad Windows' OpenGL 1.1 renderer; an error message will be displayed to the user instead.
· WWW: charset property is now honored by the WWW.text attribute.
· WWW: Made HTTP errors be reported in www.error string.
· WWW: Made HTTP headers be set appropriately even when errors occur. Added the HTTP status code to the header list under the "STATUS" key.
What's new in Unity 3.4.2:
November 3rd, 2011Editor:
· Fixed crash when editing audio source.
Android:
· Fixed corrupted splash image on Icecream-Sandwich.
· Allow audio playback only when application is focused (prevents audio on the unlock screen).
· Made sure the on-device-profiler only uses active network interfaces.
· Fixed an issue where mscorlib.dll could not be found.
iOS:
· Fixed random crashes when building with Xcode 4.2 (iOS SDK 5.0).
· Fixed crash with auto-rotation on iOS 5.
· Disabled workaround for ipad2 driver bug with msaa+colormask+blend when running on iOS 5 (was fixed by Apple).
· Made Cache Path for AssetBundles be compatible with new Apple Guidelines: /Library/Caches instead of /Documents.
Monodevelop:
· Fixed compilation issues of Javascript.
What's new in Unity 3.4.0:
July 27th, 2011Features:
Allegorithmic Substance Integration:
· Native support for Allegorithmic procedural Substance materials.
· Tweak and change exposed substance parameters right inside of Unity.
· Change substance parameters at runtime on PC and Mac.
· Gain major file size savings due to the compactness of procedural textures on PC and Mac.
· Bake substances into regular textures and materials on mobile platforms.
Gizmo and Icon Management:
· Scene View icons for game objects and script assets can now easily be assigned by using the new Icon Selector opened by clicking on the icon in the Inspector.
· Rendering of gizmos and icons can now be controlled using the new 'Gizmos' drop-down window found in the toolbar of the Scene View and the Game View.
· Toggling of gizmos is linked to the collapsed or expanded state of the corresponding components, making it simple to only see the gizmos you need.
· Support for setting a world size to render all icons with makes it simple to only see nearby icons.
· Scripting Execution Order
· Unity now gives you explicit control over the execution order in your scripts. Awake, OnEnable and Update calls are sorted by execution order. Execution order can be defined on a ‘per script’ basis in an easy-to-understand dialog.
· Downloadable content with caching for complete scenes and asset bundles
· Caching now works on all platforms. PC/Mac Standalone players and iOS/Android players have access to a 4 GiB dedicated cache for each application. The webplayer has a 50mb shared cache. A larger application-specific WebPlayer cache can be acquired from Unity Technologies. Caching of course greatly improves loading time not only due to the removed download, but also because the cached files are stored already decompressed on disk. Using the caching feature also greatly reduces memory usage since Unity doens't need to keep any additional data in memory. It is strongly recommended that you always use the caching API for large assets.
· A new function BuildPipeline.BuildStreamedSceneAssetBundle makes it easy to create entire scenes and their dependencies into an asset bundle and download them on demand.
· Downloading and streaming with the WWW class uses way less memory now. Especially significant when loading from disc using the file:// protocol. You can now load much bigger AssetBundles from disc without running out of memory.
Editor:
· Debug.DrawLine and Debug.DrawRay now has an optional parameter to control the duration of time a debug line should be rendered.
· New mouse event for MonoBehaviour: OnMouseUpAsButton. It is only called when the mouse is released over the same GUIElement or Collider as it was pressed.
· New interface for ObjectField that controls if scene objects should be assignable to the object field or not. Old interface marked as obsolete since it allowed invalid references e.g assets with with references to scene objects.
· Primitive Colliders can now be modified in Scene View by holding down SHIFT.
· The preview in the Inspector is now resizable and no longer part of the scroll-view.
Shadows:
· Directional Lights got new shadow projection mode, Stable Fit (default for new projects; change in Quality Settings). Old behaviour is Close Fit. Stable Fit results in slightly lower resolution, but shadow boundaries do not shimmer/wobble when rotating the camera.
· Much improved shadow caster culling (less draw calls). Better sorting of shadow casters for GPU efficiency.
· Added Very High shadow resolution option.
Skinning:
· SSE2 optimized skinning for Windows & Intel Macs. Improved multithreaded skinning efficiency on Macs.
Shaders:
· #pragma exclude_renderers/only_renderers can now use "shaderonly" (GLES2.0, 360, PS3 etc.) keyword.
· tex2Dgrad and tex2Dlod are supported when cross-compiling shaders into GLSL.
· Ability to access per-vertex light data in all platforms including OpenGL ES 2.0. Use float4 unity_LightPosition[4], unity_LightColor[4], unity_LightAtten[4].
· Added mobile optimized VertexLit and Unlit shaders.
Image Effects & Water:
· There’s a big upgrade to image effects & water. Both have been optimized for performance and, at the same time, visual quality has been improved. They’re also easier to tweak for artists.
Graphics:
· Deferred Lighting is able to use Occlusion Culling to cull invisible Point & Spot lights.
· Explicit control over VBlank Sync Count allows for more stable framerates. Quality Settings - Framesync flags: 'VBlank Sync Count' can now be set to 'Don't Sync' 'Every VBlank' or 'Every Second VBlank'
· Faster Point & Spot light rendering in Deferred Lighting (draws a more compact light shape).
· Optimized light culling in Forward rendering.
· Optimized per-vertex lighting in GLES 2.0 when fixed function shaders are used.
· Added Shader.WarmupAllShaders() to help reduce shader loading related hiccups.
· Added support for precomputed bounding volumes for Skinned Mesh Renderer and the animation component. This improves performance and lets you better cull animations & skinned meshes with minimal CPU overhead.
iOS:
· Added Terrain support for iOS.
· Added Gyroscope support.
· EAGLView wrapped into UIViewController / iOS native style of autorotation. Also added non-animated autorotation path. Corresponding option added to PlayerSettings.
· Added explicit null check option to the AOT code output, which should produce NullReference exceptions without causing SIGABRT in Xcode. Enabled when development player is selected and script debugging enabled.
· Improved automatic plugin inclusion for iOS. Now main.mm / AppController.mm could be substituted by the one supplied in Plugins/iOS.
· Mobile Quality Settings default to "Simple".
· Improved iOS project postprocessing performance. Runtime libs could be symlinked by checking appropriate option in Build Settings panel.
· Parallel AOT cross compilation for faster game build times.
· iOS SDK selection defaults to "latest".
Android:
· Terrains are now available on Android.
· The new Texture Compression override enables developers to target devices with support for specific GL texture-compression formats. With the new Multiple APK Support in the Android Market it helps to cut the distribution size of the application.
· Android now supports AssetBundles built with BuildAdditionalStreamedScenes, to help minimize distribution size and enable streaming of new content from the web.
· The mesh animation skinning algorithm now uses multi-threaded processing to harness some of the power of the multi-core CPUs available in new Android devices.
· Because a number of critical issues were fixed in this version, we encourage everyone to republish any applications built with previous releases.
Unity Xbox 360, PS3 and Wii release in parallel:
· All console versions are now released at same time as 3.4. Projects can easily be moved between all platforms.
· Rochard, our first PS3 game, has succesfully completed the Sony Submission process.
· Our first Xbox 360 game has succesfully passed pre-cert. And will soon go through Submission 1.
· First Wii game powered by Unity 3.4 is about to go through lotcheck.
· Editor
Improvements:
· You can now drag any GameObject into the project view to create a prefab with minimal hassle.
· Faster Play/Stop times on scenes with many prefabs.
· The Object Picker can now show individual previews for sub-assets, such as the individual meshes in a model asset.
· MonoDevelop is now the default script editor.
· Optimized PVRTC decompressor; scenes/textures will load much faster when in iOS mode.
· Launch VS using the C#-only solution by default.
· Primitive Collider handles are now only shown when pressing Shift.
· Show recommended shader help text in Material Inspector.
· Implemented field for editing Bounds in the inspector.
· Implemented editing of Bounds for Animation and SkinnedMeshRenderer components in the Inspector and Scene view.
· Improved VisualStudio/MonoDevelop solution synchronization performance.
· Added depth buffer bits field to RenderTexture inspector.
· GenericMenu has been documented and should be used for custom context menus.
· Tools class have been exposed so you can better make custom editors.
Fixes:
· Moving and deleting keyframes from the timeline now works with undo.
· Trail Renderers now always have the handle placed at the origin so they don't jump around as the game object is dragged in the scene view.
· Surface snapping now correctly ignores colliders that are set to triggers.
· Vertex snapping of objects dragged into sceneview now works.
· Vertex snapping of sub-objects fixed.
· Painting terrain heights and dragging outside the sceneview no longer leaves the terrain in a weird state.
· Light inspector now correctly hides soft shadow options when they don't apply to the light.
· Camera gizmo and preview is now based on Game View aspect ratio instead of Scene View aspect ratio.
· On Windows right mouse clicking the Game View tab now shows the context menu.
· Closing tabs with middle mouse button is now closes the correct tab.
· Cursor is no longer allowed to be locked when pausing before pressing play i.e. the cursor is forced visible (same behavior as when pressing pause during play).
· Maximize on Play no longer cancels Screen.lockCursor.
· When loading a project the directory structure is now validated.
· Improved progress indication during building to other platforms.
· Uninstalling editor will now clean up the install folder correctly.
· Toggling pro skin no longer resets the script editor.
· Lightcookie textures are no longer marked as dirty during rendering (case 389444).
· The material preview pane now updates when the shader used by the material is recompiled.
· Animation View: Fix issue with different properties sometimes inappropriately sharing the same curve state.
· Fixed crash when importing an empty shader file.
· Pass the solution file and line numbers to the default MonoDevelop installation.
· Fixed problem executing the PostprocessBuildPlayer script on Macs when executable bit was not set.
· Fixed crash when dragging a Prefab into Scene View.
· Fixed Input.mousePosition reporting wrong coordinates after a pause and lost focus of Unity Editor.
· Asset Server now detects changes to script icons.
· Removed .asset extension from AnnotationManager.asset in the Library folder.
· Fix cropping of TextAsset.bytes when data contains leading null values
· Fixed a crash bug when deleting keyframes in the Animation view.
· Improved synchronisation of Visual Studio projects.
· Fixed Material Inspector sometimes displaying a wrong name for a shader.
· Yield on WaitForEndOfFrame works in batch mode.
· Fixed NullRef in AudioSource/LPF Curve inspector.
· Mac Editor: fixed memory error message in console when using the color picker.
· Mac Editor: fixed crash on Mac OS X 10.7 Lion when using the color picker.
· Fixed indentation issues in Vector3, Vector4 and Rect fields.
· Project/Hierarchy search field no longer eats first character if it had all text selected in some cases.
· Fixed debug logs not getting cleared with Clear On Play enabled when logs were created in edit mode.
· Fixed some fixed function shaders not displaying correctly in OpenGL ES 1.1 emulation (on Windows).
· Disabled colliders now use a dimmed color for their gizmos.
· It is now possible to close a maximized EditorWindow from script.
· Do not allow to select target iOS version lower than 3.1.3 if iPad or iPad + iPhone device target is selected in player settings.
· Texture2D.PackTextures force padding on right and tops of each texture element.
· Do not upgrade a 2.6 project twice in cases when scripts would have to be patched during the upgrade.
· When generating unique asset paths, don't add a space before the number if the asset is a script.
· When a corrupted scene with invalid prefabs is detected they will now be cleaned up when saving the scene.
· Fixed various issues with Image Effects when switching platforms or graphics emulation settings.
· Fixed regression when renaming assets causing them to be reimported when quiting. Assets are now reimported immediately after renaming (case 409155).
· Fixed a rare bug where complex chains of shaders with fallbacks are treated as unsupported when switching platforms in the editor.
· Added Tooltip to the GameObject class.
· Fix crash when switching target to Wii or Xbox in the Build Settings menu.
· Fix crash when debugging and evaluating an expression that triggers a null reference exception.
· Fix intermittent exceptions when launching Visual Studio.
· Scene view icons are no longer affected by editor quality settings (blurred at low quality).
Graphics:
Improvements:
· Anti-aliasing choices now are None, 2x, 4x, 8x (new). Removed 6x and 16x since no GPUs support them.
· Fixed Camera.RenderToCubemap rendering skybox wrong (unless the camera incidentally had 90 FOV and 1:1 aspect set).
· Fixed error messages when spotlighs with very small range were used.
· Better prevention of "out of video memory" situations with crazy high resolutions + MSAA levels. For example, fixes some cases when using 8xMSAA on 2560x1440 screen.
· Prevent scripts from setting invalid Particle values (Min/Max Size, Min/Max Energy, Min/Max Emission on Emitter; UV Animation on Renderer).
· Fixed Particle Renderer UV Animation not being updated when changing it from a script.
· Fixed Particle Renderer sometimes using wrong UV Animation frame when spawning a particle.
· Per-layer culling distances are properly handled for shadow casters of non-directional lights.
· Added information for more GPUs to SystemInfo.graphicsPixelFillrate.
· Fixed Application.CaptureScreenshot() grabbing parts of Game View UI on Windows.
· Mesh Compression setting was wrongly displayed in the Mesh Inspector.
· Realtime shadows over single lightmaps no longer incorrectly darken lightmaps brighter than 2.
· When creating RenderTexture from script it is no longer needed to set isPowerOfTwo; it will be set automatically based on RenderTexture size.
· Implemented AnimationState.RemoveMixingTransform function.
Shadows:
· Tweaked shadow related default quality settings.
· Shadow Projection is now chosen in Quality Settings (no longer in the Light component).
Shaders:
· Fixed D3D9 Debug Runtime validation failures on some shaders.
· Fixed some bugs in Cg to GLSL cross-compiler.
· Multiple objects using a shader with GrabPass can share the same texture, see GrabPass docs.
· Added ComputeGrabScreenPos helper function to UnityCG.cginc, for use in shaders with GrabPass.
· Added Mobile optimized Diffuse, Bumped, VertexLit (only directional lights), Unlit Lightmap shaders.
Lightmaps:
· Clearing lightmaps properly resets lightmap tiling/offset on objects, making them batchable again.
· Fixed for shaders that do not have _Color property (like some Mobile shaders).
· Fixes
· Fixed VRAM amount detection on some Windows Vista/7 systems.
· Fixed some built-in matrices (_Object2World etc.) only working in vertex shaders.
· Fixed camera.RenderToCubemap not working when using deferred lighting (now falls back to forward).
· Texture scale and translate (name_ST) properties now work properly even when material's texture is not actually sampled in the shader.
· Fixed Flares sometimes using wrong UVs in OpenGL ES 2.0.
· Dynamic batching on normal mapped objects was incorrectly disabled on Direct3D9 (it's still disabled on OpenGL due to driver bugs).
· Worked around driver performance issue in latest MacBook Pros (with Radeon HD 6xxx) caused by batching.
· Fixed dynamic batching ending batch too early.
· Fixed dynamic batching breaking if GUI.DrawTexture was used.
· Fixed Spot light shadows from large triangles that are partly behind the light.
· Fixed crash when creating textures with zero length on one side.
Lightmaps:
· Beast on Mac shouldn't misbehave anymore if objects' transforms contain subnormal floats.
· Fixed a lot of bugs with mac/win differences in generated texture uv’s for lightmaps. Please reimport your meshes.
· Fixed bug where baking lightmaps would randomly force reimports of 3D models and dirty prefabs.
Animation:
· Fixed error message when layers and mixing transforms are used.
· When you use animation splitting in model@animation file all animations will be attached to the model, not just the main animation.
· Fixed dereferencing of null pointer when list of AnimationClips contains null reference.
Standard assets:
· Added, optimized and improved image effects (e.g. Antialiasing, Fog, TiltShift, Depth of Field).
· Added Water4 scripts and example prefabs.
· Water: fixed upside down reflections in scene view and game view (windows) and water mesh normals generation.
· Image Effects: fixed DLAA corner cases (and added a sharp setting) re-enabled support for additive blending (sun shafts, bloom).
· Fixed scripts SmoothFollow and ThirdPersonController.
· Depth of field now using more suitable blend modes.
· Water got a simpler wave model.
Fixes for handhelds:
· GLES 2.0: specular is disabled when SeparateSpecular is set to Off.
· GLES 1.1: fixed support for anisotropic filtering.
· Worked around iPad 2 driver crash on some shaders (mostly ones that involved loops).
· Fixed overbright specular highlights on iOS with some shaders.
· Worked around iPad 2 driver crash on some shaders (mostly ones that use Fog).
Movies:
· Time.captureFramerate is respected by movie playback when movie does not have audio.
Audio:
Fixes:
· AudioSource attached to a movie texture is no longer reporting false isPlaying.
· Fixed audio sources referencing wrong clips when reusing cached sounds.
· Effects now working audio sources, where ignoreListenerVolume is set.
· WWW.audio now works on iPhone.
· Fix rare crash when AudioSource.clip was reset in the same frame as the source was played.
· DSP buffer settings set in 3.3 is now read correctly in 3.4.
· Bitrate in .meta files are now serialized correctly.
· Fixed FMOD errors when using AudioSource.PlayOneShot.
· Unity iOS
Improvements:
· Mesh skinning uses multi-threaded processing.
· VFP skinning for cases where tangents are needed.
· Added AOT options field to the player settings. Let's users to pass some additional AOT options, useful for "running out of trampoline" problem.
· Terrain stripping enabled (if you don't use terrains, some Mono code can be stripped).
· Implemented Application.systemLanguage.
· Correctly detect iPad GSM and other devices.
· Improved autorotation by fixing numerous issues with video playback and keyboard.
· Trampoline code was refactored for easier reading/changing. Please replace your Xcode projects.
· Bundle identifiers of pattern XXX.XXX are now allowed.
Fixes:
· Fixed iOS SDK 4.3 App Store submission problems by working around linker bug: added -all_load linker flag and small code hint to the main.mm.
· Moved Xcode autorun phase after user postprocess script execution. Should improve 3rd party plugin integration experience.
· Fixed iOS SDK 4.3 warnings about unaligned symbols.
· Synchronization PlayerPrefs upon LoadLevel prevents very rare circumstances of loosing PlayerPrefs data when application is terminated unexpectedly.
· Improved AOT build size when debugging is enabled.
· Prevented GUI.WindowDragState from stripping.
· Fixed the case when AOT was emitting debugging code when debugging checkbox is checked, but development build is unchecked.
· Updated cpu-waits-gpu internal profiler counter for iOS 4.3.
· Fixed VFP 1 bone skinning.
· Fixed issue with screenshots not working when MSAA is enabled.
· iPhoneSettings.generation now recognises iPad2.
· Fixed WWW class memory leak when WWW object is disposed before completing download
· Added SDK 4.3 selection in player settings.
· Fixed material shader on iOS looks different from the Editor.
· Unity projects will be closed in Xcode before updating them, which should fix some Xcode glitches.
· Fixed AssetBundleCreateRequest stripping problem.
· Fixed WWW out of memory problem when estimated download size is unknown.
· Fixed GUIText stripping issue.
· Fixed corner cases when libraries weren't symlinked properly. For portability reasons Unity runtime library symlink is off by default.
· Fixed .cpp/.c native automatic plugin inclusion. Experimental support for .xib and .png files added.
· Fixed WWW.EscapeURL() to escape URLs according to RFC.
· Fixed issue on iPad2 with MSAA and alpha-blended geometry resulting in wireframe like artefacts. Please see SL-Reference/SL-AdvancedTopics/SL-PlatformDifferences for more thorough description.
· Fixed iOS project postprocessing for Unity iOS Basic license and autorotation.
· Fixed internal profiler using old-frame data, fixing negative values by the way.
· Fixed simulator support for Xcode 4 + SDK 4.3.
· Fixed WWWForm support.
· Fixed simulator support for simulators Project Settings->Script Execution Order.
· Texture2D.SetPixels32/GetPixels32 for much faster pixel operations.
· Added Caching.MarkAsUsed function. This is used to ensure that some files are not thrown out of the least-recently-used cache if you know that they will be used in the future.
Input:
· Win7 touchscreen input now fully supported.
· Input.eatKeyPressOnTextFieldFocus added to be able to control input behavior during textfield focus. This is default true from 3.4 and forth. Set this to false to achieve pre 3.4 behavior.
· Key input (i.e. Input.GetKeyDown) is now suppressed when a textfield is active. This is enabled only content built with 3.4 and later. To query key input during an active textfield, use Event.current in OnGUI.
· Fixed support for mouse deltas from Apple's Magic Trackpad.
MonoDevelop:
· Scripting projects are now built the same way that Unity builds them.
· Now compiles Boo and UnityScript.
Profiling:
· Intel GPA 4.0 Platform Analyzer profiler is supported for Windows Standalone Players.
Javascript improvements:
· Allow characters in #pragma lines.
· Array.slice(startIndex) must return all elements starting from startIndex.
· Array.slice accepts negative indexes counting from the end of the array: [1, 2, 3, 4].slice(-2) // => [3, 4]
· Proper support for do-while loops
Proper support for generic dictionaries of functions:
· var dict = new Dictionary.();
· dict["foo"] = function() print("foo");
· dict["foo"](); // prints foo
Importers:
· Implemented 3 minute timeout for 3DStudio Max FBX conversion.
· Only show import settings on root asset. Showing them on every sub-asset could lead to the false impression that every sub-asset can have individual import settings.
Other improvements:
· Removed tray icon for Windows Standalones when in batchmode allowing apps to run as a service.
· Removed option 'Always Show Watermark' from the Player Settings.
Other Fixes:
Web player:
· Fix several cases that caused crash in rare occasions and improve error handling in general.
· Fix issue that prevented Web Player from working in closed networks.
· Fix issue that prevented auto update from working for non-administartor users on Mac OS X.
· Prevent cursor from vanishing in fullscreen mode when cursor trail is enabled.
· Prevent cursor from vanishing when another game is running on a different browser tab.
· Stabilized web player framerates.
· Web player now behaves correctly when resizing window in Firefox4.
· Removed 16 kilobyte limit for Application.ExternalCall() and ExternalEval().
· Chrome, Safari and FF4 on Mac OS X now registers keypresses on input string.
· Input.GetAxis() returns correct value when focus is restored.
· Fixed an occasional crash when switching to fullscreen on Mac OS X.
· Fixed audio pausing in the background in Dashboard on Mac OS X.
Networking:
· Fixed error when reading 32bit Network View IDs, huge amounts of views can properly be instantiated.
MonoDevelop:
· Fixed bug where seemingly random parts of the Unity API would fail to show up in autocomplete lists.
· Fixed update expandability of items in the Locals pad when debugging over a slow network.
Asset pipeline:
· Made clearer error message when importing .dds file with missing mipmap levels in texture importer.
· 3DStudio Max importer no longer crashes when trying to parse a broken .3ds file.
· Changing "Pack Margin" and other settings in the advanced Model import setting is now recognized as a change.
Input:
· Shift keys now recognized in fullsceen on Mac OS X web players.
· Mouse position now reported correctly for Windows 7 touchscreens (only works in full screen for now – see known issues).
Physics:
· ConfigurableJoint.configuredInWorldSpace will no longer result in a wrong coordinate space. Projects using this setting need to be readjusted!
· Better Skinned Cloth behaviour when the mesh does not have normals, or is rendered with a shader that does not use normals.
Other fixes:
· Fixed a bunch of minor mistakes in the documentation.
· Cleaned up the use of non-public APIs that caused Mac OS X standalone builds to be rejected for the Mac App Store.
· Fixed crash when doing raycasts on 64 bit standalone players.
· AssetBundle.Load() now preloads all dependent assets like AssetBundle.LoadAsync() does.
· Fixed regression introduced in Unity 3.3 where preload data was not written correctly leading to some hiccups during gameplay when first accessing a referenced asset.
· Fixed crash when loading Asset Bundles to big to fit in memory.
· Fix bug preventing standalone player & web player from using more than 2GB of ram on Windows.
· Fixed crash when deleting the last slot of a builtin array.
· Fix bug where enums were sometimes not displayed correctly for embedded classes in arrays.
· Fixed creation of empty cache folders for each new project.
· Workaround for crash in Apple's Font unloading code in Mac OS X 10.7.
What's new in Unity 3.3.0:
March 4th, 2011Android Changes from Pre-Release Version:
· Native Activity does not support screen orientation changes during runtime.
· Remote refuses to connect to the Editor once the device was disconnected.
· Improvement performance of audio handling (mixing) on Tegra based devices.
· On-screen keyboard has been completely re-written to support NativeActivity, and handle .hideInput=true;.
· Editor detects minimum OS / API version before trying to launch the application.
· AndroidJavaObject et al as proper documentation.
· Added documentation of the AndroidInput class.
· Added correct mapping of CIRCLE button on Xperia Play; must use latest firmware on the device.
· Deprecated WWW.oggVorbis property.
· Remote: Fixed crash in editor caused by editor side of Android Remote.
· Fixed broken detection code for Android SDK API-10 (and API-11).
· Fixed problems with threading and finalizers in AndroidJNI et al.
· Performance improvements of animation skinning on Tegra based devices.
· Support for NativeActivity / SonyEricsson Xperia Play.
· Added support for Screen.SetResolution.
· Fully dynamic linkage to Mono; Mono is now available from plugins etc.
· AndroidManifest.xml attribute minSdkVersion exposed under Player Settings / Other Settings.
· Fixed exception when using AndroidJavaObject.Get().
· Fixed occasional rendering issues on some Qualcomm based devices (e.g. HTC Vision).
· Fixed various network issues (local IP, ping, HavePublicAddress etc).
· Fixed various touch input related issues (Input.multiTouchEnabled, virtual touches, stale touch IDs).
· Added the Windows registry keys for the JDK lookup on x64 machines.
Other Changes:
· iPhone and Android Remote is enabled for Unity free license.
· Fixed case 392244: Incorrect handling of tall mode of Game View in Android Remote.
· Fixed case 388824: Android Remote flickering.
· Fixed case 388828: Android Remote crashes due to buffer overflow.
· Fixed case 392869: With Build&Run only remove previous installation when update is not possible (otherwise keep PlayerPrefs etc).
· Fixed case 392194: Fixed AndroidJNI lookup of inner (nested) classes.
· Fixed case 392099: Touch data reset when resuming application ; fixes stale touches after pause.
· Fixed case 392922: Fixed problems when using AndroidJNI and Assembly Stripping.
· Fixed case 392847: Flickering rendering problem (mostly seen on GUI elements) or things not being rendered at all.
· Fixed case 392831: Input.GetMouseButtonDown(0) and TouchPhase.Began being out of sync.
· Fixed case 391064: Changed the message presented to Samsung users when the firmware is outdated.
· Fixed case 391739: Text input is now available in NativeActivity mode.
· iOS: Fixed VAO cleanup (case 392221: memory leak when using GUI.Label).
· iOS: Fixed MSAA+discard support: discard read buffer, not draw; discard stencil too.
· Graphics: Improved performance of fixed-function emulation under GLES2.0.
· Audio: Correct audio CPU usage displayed in the Profiler.
· Audio: Fixed WWW.audioClip (wait for the entire clip to download).
· Fixed case 377132: Fixed rare audio bug where one shots are looping.
· Fixed case 391171: Better handling of orthographic scene view camera.
· Fixed case 383402: Fixed continued bouncing OS X Dock icon when using modal progress bars.
· Fixed case 391471: Fixed editor error messages on Windows with some RenderTexture configurations.
· Network: Fixed error when reading 32 bit network view IDs size.
· Remote: Proper icons for the Android Remote.
· Fixed case 388502: AnimationEvents trigger twice when the event pauses animation then starts it again from coroutine.
· Fixed case 391106: Font security warnings showing up.
· Fixed case 390822: Add implementation for IsDirectoryCreated on iOS.
· Fixed case 388828: Various crash fixes for Android Remote.
· Fixed case 373197: iPhone Remote prints excessively to the editor console.
· Fixed case 388824: Unity Remote white-flickers if you reconnect it to the editor.
· Fixed case 389248: Unity Remote refuses to connect to the Editor once the device was disconnected.
· iOS: Xcode 4 is now recognized as proper build tool.
· iOS: Added soft debugger support.
What's new in Unity 3.2.0:
February 15th, 2011Major Features:
· Image Effects: New Depth of Field with bokeh, improved bloom and several other image effect tweaks and fixes.
· New Water: All new Water prefab in standard assets that includes waves, automatically generated foam on shorelines and more.
· Graphics: Major performance improvements in OpenGL ES 2.0 (iOS/Android).
· Shaders: Added optimized/simplified versions of some shaders under "Mobile" category (VertexLit, Bumped Specular, Skybox). They work on other platforms as well, but mobiles will see biggest gains.
· Shaders: Mobile-Optimized Bumped Specular shader is 5.2x faster than Bumped Specular in 3.1 (on iOS)
· Shaders: Added several Unlit shaders that just display a texture with no lighting. They are the fastest textured shaders.
· Debugger: Attaching the script debugger to (and detaching from) Unity and debugging-enabled players is now possible.
· Profiler: you can profile standalone player builds from the Editor. This includes iOS and Android builds!
· Caching: the caching feature is now usable by all content, with or without a special license. Unlicensed content will share a single 50 MB Cache folder.
Editor:
Improvements:
Profiler Improvements:
· Profiler is now able to connect to players to do remote profiling.
· Added profiler support for iOS runtime. Editor and iOS device should be connected to the WiFi/LAN network.
· Added profiler stats for physics.
· Assets -> Import Package changed into a submenu for easy access to standard packages.
· Android Remote is now available on all build targets; iPhone remote is now available on all build targets on Mac OS X.
· PlayerSettings script class extended to let Editor scripts control various iOS and Android build settings like stripping, target devices, etc.
· Slide to scrub over AudioClip previews.
Asset Importing:
· Direct import of Modo files (*.lxo). Officialy supported Modo versions are 501 and higher.
· Direct import from Cinema 4D R12.
· Direct import from Blender 2.55.1 and later.
· Upgraded FBX SDK to 2011.3.1.
· Support for import of mesh instances from FBX files. Import of instances is not enabled for direct import of 3dsMax/Maya files due to limitations on FBX exporters (see Known Issues).
· It is now possible to switch the scene view into bottom camera using a three-finger-swipe gesture up from the up camera on Mac OS X.
· When an asset import fails, it will now show up in the project folder, allowing you to reimport it manually if you like.
· Made window zooming using the magnify gesture on Mac OS X less sensitive so it is not accidentally triggered.
· Handles now have Slider2D function for dragging a 3D handle in a plane, see Handles.Slider2D().
Tree Creator:
· Improved consistency of the editor's "look" with other Unity editors.
· "Synced" the Move/Rotate Branch/Leaf tools with the Editor Move/Rotate tools.
· Cleaned up tooltip text.
· Model wireframe is hidden when editting branches/leaves.
Object Picker:
· Builtin resources have been added e.g the primitive meshes, default-material, default-particle texture etc.
· Previews of textures now preserve the aspect ratio of the original texture.
· Added check to prevent users from overwriting their project folder when building a webplayer.
· Added API EditorWindow.FocusWindowIfItsOpen.
· There is now an option to show a save confirmation dialog for writing changes to serialized asset and scenes.
· Added build managed dependencies verification step. It will warn when unsupported .NET assemblies get included into build.
· Undo system now has a memory cap to remove undo snapshots that use a lot of memory. This stops unity from crashing when editing big terrains.
· When Unity quits during a script compilation, Unity will now on next restart recompile all scripts. Scripts are now generated automatically from all scripts in the asset database, making it impossible to get scripts into a non-working state if you for example delete Library/MonoManager.asset.
· Heightmap terrain painting is now a lot faster.
· Fixed text overdraw on inspector drop downs.
· ESC cancels search in Scene, Hierarchy & Project Views.
· Made Object Pickers have correct icon in light skin.
· Mac: Dragging out a window to a secondary display now never places it too far up on the screen.
· Changing GUI.skin is 10x faster in the editor and no longer clobbers the GC.
· Dragging assets around inside a filtered Project view no longer moves the asset to root.
· Dragging objects around inside a filtered Hierarchy view no longer unparents the game object.
· Layout dropdown shows name of last selected layout. It's also pre-filled for save layout name.
· Visible layers layermask is persistent between editor sessions.
· Minor Build Settings window tweaks/polish.
· Window docking has been rewritten, it should now have a way better feel.
· EditorWindows now get OnFocus/LostFocus messages when tabs are switched.
Fixes:
· Screen.width and Screen.height are now correct when entering playmode using maximizeOnPlay.
· Fixed bug where undo / redo would incorrectly combine multiple undo operations into one step
· Fixed bug where upgrading a project with normal maps would sometimes not mark the texture as a normal map properly in the import settings.
· Fixed bug where, display of 'Texture not yet compressed' was not working.
· Fixed issue where dragging on profiler hierarchy would change the active frame.
· Fixed camera viewport handles incorrect with custom viewport rect.
· Fixed crash when using null texture in Handles.DrawBezier.
· Fixed camera's orthographic state is overriden if camera's inspector is visible.
· Fixed mouse picking in editor issue.
· Fixed crash when instantiating a prefab with Constant Force added in FixedUpdate.
· Fixed no visual indicator when dragging textures onto materials.
· Fixed model preview bitmaps need fixing for models that have an off-center pivot.
· Fixed change to flare setting lost when followed by drag and drop.
· Fixed the Object Picker's 'scene' tab list is empty on initial display for certain object types.
· Fixed warnings in the console for stats window when using networking.
· Fixed dragging material in sceneview does not always update correctly (Only a Windows issue).
· Fixed crash on play when using the Animation system to disable a Mesh Renderer.
· Fixed foldouts eating events when clipped.
· Fixed object fields not pinging when disabled.
· Fixed crash when calling Material.SetPass on a null material.
· Fixed crash when calling NetworkUtility.Ping repeatedly and entering / exiting playmode quickly.
· Fixed 'screencoord[1]' error messages in some situations.
· Fixed tab dragging which could either throw an error "Trying to read pixel out of bounds" or show contents of another window.
· Fixed wrong material previews if Player Settings has VertexLit rendering path.
· Fixed a bug in Mac OS X Editor where assets with unicode characters in their file name would get converted to lower case names.
· Previews in the Object Picker are now correct for dirty assets.
· Fix crash when validating MeshRenderer context menu when there are no materials.
· Fixed broken image references in script reference.
· Fix errors when focusing on terrain with the hierarchy view.
· CustomEditor bug made script-file become unusable in editor.
· MenuItem with negative priorities are now working correctly.
· Fixed texture importer was doing mipmap fade for normal maps wrong.
· Fix sceneview sometimes losing input when a sceneview overlay window was showing (e.g. Camera Preview).
· Fix Build and Run not working in Mac OS X 10.5.
· Windows editor doesn't require MS Runtime libs (9.0) to be installed.
· Fixed rendering issues on Windows with Intel GMA 950/3100 GPUs in Animation, Profiler and Terrain windows.
· Editor Windows stay on-screen in a much more robust fashion.
· Fixed confusing Shader Model 3.0 graphics emulation (it was sometimes disabled on capable GPUs).
· Fixed issue with Static Batching not working after Additive Level Load.
· QuickTime movie importing now works with the latest version (7.6.9).
· Fixed occasional crashes on Windows when closing Asset Store window.
· Fixed Asset Store window minimum size being too large for small screen resolutions.
· Switching graphics emulation properly reloads all textures now (lightmaps could get wrong encoding before in some cases).
· Fixed that ProjectSettings->Editor was only available in pro, while it contained nonpro security emulation settings.
· Fixed inspector enum popups being wrong for fields that have same names but different enum types on same component.
· Fixed crash when using CustomEditor Attribute on a class not derived from Editor.
· MonoBehaviour.Update is now correctly called in batch mode in the editor.
· Fixed bug where prefab instances could lose the prefab overrides on mono behaviours when new properties were added in some corner case scenarios.
· Fixed clicking behaviour while renaming in Hierarchy & Project View (sometimes Unity would not apply the new name).
· Fixed context menus not working in various Project Settings inspectors.
· Fixed imposter camera showing in the hierarchy for a single frame after creation.
· Fixed Tree Creator mesh not updating properly when editing value's directly in a text field.
· Fixed creating projects through command line using relative paths on windows.
· When selecting font with unsupported format in inspector, display nice error box instead of crashing.
· Control/Command + click in SceneView now selects game objects as well as deselects them.
· Fixed: Don't open hierarchy window for no good reason when creating e.g. Cube game object.
· Remove Components -> Miscellaneous -> Tree menu item, as it does not do anything useful.
· Fixed display of unicode characters in the layouts popup menu.
· Mac Editor: Popup windows no longer gets sent to back when you close another popup window.
· Fixed layout label issues with Vector Fields.
· Dragging out windows no longer can leave a 1px white hairline on bottom and right edges.
· Dragging while zoomed in on mac no longer renders the window unresizable.
· Fix gear context icon for material and texture inspectors in dark skin.
· Build settings properly reflect changes to moving(renaming) scenes.
Graphics:
Improvements:
Major performance improvements in OpenGL ES 2.0 (iOS / Android):
· Much improved performance of shaders that are compiled from Cg/HLSL (e.g. Diffuse for directional light is about 2x faster on iPhone 3Gs). Now fixed/half/float types in Cg map to lowp/mediump/highp precision in GLSL. Use lowest precision type in your shaders!
· Improved GLSL shader optimizer.
· Changed normal map compression approach for mobile platforms. It's much faster now!
· Fog mode can be changed in Render Settings (also from scripts): Linear, Exp, Exp2 (default).
· Rendering performance optimizations (lower CPU overhead, less memory consumption).
Shadows:
· Forward rendering path supports Point & Spot light shadows again, as well as multiple shadowing lights! Note that by default shaders do not have this enabled, use fullforwardshadows surface shader directive to enable the behavior.
· Directional Light soft shadows blur width and fadeout speed can be adjusted in Inspector or via script.
· Exposed Light.shadowBias to scripting.
· Built-in shaders that perform Deferred Lighting, directional light shadow gathering in Deferred Lighting, and directional light shadow blurring can be overriden. Just drop your own shaders with the same names into the project.
· Deferred light buffer can be accessed from from Image Effects or other shaders (_LightBuffer).
Surface Shader improvements:
· support world-space normal as input (worldNormal).
· fullforwardshadows directive to enable all shadows from any lights in forward rendering loop.
· dualforward directive to enable dual lightmaps in Forward rendering.
· decal:blend mode for shaders used on decal-like surfaces.
· nolightmap directive to exclude lightmap support (makes shaders smaller).
· noambient directive to not apply ambient nor SH lighting.
· halfasview directive to compute normalized half-direction per-vertex, and pass that to the lighting function. Results in faster Specular-type shaders, however view direction won't be entirely correct.
· approxview directive to compute normalized view direction per-vertex instead of per-pixel. Results in faster Specular-type shaders, however view direction won't be entirely correct when camera gets close to surface.
· noforwardadd directive to skip generating forward additive pass. Will make a shader support one full directional light; all other lights will be per-vertex/SH.
· Shaders: #pragma glsl_no_auto_normalization directive to not auto-normalize normals & tangents in OpenGL ES 2.0 shaders.
· Shaders: Added TransformViewToProjection to do this properly on mobile devices with regard to orientation (on non-mobile it will be usual multiplication by diagonal terms of projection matrix).
· Shaders: Added per vertex lit tree shaders previously used in the Bootcamp demo. To be used with Tree Creator trees and located in "Nature/Tree Creator Leaves Fast".
· Desktop GLSL shaders now allow OpenGL ES precision types to be used.
· Added GL.GetGPUProjectionMatrix that returns actual projection matrix that will be used in shaders.
· Added support for 16bit RenderTextures.
· Scaled meshes are now only recreated if the scale has actually changed. This improves performance hiccups on same games.
· Texture2D.GetPixel and friends work on RGBA32 textures (common case for uncompressed textures on mobile platforms) in addition to ARGB32 ones.
· Texture2D.Apply and Texture2D.PackTextures now have additional parameter makeNoLongerReadable (default to false) that will mark Texture as not Readable, and free up system memory after uploading to GPU.
Fixes:
Shaders: Bunch of fixes to Cg->GLSL shader translator:
· Translates 'half' and 'fixed' matrix types properly (previously 'half' was translated to high precision, and 'fixed' was not supported).
· Support lit() built-in function.
· Fixes to swizzles on floats.
· Support static qualifier.
· Better handling of 2D matrix indexing, e.g. matrix[i][j].
· Shaders: fixed mis-compilation of matrix constructors & matrix indexing when translating shaders to GLSL.
· Shaders: fixed mis-compilation of modf() and fmod() when translating shaders to GLSL.
· Shaders: Postprocess Direct3D pixel shaders that come close to 64 instruction limit to work around a crash on Intel GMA 950.
· Shaders: Fix some bogus error messages when loading Direct3D shaders.
· Surface Shaders: in case of syntax errors, proper line numbers are reported now... how cool is that? ;)
· Surface Shaders: support #pragma multi_compile directives properly.
Lightmapper fixes:
· Fixed UV layer creation for Beast. Fixes all the "Duplicate uv layer name" errors.
· Fixed tiling and offset being ignored for _MainTex on objects using a non-white color.
· Fixed an issue in Beast causing black areas surrounded by white outlines to sometimes appear in lightmaps.
· Fixed lightmapping of objects with mirrored (odd-negative) scale.
· Fixed the crash when lightmapping terrains where the Terrain script references a missing TerrainData asset.
· Fixed an issue with Beast occasionally cancelling the bake process (especially on Mac OS X, but also causing poor performance on Win) when using a lot of memory.
· Fixed the issue with 4096 size terrain lightmaps not baking on Mac OS X.
· Fixed DXT5 alpha channel decompression to better match what GPUs are actually doing.
· Fixed Texture2D.GetPixel on Alpha8 format returning 0.00392 in RGB channels instead of 1.0.
· Fixed a bug in Cloth rendering that was mostly happening on Windows with Radeon GPUs.
· Fixed custom projection matrices sometimes not working properly.
· Fixed inconsistent triangle count display in Game View Stats when dynamic batching is used.
· Fixed creation of compressed textures at runtime.
· Fixed validation of vertex/pixel shaders that use more textures than the GPU can handle.
· Fix texture scale/offset not being applied when writing shaders in GLSL for desktop platforms.
· Fixed editor fonts getting corrupted once RenderTextures are used on Mac OS X 10.5.x with Intel GMA 950 GPU.
· Fixed Texture2D.ReadPixels on Direct3D when reading into a portion of a texture.
· Fixed Soft Occlusion Tree shaders sometimes rendering overbright on Windows with GeForce FX/6/7 GPUs.
· Fixed lightmapped VertexLit shader applying fog in a wrong way on old GPUs with only 1 texture unit.
· Texture2D.ReadPixels properly reads from Game View when non-full aspect ratio is used.
· RenderTexture.GetTemporary now always returns a texture with bilinear filtering set (previously could return with something else when returning a texture from existing texture pool).
· Fixed directional light shadows in case of weird projection matrices (e.g. Refractive Water).
· Make WindZones be properly affected by Time Scale.
· WindZones properly affect Tree Creator trees put into terrains now.
· Fixed wrong Point/Spot light attenuation on Tree Creator leaves.
· Graphics.Blit does not require using Cull Off in the shader now.
· Shadows can be properly cast from particles now, if you use opaque or cutout shaders on them.
· Fixed changing Flare color from script not always having effect.
· Opaque objects are front-to-back sorted again for performance reasons. Looks like this got lost with all batching work in Unity 3.0.
· Fixed dynamic batching issues with uniformly scaled objects and vertex lighting on Direct3D.
· Fixed rendering of scenes containing objects with odd-negative scale in deferred when any of the lights was casting shadows.
· Fixed Deferred Lighting not respecting camera's Don't Clear mode.
· Fixed bogus error message when a shader with an empty name has no fallback.
· Fixed half-texel offset error when generating tree creator texture atlas.
· OpenGL ES 2.0: Fixed Fog with semitransparent fixed function shaders.
Unity iOS:
Improvements:
· Alpha-tested objects are drawn after fully opaque ones for performance reasons.
· Implemented MSAA (Multisample anti-aliasing) support. You choose it in Quality Settings just like for other platforms.
· Audio: Gapless looping of MP3s! Unity's MP3 encoding is completely rewritten and silent frames and/or audible "pops" around the loop point is no more. Use the "Gapless loop" option in the Audio Importer to encode the MP3 for looping. Beware this stretches/resamples the sound which theoretically can affect quality.
· Mobile devices now have their own quality settings (Project Settings->Quality->Default Mobile Quality).
· Improved performance by using OES_vertex_array_object and EXT_discard_framebuffer extensions.
· Added automated native plugin integration into Xcode project. All .m/.mm/.c/.cpp/.a files located in Assets/Plugins/iOS will be merged into Xcode project with every Unity project build.
· Performance warning now shows up when deploying a project using anti-aliasing and/or more than 1 pixel light.
· Use unnamed process-wide kernel semaphores instead of slower system-wide semaphores.
· Added armv7 only target platform.
· Added "latest" SDK option, should work only for 4.2 and later SDK.
Fixes:
· AOT compiler stability improved when generics are used with value types like Vector3.
· Audio: Restore AudioSession without losing any state (audio will continue just where it was interrupted).
· Audio: Fix audio stopping when releasing a source referencing an audio clip that is in use. This resolves audio stopping when loading a new scene.
· Fixed SystemInfo.operatingSystem.
· Fixed Toon Outline shaders not working on iOS with landscape orientation (update Toon Shading package).
· Fixed audio not coming back after an app switch on iOS.
· Fixed simulator support.
· Fixed -all_load linker option support.
· Fixed GUI slider + stripping problem.
· Fixed problem when editor was stuck in Xcode project append mode.
· Fixed animation curve stripping problem.
· Fixed UnityScript and Boo Array support.
· Fixed MonoProperty.GetValue for .NET 2.0 Subset profile. For full .NET 2.0 profile this feature is not supported.
· Fixed freeing up audio assets after loading audio into FMOD.
· Now editor will report location service as stopped instead of running.
· Audio: Fixed www.audioClip streaming.
· Improved micro mscorlib compatibility with stripping.
Unity Android:
Improvements:
· Upgraded to Android OS 2.3 (Gingerbread); Editor needs the latest SDK.
· Android Remote - Remote debugging tool for Android devices.
· The script debugger is now enabled for Android players.
· Added proper development build player, with support for profiling / debugging.
· Proper device filter for devices equipped with an ARMv6 (VFP enabled) CPU.
· Support for reversed landscape / portrait up-side-down screen orientation (Gingerbread and later only).
· Support for extra large screens, ie tablet devices (Gingerbread and later only).
· Implemented Location Service (GPS/Wifi).
· Decreased the install size to the Internal Storage flash memory (currently approx. 180KB, ie ~2% of 3.1).
· Audio: Gapless looping of MP3s! Unity's MP3 encoding is completely rewritten and silent frames and/or audible "pops" around the loop point is no more. Use the "Gapless loop" option in the Audio Importer to encode the MP3 for looping. Beware this stretches/resamples the sound which theoretically can affect quality.
· First draft of typeless JNI integration from scripts (C#/JS) through AndroidJavaObject / AndroidJavaClass and AndroidJNI / AndroidJNIHelper.
· Added UnitySendMessage on Java side to provide callback functionality to C# / JavaScript.
· WWW now uses system URL class; https://, and also jar:, is now supported.
· Added Application.persistentDataPath and Application.temporaryCachePath.
· Added PlayerSettings / Other Settings / Force SD-Card Permission.
· Removed all Unity specific resources from /res/ folder; this will ease the integration of Java resources in Plugins.
· LVL permissions are detected by usage, rather than whether PlayerSettings / LVL Public Key is filled in.
· Input.inputString now also works with hardware keyboard on the devices which have one.
· Added editor preference for Android SDK location.
· Now have their own quality settings (Project Settings->Quality->Default Mobile Quality).
· Performance warning now shows up when deploying a project using anti-aliasing and/or more than 1 pixel light.
Fixes:
· Fixed the tablet accelerometer bug where portrait/landscape axis were swapped.
· Fixed NullPointerException race-condition in FMOD when pausing the application.
· Behaviour of 'Compress Assets on Import' turned off is now that no textures or assets will be reimported with their platform specific override settings right away. Thus allowing for fast switching between build targets. When a build is made, all assets are ensured to have the right format. (was done in earlier builds actually).
· JDK lookup now fallbacks to use the PATH if registry key is not found / valid (Windows).
· Fixed: No more duplicate entries in AndroidManifest.xml.
· Fixed the clip rectangle of the soft input text box not being updated properly.
· Added missing Mono machine.config specification file (needed for SQL access).
· Audio/Accelerometer disabled in QCAR application due to missing onResume() call.
· Audio: Fixed www.audioClip streaming.
· Fixed crash when the LVL key is invalid.
· Fixed touch began events to always have zero Touch.deltaPos.
· When tapping faster than once per frame, individual taps are no longer lost, they're reported as taps with a separate finger ID and properly incremented tap count.
· Touch.tapCount is no longer hardcoded as 1 and properly returns number of rapid taps in nearly same position.
· Timestamps no longer lose data by squeezing 64-bit values through 32-bit parameters.
Audio:
Improvements:
· FMOD 4.32.02 used across all platform/build targets.
· Fallback on FMODs software mp3 decoder when Apple's decoder (hw/soft) fails completely.
· Better documentation for min-/max-distance properties.
· .Play() with a delay now works on iPhone.
· Streaming with WWW.audioClip now works with OggVorbis (PC/Mac/Web), MP3 (iOS/Android), WAVs (all platforms) and module files (all platforms).
· Streaming with WWW.audioClip is much faster.
· Stream audio from disc. Added "Stream from disc" option in the Audio Importer. Choose this to stream audio directly from disc instead of loading the entire clip into memory. This can decrease your application memory usage greatly.
· Optimize the playback of compressed audio (on Android and iOS).
Fixes:
· AudioImporter inspector cleaned up and simplified.
· Fix sounds starting when switching back to a paused editor on Windows.
· Fix memory trash when encoding 8 bit wav files to MP3.
· Never re-encode already encoded/compressed audio.
· You can now set labels on Audio Clips.
· Reverb zone's position can now be changed runtime.
· Optimized play back of uncompressed audio (wav/aiff) files with "Compressed in memory" flag checked.
· Fixed min/max curve editor drawing when min/max-distance is set from script.
· Fix audio inspector showing garbage for audio assets that failed to import.
· Force To Mono checkbox disabled for already encoded files. It had no effect anyway.
· Meta files on older audio assets not changed when upgrading.
Physics:
Improvements:
· Tweaked Continuous Collision Detection to behave better, with objects coming to rest properly.
· Allow access to cloth simulation vertices by exposing Cloth.vertices and Cloth.normals.
· Added Rigidbody.constraints to allow constraining Rigidbody rotation and movement to specific axes.
Fixes:
· Changing the trigger flag of a collider at runtime will now also be respected by Raycasts.
· OnCollisionExit messages now work when the colliders are moved apart from scripting.
· Fixed SkinnedCloth crashing Unity on player resolution change.
· Fixed a crash in PhysX which could occasionally occur when modifying or destroying a collider during a CCD collision.
· Parenting a collider to a rigidbody at runtime will now correctly add it to the rigidbody.
· Fixed a crash when destroying or deactivating a collider in OnControllerColliderHit.
· Fixed editing Character Controller propteries in play mode.
· Make SphereCollider vs. TerrainCollider collisions smoother.
· Fixed a crash in PhysX when trying to use some oddly-shaped meshes as convex MeshColliders.
· Fixed a crash when trying to set properties on an invalid SpringJoint.
· Fixed wrong prototype for OnCollision* messages causing classID errors.
· Fixed setting MeshCollider properties from the inspector at runtime and a related editor crash.
· Collider.bounds will now return an exact bounding box for rotated capsule and sphere colliders.
Other Improvements:
JavaScript Improvements:
· Multidimensional arrays: int[,]
· do-while statements.
· final/static/internal class modifiers.
· Support for nested classes, enums and interfaces.
· Assembly level attributes: @assembly SomeAttribute()
· Parameter attributes: function foo(@SomeAttribute bar)
· Support for turning off specific pragmas on a per module basis: #pragma strict off
· MonoDevelop: Improved code completion for JavaScript and Boo, especially on Windows.
Scripting Improvements:
· Added OnDestroy function that is called before any MonoBehaviour will be destroyed.
· Added AssetDatabase.ExportPackage and AssetDatabase.ImportPackage.
· Using AddComponent(Type t) now works for components that come from dynamically loaded assemblies at runtime.
· Added MovieTexture.duration.
· Added Mathf.IsPowerOfTwo and NextPowerOfTwo.
· Object.ToString will now return the object's type and name.
· Updated Boo to 0.9.4.9 version.
· Increased reliability of destruction functions. OnDestroy and OnDisable will be called on the game object before any modifications to the game object hierarchy have occurred. Destroying of objects is now faster.
· Networking: It's now possible to remove Network.Instantiate calls from the RPC buffer by calling Network.RemoveRPCs on the first NetworkView in the instantiated object.
· Caching: the caching feature is now usable by all content, with or without a special license. Unlicensed content will share a single 50 MB Cache folder.
· Standalone builds: Added an option to disable writing of log files, because Apple may otherwise reject Mac App Store applications in some cases.
· Standalone builds: Added watermark when running Development builds, to avoid shipping with profiling/debugging turned on.
· Asset Server: explain to user why some of the selected assets in merge window cannot be merged.
Other Fixes:
· Fixed a potential crash when stopping a streaming movie texture while it is downloading.
· Generated materials during import now have correct capitalization.
· Exposed texture settings in TextureImporter class.
· Fixed deadlock in some corner cases in the Instantiate function, while loading asynchronously.
· Left handed mouse buttons are now correctly recognized on Windows.
· Standalone Player: Fixed instability/crash when running the Windows player in batchmode.
· Mac OS X Standalone: Fixed default folder access mode setup to be allowed onto the Mac App Store.
· OnApplicationPause is always invoked.
· Fixed "thread_stack_pcs" and "~/.wapi" Mac App Store submission problems.
· Destroying a transform component is now forbidden and an error message is displaying telling the user to destroy the game object instead.
· Fixed crash when passing a generic type as argument to Resources.FindObjectsOfTypeAll.
· Fixed crash when passing a generic type as argument to GetComponent.
· Fixed: javascript shortcircuited boolean operations that involved implicit boolean casts of operands were not short circuiting.
· Fixed: javascript support for calling methods taking a variable number of arguments with an explicit array argument.
· Application.LoadLevel will not destroy scene assets if they are still in use by a game object marked as DontDestroyOnLoad.
· Fixed Copy, Paste and other keyboard commands in Mac OS X Standalone.
· Fixed Input.mousePosition while typing in Mac OS X Standalone.
· Fixed installation of Unity Web Plugin from Dashboard widgets.
· Caching: Added Caching.IsVersionCached as replacement for the deprecated GetVersionFromCache.
· Fixed setting the font of a TextMesh from a script (the mesh would not update previously).
· Fixed a crash when creating Behaviour-derived built-in components during a FixedUpdate() call.
Web Player Fixes:
· Java Applet Installer: Use custom logo and progress bar/frame like in regular web plugin.
· Fixed issue with loading Meshes built with older version of Unity.
· Mouse movement is properly recognized on Google Chrome.
· Internet Explorer now recognizes Tab key.
· Background, border and text colors are properly displayed when installing Web Player.
· Google Chrome doesn't crash when web page is refreshed multiple times in succession.
· Internet Explorer doesn't crash during Web Player installation when legacy Java version is installed.
· Fix crash when webplayer encounters .NET code it thinks is illegal. VerificationException is now thrown instead.
· WWW.LoadUnityWeb will now work with streamed .unity3d files.
· Allow passing strings with line breaks ('\n') to Application.ExternalCall.
· Mac: Fixed Copy&amd;Paste (and other Cmd-key equivalents).
· Mac: Fixed a problem where the player could fail to update the screen in Chrome.
· Mac: Fix an occasional plugin failure when trying to load Unity 2.x content.
· Mac: Make cursor hiding in Google Chrome and Firefox 4 work reliably.
· Mac: Fix focus issue in Firefox 4.
· Mac: Fix crash when unloading plugin in Firefox 4.
· Mac: Fix normal PowerPC webplayer behaving like development webplayer.
Animation Fixes:
· Animations were not sampling last keyframe in Clamp and DefaultWrapMode modes.
· Animations were not stopping properly when animation speed is negative.
· Unity uses much less memory when importing split animations now.
· Fixed leak when animation system sampled material at out of bounds material index.
· ModelImporter inspector doesn't allow to enter 0 frame split animations and ModelImporter gives error if it finds such animations.
· When imported model has has multiple roots and animation doesn't Unity will add an extra root to animation in order to unify hierarchies.
· Fixed import of textures/materials from old MotionBuilder files.
· Fixed Materials are not imported from all layers (fixes Fbx2010.2 imports from Cinema4D).
· Fixed 3ds import crash when special characters are used in texture paths or material name.
· Implemented detection and warning when Scale Compensation is used in FBX file.
· Implemented detection and warning for FBX files which have keyframes at invalid times (before -100 hours).
· Fixed FrameRate import from FBX 2011 plugins - previously it used to always have 30FPS when imported from FBX 2011 plugins (i.e. Maya 2011, 3dsMax 2011 and so on).
· AssetServer: Fixed case where merging a conflicted file would result in a file with its last content chopped off.
· Security: Remove excessive logging from socket and www security.
· Security: Security check now accepts URL extensions using upper case chars.
· VisualStudio/MonoDevelop integration: ignore warning about private methods not being used, since Unity users need to use that construct a lot.
· MonoDevelop: Workaround network failures when detecting local editors on Mac OS X.
· MonoDevelop: Incorporate improvements from MonoDevelop 2.4.2.
· Mono: Merged fix for generics constraint validation.
· Mono: Fixed yield when waiting for multiple coroutines.
· Mono: Fixed crash when Starting empty coroutine.
· MonoDevelop: Merged fixes from stable 2.4 branch.
· Networking: message type 73 is now properly processed as a NAT punchthrough failed connection attempt.
· Networking: Fixed proxy server issues when using Network.useProxy.
· Networking: Fixed problem with using NAT punchthrough in the Editor, it didn't work after the first time and unknown message ID errors popped up.
· Networking: Fixed problem with NAT punchthrough on Windows machines related to network GUID overflows.
· Networking: Fixed problem with NAT detection where Port Restricted was sometimes reported instead of Address Restricted or Full Cone.
· Fixed using layers and multiple animation per layer could result in incorrect blend.
· Fixed ImportNormals mode None (on FBXImporter) didn't work it used to do the same as Calculate mode and give and an incorrect warning.
· Removed/Cleaned up small leaks in WWW class.
Changes:
· Editor: iOS SDKs prior 4.x were removed from SDK list. New default is iOS SDK 4.2.
· Implemented 3 minute timeout for import of Maya files.
· Implemented detection, fix-up and a warning message for NANs in animation curves of FBX files.
· Default Sync to VBL to 'true' in Good, Beautiful, and Fantastic Quality Settings.
· Proper errors when there is another project's library folder in the project.
· Application.dataPath will work like in the web player, returning the URL of the folder containing the .unity3d file (previously it would just crash).
· WindZones do not "ramp up" over time anymore.
Known Issues:
· When autoconnect profiler is enabled the Editor can become unresponsive after selecting Build and run for Android.
Direct Modo file import issues:
· Files can not be imported from modo 401, due to a problem in Modo batch mode.
· UV coordinates for some meshes are not imported correctly, due to a problem in Modo Collada plugin.
· Normals for some meshes are always exported as hard edges, due to a problem in Modo Collada plugin.
· Unwrap: some implementation details were changed, so you may need to rebake your lightmaps, due to UV changes.
· 3dsMax reference meshes are not imported correctly (FBX plugins do no export any modifications added on top of the instance), because of the bug on Autodesk side. No changes on Unity side are needed, so it will be fixed as soon as Autodesk fixes FBX plugin for 3dsMax.
· Materials on instance meshes are not imported correctly - they always share the same material. This happens due to structure of FBX files, so this can't be fixed until Autodesk makes FBX structures more suitable for instanced meshes with different materials.
· Audio: Seamlessly looping clips breaks when compressed for iPhone/Android.
· When duplicating a dirty asset its preview in the Object Picker is incorrect until dirty again.
What's new in Unity 3.1.0:
November 26th, 2010New Features:
· Managed .NET DLLs can now be placed in the project folder and can contain script code, including MonoBehaviours, EditorWindows and ScriptableObjects. This allows you to move any code into a DLL, making code sharing between projects easier, and making it easier for middleware developers to create libraries without sharing the source code. This was introduced in Unity 3.0 but was not mentioned in the release notes.
· Scripting: Added GL.InvalidateState() to flush the internal renderstate cache in Unity. This is mostly useful when writing native code plugins that access the 3D device.
· Audio: Added AudioSettings.outputSampleRate. Returns the mixer's output rate; use this to calculate the precise hertz range returned from GetSpectrumData().
Fixes:
· Editor: Fixed out of memory errors when editing very large terrains due to the Undo system.
· Editor: Fixed "too many open files" error when reimporting a large project with many shaders on Mac OS X.
· Editor: Some textures would not say "Texture not yet compressed" when importing with the "Compress Textures" preference turned off.
· Editor: Fixed a bug where upgrading a Unity 2.x project with normal maps would leave some normal maps not marked as Normalmap type properly.
· Terrain Engine: Unity 2.x Soft Vegetation tree shaders had lighting upside down :)
· Shaders: fixed Surface Shader compilation errors with large custom output structures.
· Shaders: wrong syntax in UnityCG.glslinc file (for GLSL shaders).
· Graphics: fixed Projector crash in some circumstances.
· Graphics: fixed tangent vectors not bound correctly with GLSL shaders on some GPUs.
· Graphics: fixed dynamic batching corrupting vertex colors on Direct3D.
· Graphics: fixed GL.TRIANGLES rendering with large triangle counts on Direct3D.
· Graphics: fixed some hiccups when changing non-uniform scale of meshes.
· Graphics: Fixed dynamic batching index overflow.
· Audio: GetOutputData/GetSpectrumData API changed so it accepts an pre-allocated array instead of allocating on every call. Old API is deprecated and marked obsolete.
Unity iOS Fixes:
· Fixed render texture support on iPad with OS 3.2.
· Fixed video autorotation. Pinch zoom gesture now disabled during video playback.
· Fixed stripping of GUI scrollable area.
· Fixed OpenGL ES 1.1 cache invalidation, which was sometimes causing visual artifacts.
· Fixed render texture memory leak.
Unity Android Improvements & Fixes:
· Plugins folder is moved; it now uses Assets/Plugins/Android to scan for plugins.
· Plugins now support standard Android project layout; /assets, /bin, /libs and /res will be merged with the final package.
· Added 'update necessary' notifcation dialog for Samsung devices running pre-2.2 OS firmware.
· License Verification Library (LVL) no longer causes a crash.
· Added iPhoneUtils.isApplicationGenuineAvailable() to be able to determine if application integrity can be confirmed or not.
· Ignore .meta files (with external version control) when packaging the .apk.
· Assign DefaultImporter to platform specific plugin assets.
· Custom manifests are now merged with the properties from the editor (like Bundle Identifier, Version and permission flags).
· Ship UnityPlayerActivity as source code template for writing plugins with custom activity classes.
· Added support for translucent (RGBA 8888) rendering surface.
· com/unity3d/player/UnityPlayerActivity.currentActivity field is now found at com/unity3d/player/UnityPlayer.currentActivity.
· iPhoneKeyboard is now displayed on top of the application; it supports the basic soft keyboard layouts (URL, Email, Phone, etc).
· PlayMovie is now displayed on top of the application (instead of in a separate activity); fixes the screenCanDarken issue while playing movies.
· The editor now checks for device specifications before trying to deploy in Build&Run.
· The editor will try to locate the JDK based on information stored in the registry on Windows.
· Fixed C# assemblies being loaded from the wrong thread; was causing crashes if external classes were loaded late at runtime.
· Fixed render textures on OpenGL ES 2.0.
What's new in Unity 3.0.0:
October 1st, 2010Android Support:
· Support for Android OS is added in this version.
· Please note that this an early build and does not represent the final Unity Android quality.
Standard Assets:
· Standard packages split into more specialized and smaller packages.
· New Image Effects: Sun Shafts (aka God Rays); Bloom & Lens Flares; Vignetting & Chromatic Aberration; Curve based Color Correction; Depth of Field; Contrast Enhance (aka Unsharp Mask); Geometry Outline; Fisheye; Create Shading.
· Improved particle effects.
· New Skyboxes with alpha channels to be compatible with Image Effects.
· New Editor Scripts for useful shortcuts that are not built-in.
· Improved First Person Controller that uses Character Motor script.
· New CharacterMotor script for use with CharacterControllers.
· Proper movement on slopes and steps without loosing grounding.
· Support for standing on moving platforms with multiple movement transfer modes when jumping off.
· Variable height jumping and other jump improvements.
· Improved speed and acceleration control.
· Customizable sliding and perpendicular jumping can prevent climbing up too steep surfaces.
· Detached from input so it can be used for first person, third person, AI, etc.
New Editor Features:
· Black is the new 50% gray. Unity Pro got a new look - you can toggle it in the preferences.
· Procedural Tree Creator. Documentation.
· Integrated Lightmapping via Illuminate Labs' Beast. Documentation.
· Automatic generation of lightmap UVs (mesh import setting).
· Terrains use the same solution and gain a whole new look when used with skylight.
· You no longer use special "Lightmapped" shaders; all shaders that interact with lighting can handle lightmaps. Dynamic shadows from characters mix with lightmaps properly.
· Object Selector. We no long show a simple dropdown menu; instead a swanky new window opens up, with previews and everything.
Scene View improvements (documentation):
· Search field with interactive highlighting of objects.
· Rectangle selection.
· Vertex Snapping for precise object placement.
· Live previews of material, prefab and texture drags into the scene view.
· Improved camera handles, and a camera preview window.
· Improved light handles.
· More consistent scene navigation controls.
· New texture Import Settings dialog with simpler interface & per-platform import settings.
· New Build Settings window to better support multiple platforms.
· New and more organized platform-aware Player Settings Inspector.
Curve Popup Window:
· Any public script variable of type AnimationCurve is now exposed in the Inspector as a curve field.
· Clicking a curve field opens a popup window with a curve editor, similar to the curve editor in the Animation Window.
· Customizable curve fields can also be used in custom editor windows.
· Editor checks when new versions are available< and notifies the user.
· Texture compression is now multi-threaded for faster texture imports on multi-core computers.
Asset Server Window:
· History window shows multiline commit descriptions directly in the list instead of tooltips.
· Selected history window items are revealed better.
· Framing (F key) works for history window file list.
· Remember user/password per host name.
· Disable merge button in conflict resolution window for non-merge-able items.
· Improved error reporting for shaders. Shader Inspector also displays the list of errors & warnings for selected shader.
· Implemented snap to grid in Curve Popup Window and Animation View when holding down Control (Command on OS X). Control/Command no longer adds to selection, but Shift can still be used for that.
· Editor Console displays total number of errors & warnings in lower right corner.
· Improved inspector for movie audio.
· Windows: Double-clicking *.unitypackage will open and import it.
· Editor API has been expanded: documentation.
· Added option to search for object types instead of names in the project search field.
· Can now drag objects onto an array field in the inspector to add them to the array.
· Can now drag project folders onto the Project Wizard on Mac OS X to select them.
· Nicer display of thumbnails when dragging tabbed editor windows.
· Long operations show progress badge on the Unity Dock icon in Mac OS X and on the taskbar button in Windows 7.
· Added support for touchpad gestures in OS X editor, for maximizing windows (pinch gesture), and switching camera in scene view (swipe gesture).
· Overdraw visualization mode does not do alpha testing now. Alpha tested pixels still cost on the GPU, so better to visualize the real cost.
· Animation window can display animation clips from prefab, just click the prefab's root game object.
· Protect Transform position, rotation, scale against invalid values.
· Build Pipeline: Typetrees are removed from serialized files (assets) when possible, this make resource files smaller and loading time faster.
· Double-clicking a Game Object in Hierarchy View will frame select it in Scene View.
· When going out of Play mode and the Game View is docked together with other tabs, go to last active tab instead of always focusing or creating a Scene View tab.
· Now the Hierarchy View has a toolbar too.
· API Compatibility setting in player settings lets you choose your mono profile. Use 2.0 if you're having trouble with 3rd party assemblies (2.0 not available for web player).
· High resolution icon support for players (Windows: 256x256 and 128x128; iOS: 114x114).
· Search results in project and scene search are now sorted alphabetically.
· Inspector Lock got a real button instead of being hidden in a menu.
· Rotate Tool now includes 'Look At Point' option when Shift + Control/Command keys are held.
· Audition audio in SceneView. Scene view search now filters audio sources as well.
· Added Web Player build templates.
· It is now possible to update Asset Server project to specific revision through command line.
New Graphics Features:
· Static Occlusion Culling using Umbra sPVS.
· Geometry Batching: static and dynamic batching from Unity iPhone 1.7 comes to all platforms.
· Rendering paths: (choose in Player Settings or per-Camera; documentation)
· Deferred Lighting. A deferred rendering scheme, where realtime lights are not horribly expensive anymore. Lighting cost is only dependent on the number of pixels it touches, so you can have lots of small lights for cheap.
· Vertex Lit. This makes all shaders & lights use fixed function per-vertex lighting. In exchange, this is fast; primarily targeted at mobile platforms and low-end web.
· Forward rendering path had lots of changes compared to Unity 2.x, see below.
· Surface Shaders - a much easier way to write shaders that interact with lighting. We don't have the docs for it yet; you'll have to trust us that it's awesome!
· Speed! We have optimized the rendering code; it's often 20-50% faster than 2.6 in the same scene setups.
· OpenGL ES 2.0 for iOS and Android. You can use shaders for objects, post-processing effects etc.
· Regular Cg/HLSL shaders and Unity 3 Surface Shaders will be cross-compiled into GLSL behind the scenes. Resulting GLSL will be optimized as well, because mobile platforms are not very good at optimizing the shaders.
· Of course, since mobile platforms are not very powerful, you should use OpenGL ES 1.1 if possible.
· Particle Rotation: Particle.rotation, Particle.angularVelocity and respective properties in ParticleEmitter.
· Soft Particles! When you use Deferred Lighting and have Soft Particles on in Quality Settings, particles will fade out close to intersections with the scene. All built-in Particle shaders (except VertexLit) support this.
· Shadowing improvements: use native shadow maps on Direct3D (faster, less memory, native filtering); much reduced self-shadowing artifacts; Soft shadows support for Point lights; much less "shadow halos" around objects for directional light soft shadows; optimized shadows for Forward rendering path (shares depth buffer with main rendering); optimized shaders for directional light shadows.
· Terrain: Added slider (under Terrain Settings) to control detail object density.
· Vertex shaders for Shader Model 3.0 on Direct3D9 and GLSL on OpenGL can read from textures.
· Skybox is rendered after opaque geometry. Improves performance if your application is fillrate bound.
· Separate Alpha Blending: use Blend ColorSrc ColorDest, AlphaSrc AlphaDest in ShaderLab.
· In-editor visualization on which objects would use which rendering paths (green/yellow/red for deferred/forward/vertexlit).
· #pragma glsl for compiling Cg/HLSL shaders into GLSL instead of ARB assembly programs on OpenGL.
· Compiling shaders to #pragma target 3.0 allows 512 texture indirections on OpenGL (up from 4).
· Development standalone players on Windows have Direct3D PIX events; useful if you use PIX, Intel GPA or other graphics performance tools.
· Fog just works on Direct3D with Shader Model 3.0 shaders, on OpenGL with GLSL and on OpenGL ES 2.0. Additionally, there's no need to write #pragma fragmentoption ARB_fog_exp2 in your shaders anymore; just remove that line.
· CameraDepthTexture modes can be combined if you want to get both depth & depth+normals textures.
· It is possible to forcibly disable Anisotropic filtering on a texture, even when Quality Settings have anisotropic on all textures. Just set anisotropic slider on the texture to zero.
· Uniformly scaled objects will no longer be pre-scaled before rendering - instead uniform scale is now natively supported by the renderer.
· Cg/HLSL VPOS (pixel position) pixel shader input semantic is supported now.
· Terrain: Expose detail resolution per patch; previously was hardcoded to 8.
· Terrain: Improved performance of painting textures & detail objects.
Asset Pipeline Improvements:
· Upgraded to FBX SDK 2011.2.
· Import support for stepped and linear keys for position curves; improved compression and curve fitting for position curves.
· Settings for allowed animation compression error in mesh importer.
· Implemented support for importing 1 unit in 3dsmax as 1 unit in Unity (the default is 1 cm in 3dsmax as 1 unit in Unity).
· Implemented import of tangent space from FBX, .max, .mb and .ma files.
· Switched Cinema4D import process to work in background mode.
· Support for Cinema4D R11 on Mac OS X.
· Support for FBX2010 format when exporting from Cinema4D.
Audio Improvements:
· Filter components: Reverb, Echo, Distortion, Chorus, High- and Low-pass. Can be applied to each audio source or globally to the listener.
· Reverb Zones: Apply reverb to main audio output, when the listener is within zone(s) defined by a position and min/max radii.
· Live output and spectrum data access from each audio source or globally from the listener.
· Tracker/Mod file support.
· Sample-accurate synching. Sources played in the same frame are always started at the exact same point in time. Sources can be delayed and played in the future on an exact sample accurate boundary with .Play(int64 delay).
· Surround sound (7.1, 5.1, 4.0, ProLogic DTS) support.
· Attenuation curves for volume, spread, panning and lowpass filter factors.
· Doppler factor per audio source.
· AudioSource prioritization.
· iOS latency settings. Choose between Default, Best Performance, Good Latency and Best Latency.
· Asset memory is freed after loading audio data.
Physics Improvements:
· Upgraded PhysX to 2.8.3.
· Cloth and clothing simulation: use the new InteractiveCloth, SkinnedCloth and ClothRenderer components.
· Layer based ignore collisions: use the Physics inspector or Physics.IgnoreCollision().
· Continuous collision detection, to make sure that fast moving colliders will not pass through other colliders. See Collider.collisionDetectionMode.
· Added Physics.SphereCast() and Physics.CapsuleCast() to implement volume raycasts.
· Added Rigidbody.SweepTest() to check if a Rigidbody would collide with anything if moved into a certain direction.
New Scripting Features (documentation):
· Mono Develop for script editing and debugging! Documentation.
· Upgrade Mono and C# compiler to Mono 2.6.3. This brings C# 3.5, variable type inference, lambda expressions, LINQ and more.
· New UnityScript compiler: generics, interfaces, structs, type cast operator, anonymous functions/closures, lambda expressions, function types, type inferred array comprehensions and more.
· New Boo compiler.
· Mono class libraries derived from Silverlight profile for the web player.
· Socket security sandbox implementation. Just like Flash (think crossdomain.xml).
· WWW class security sandbox implementation. Just like Flash (think crossdomain.xml).
· Per-platform script defines. Use UNITY_EDITOR, UNITY_WEBPLAYER, UNITY_IPHONE etc. Documentation.
· Improved UnityScript compilation speed.
New scripting API functions (documentation). Some highlights:
· WWW.responseHeaders will contain the response headers received from the HTTP server.
· Application.isWebPlayer.
· SystemInfo.graphicsPixelFillrate to query GPU pixel fillrate. Returns fillrate for about a thousand GPUs out there.
· GL.ClearWithSkybox.
· Math functions: MoveTowards to Mathf, Vector2, Vector3, and Vector4; Quaternion.RotateTowards.
· Changed Mathf.Approximately to not only be useful for comparing very small numbers.
· Stacktraces have been prettified, useless information is better stripped from stack traces.
Other Improvements:
· Web Player: Java and ClickOnce based installer on Windows for true one-click installation process.
· IME input support (for languages like Japanese, which require multiple keypresses to enter a character) on Windows, and in the editor and standalone on the Mac.
· Support for OS font rendering (new "dynamic" font rendering mode), to save space in distribution and texture sizes. Textures are generated dynamically to contain the characters which are needed.
· Documentation: scripting examples in UnityScript; C# and Boo. Docs for all platforms merged and platform specific parts toggle-able.
· Web Player: UnityObject.js script makes Web Player embedding easier.
· iOS: Added cpu-waits-gpu metric in internal profiler; useful for tracking down GPU bound applications.
· iOS: Native resolution support for iPhone 4.
· iOS: Improved game build sizes.
· iOS: Unity Remote 2: It is possible to turn off image syncing between editor and device. Useful for input-critical games.
· OS X Web Player: Now supports NPDrawingModelInvalidatingCoreAnimation, as will be required by future versions of Chrome.
· Networking: RakNet upgraded to version 3.732
· Networking: Connection tester, Network.TestConnection(), now reports your NAT implementation type more accurately.
· Networking: Exposed Network.logLevel so you can change the amount of log output at runtime.
· Networking: Added network GUID, used for NAT punchthrough.
· Bug Reporter: Supports multiple file attachments; trims attached log files if they are too large.
· Some Changes We Did
· We thought you might want to know about them... Read more in the docs.
Graphics Changes:
Forward rendering path had lots of changes:
· Most common case (one directional per-pixel light) is drawn in one pass now! (used to be two passes in 2.x)
· Point & Spot light shadows are not supported. Only one Directional light can cast shadows. Use Deferred Lighting path if you need more shadows.
· Most "Vertex" lights replaced with Spherical Harmonics lighting.
· Forward rendering path is purely shader based now, so it works on OpenGL ES 2.0, Xbox 360, PS3 (i.e. platforms that don't support fixed function rendering).
Shader & ShaderLab changes:
· If you want to write shaders that fully interact with lighting; it's best to use Surface Shaders.
· Unity 2.x per-pixel lit shaders will need to be manually converted to surface shaders or manually fixed.
· Shaders are compiled to more targets by default (e.g. OpenGL ES 2.0); you might hit some places where OpenGL ES 2.0 does not like some Cg/HLSL constructs. Either fix the offending places, or exclude shader from OpenGL ES 2.0 via #pragma exclude_renderers gles.
· Lots of sanitization to built-in variable names (mostly to accommodate new OpenGL ES 2.0, Xbox 360, PS3 platforms).
· Unity 3.0 will automatically upgrade most of 2.x shaders for syntax changes. This actually modifies your shader files (look for "Upgrade NOTE" in your files).
· Normal map compression; just mark texture as Normal Map and will be DXT5nm compressed at decent quality. All shaders need to use UnpackNormal(n) instead of n*2-1.
· Remove concept of "RECT" textures. All non-power-of-two RenderTextures are addressed with 0..1 UVs now (just like in D3D9 in Unity 2.x).
· Parallax shaders get height from a separate texture now.
· Self-Illuminated shaders get illumination from a separate texture now.
· Terrain lighting modes (Vertex/Lightmap/Pixel) are gone. Terrain is lit just like everything else now.
· When rendering with Shader Replacement, no lighting is ever applied. Skybox, GUI, Halos, Projectors are not rendered.
· Background shader queue is treated like Geometry now (arbitrary sorting, assumed to be opaque).
· OnBecameVisible/OnBecameInvisible have slight behaviour changes. For example, now they are not called each frame on a shadow caster that is not visible itself.
· Self-Illuminated materials calculate emissive color as (material color * texture * illumination); previously was (texture * illumination).
· Simplified Shadow Bias setting on Lights.
· Depth render textures on D3D9 use native depth buffer. Value distribution changed from linear to z-buffer like (just like in OpenGL).
· Spot lights attenuate exactly like Point lights now.
· Point lights with Cookies actually attenuate now.
· OnRenderObject script callback behaviour changed. Now those callbacks are called after everything is rendered; not at points in the middle of rendering.
· Changed the way the Camera-DepthTexture and Camera-DepthNormalTexture shaders are loaded so that they can be overridden when needed.
· Custom Tree shaders specify their billboard shader via Dependency keyword now (instead of Tag). The billboard shader will be automatically included in the build.
· Screen space coordinates should use float4 on all platforms (used to be V2F_SCREEN_TYPE). When sampling a texture with tex2Dproj, use UNITY_PROJ_COORD macro around it.
· Added WorldSpaceViewDir() and WorldSpaceLightDir() functions to UnityCG.cginc.
· Obscure Graphics Changes That No One Will Probably Notice TM: documentation.
· Renamed the 2.x tree shaders and the 3.x Tree Creator shaders; both are put under "Nature" section.
· OnPreCull, OnPreRender, OnPostRender and OnWillRenderObject messages are not sent to disabled behaviors.
· Old Unity 2.x Lightmapped shaders moved under "Legacy Shaders" submenu.
· Terrain: Removed the concept of grayscale lighting from terrains.
Editor Changes:
· Unity Editor on Mac OS X requires Intel-based Mac and OS X 10.5 "Leopard" or later.
· Removed Soft Vegetation option from Quality Settings UI. It does nothing in built-in shaders now.
· Separated preferences for 3.x and 2.x editors.
· Removed ancient Dinosaur graphics emulation.
· Moved "All compile errors must be fixed" notification to scene view notifications (moved it out of console).
· Made the curve editor send a CurveChangeCompleted event when the curve change has been completed.
· Create New Project dialog now expects user to select an existing, empty folder on the Mac
· Mesh Import option "Split Tangents" is on by default.
Texture Importer:
· Bump maps are now referred to as "normal maps" in the editor.
· Normal maps are labelled as "NM" in their format.
· PVRTC compression level moved to advanced settings.
· Generating a Cubemap will make the cubemap be the root asset.
· Textures that only use one value across the whole alpha channel and that value is not 1 are marked as needing-alpha-channel.
· The command and control key modifiers in the view tool have been switched on OS X. Now command moves and control zooms. Control still moves on Windows.
Physics Changes:
· Rigidbody mass is no now longer limited to 10000.
· RaycastCollider is now deprecated.
· Center of gravity and inertia will now always be automatically recalculated when setting or animating collider properties or positions, unless they had been explicitly set from code before.
· Slope limit on character controller now works properly above 45 degrees. When loading old scenes the value will be clamped to 45 degrees to mimic the old behaviour.
· JointDrive.maximumForce will now also be taken into consideration when JointDrive.mode is JointDriveMode.Position. You may need to change your joint setups so that they still work.
Unity iOS Changes:
· iPhoneStreamingAssets is renamed to StreamingAssets and is now located under the Assets folder (visible from within the Editor).
· Target iOS Version field added to player settings. Now deployment target can be specified separately from active SDK version.
· "Enable Unity Networking" flag removed from iOS player settings. Now stripping of networking is handled automatically.
· Most iPhoneInput members moved to Input class.
· Native plugin support added to both Basic and Advanced Unity iOS licenses.
· Added support for iPad / iPhone Simulator
· Hardware audio decoder is now shared between audio clips.
Other Changes:
· Random number generator (Random class) was changed. It is marginally slower, but produces better "randomness", especially in lower bits. Additionally, integer version is not limited to 15 bits range.
· Internal Random number generators (for Particles etc.) are reset after each level load. Now your particles in any level do not depend on what levels were loaded before.
· The default runtime font is now Arial 13, as rendered as a dynamic font on Mac OS X and Windows.
· Scripting: Renamed WWW.data to WWW.text
· Scripting: ScriptableObject derived classes must be instantiated using one of ScriptableObject.CreateInstance overloads.
· Scripting: UnityScript strict mode no longer allows arbitrary downcasts from Object (unless #pragma downcast is used).
· Input: Keyboard on MacOS X will now reflect the behavior on Windows (two separate KeyDown events for key code and character, KeyUp event only for key code).
· Scripting: Removed support for .NET 1.1 profile.
· Scripting: Made previously undocumented GUIClip class internal to UnityEditor.
· Networking: Connection tester now requires 4 public IP addresses to work.
Editor Fixes:
· General: Improved Undo behaviour.
· General: Game View Stats window has more accurate frametime & FPS display.
· General: Don't enter Play mode if there are compiler errors.
· General: Debug.LogWarning will not pause the game if console has Error Pause selected.
· General: You can now search for script derived types in the project window (when Type is selected).
· General: Fix newly created materials in project view sometimes having empty names.
· General: Reset menu option is now undoable.
· General: Fixed importing standard packages into projects with non-Latin characters in path on Windows.
· General: Fix occasional exceptions with Undo when asset inspector loses selected assets.
· General: Fix editor window sometimes shrinking into the corner when changing layout presets on Mac OS X.
· General: Fixed a bug where selecting a scriptable object with a missing script reference would result in null reference exceptions
· Crash: Fixed crash when deleting the last item in an array of strings.
· Crash: Fix crash on Windows when undocking Game View.
· Crash: Fix crash caused by EyeDropper picking color on different monitor.
· Crash: Editor is more resilient to missing object references (eg. a Unity iPhone 1.7 upgraded project was crashing the editor on play).
· Inspector: "Open Compiled Shader" in Shader Inspector works more predictably and uses text editor chosen in preferences.
· Inspector: Fixed display of boolean arrays.
· Inspector: Fixed Material/Mesh/Object previews being affected by scene Fog.
· Inspector: Fix "Any" Texture properties in Materials using the wrong GUI style.
· Inspector: Fixed bug where opening a terrain inspector would dirty the terrain causing it to get saved although nothing had changed.
· Asset server: Fix editor hanging on OS X when trying to merge conflicting text assets.
· Asset Server: Fix unable to update when parent of file modified on server is locally deleted.
· Asset Server: Cleaner Diff output when comparing binary files in Asset Server.
· Asset Server: Fixed asset server caching failing in some cases (e.g. when using EditorUtility.CopySerialized).
· Importing: Tangents will be properly handled when mesh compression is enabled.
· Importing: Fixed direct import from Maya 2011.
· Importing: Using TextAsset to store binary data now actually works, as long as your file has the .bytes extension.
· Importing: Cylindrical cubemap projection generation now works.
· Importing: On rare occasions Unity Editor on Windows was throwing 'Writing file error' while reimporting all assets and anti-virus running in the background.
· Importing: Fix texture object fields in cubemap inspector losing the thumbnail when reimporting.
· Importing: Shader files with uppercase file extensions are properly imported now.
· Importing: Reduced memory usage during texture import.
· Importing: Better memory handling when importing assets, switching scenes, building player.
· Importing: FBX importer gives detailed warnings if it detects problems in the skin of a model.
· Importing: Fixed import of user properties from 3D asset files.
· Importing: Fixed import of multiple animation takes.
· Scene View: The grid is now also shown in Iso mode.
· Scene View: Terrain is selectable in Scene View just like any other object!
· Animation View: Margins are now fixed instead of a percentage.
· Animation View: Improved handling of window resize.
· Animation View: Make create key operations work better for steep curves and disallow it for read-only curves.
· Animation View: Prevent creating keys outside of permitted horizontal range.
· UI: Maximized state of main editor is remembered across sessions on Windows.
· UI: Don't show Project Wizard or Welcome Screen if Reimport All was invoked.
· UI: Fix some of context menus not being properly validated (grayed out) on OSX.
· UI: EditorWindow.Notification now properly shows white text.
· UI: Clamp profiler frame selection dragging correctly.
· UI: Fixed animation icons being clipped in the inspector.
· UI: Fixed dragging tab on Windows putting window title bar above the screen top.
· UI: Show error message if -nographics is used without -batchmode.
· UI: In Package Import Dialog selecting checkboxes will now correctly affect child elements.
· UI: Fixed Asset Server tooltips in Overview window getting too large and disappearing too soon.
· UI: Fixed old regression where pressing F to frame selection frames selected object in last active scene view, if active window doesn't use frame selection event.
· UI: When editor is processing something on Windows, made utility windows not be on top of all application windows in the system.
· UI: Fix error messages when trying to move file to the same folder via Project view on Windows Vista or 7.
· UI: Fixed icons for sub-assets in search view.
· UI: Show proper cursor when trying to drag files out of Unity Editor on Windows.
· UI: License Info word wraps properly in About Window.
· UI: Fixed the eye dropper color picking tool disabling itself when the mouse is moved too fast.
· UI: Fixed editor not finding GUI styles on computers with some of non-English locales.
Rendering Fixes:
· Driver workaround: Fixed occasional crash on some Intel graphics cards when shader uses mismatching texture types.
· Driver workaround: Disabled anti-aliasing on Macs (pre-Snow Leopard) with GeForce 7300 graphics cards; occasional driver crashes.
· Driver workaround: Disabled mip-mapped Render Textures on Macs with Intel GMA 950 cards; occasional driver crashes.
· Driver workaround: Fixed garbage on Macs with GeForce 7300 GPUs. Had to disable Deferred Lighting on those cards though.
· Particles: Particle color and UV animation will now be based on the lifetime of each individual particle instead of the max energy set in the emitter.
· Shadows: Spot light shadows fade out correctly on D3D9.
· Shadows: Fixed point light self-shadowing artifacts which were mostly happening on Mac.
· Shaders: Using more than 8 textures in a pixel shader works now!
· Shaders: Nested block comments (/* foo /*bar*/ */) are supported now.
· Shaders: Fixed error messages sometimes being printed when both GLSL and non-GLSL shaders are present in the scene.
· Shaders: When there are Direct3D shader assembly errors, print the shader name in the error message.
· Shaders: Fixed instruction count reporting for D3D9 assembly shaders.
· Crash: Fixed crash if accidentally setting invalid shadow cascade count in Quality Settings.
· Crash: Fixed crash when shader has unterminated block comments.
· Crash: Fixed crash when shader tries to fallback to itself.
· Terrain: Fixed various issues with terrain billboards (non-uniform scale, culling, mismatch between root of the billboard and the mesh etc.).
· Terrain: Fixed too aggressive culling of billboarded terrain details.
· Terrain: Fixed terrain blocking MouseDown events from scene view gizmos.
· Terrain: Made it possible to use trees with only one material.
· Terrain: Now actually use the tree cutoff value that is set on the material.
· General: Fixed half-texel offset issues with Graphics.Blit on D3D9.
· General: Removed rect clamping for camera's normalized viewport rectangle.
· General: Fixed texture binding on iOS/Android; textures won't become corrupted when loading levels now.
· General: Custom Fonts will now be properly displayed by Unity GUI.
· General: Fixed AABB calculation for just-unloaded Meshes and skinned meshes with no bones.
Unity iOS Fixes:
· Fixed iPad Simulator 3.2 support
· Fixed stripping issue which caused crashes when coroutines are used.
· Fixed WWW.text and "Fast but no exception" problem.
· Fixed a crash when using AnimationCurve property in a script.
· Fixed input processing on iPhone 4 with native resolution.
· Fixed video player orientation on iOS 4.
Physics Fixes:
· Meshes created with Mesh.CombineMeshes will correctly collide when used with MeshColliders.
· Make WheelHit report correct sidewaysDir.
· Make raycasts work when Time.timescale is zero.
· Kinematic or sleeping rigidbodies will now properly update their internal PhysX state when a parent rigidbody gameObject is moved.
· Collision events are sent more properly now.
Scripting Fixes:
· WWW.text respects content-encoding specified in HTTP response headers.
· Debug.Log is now thread safe.
· Fixed internal UnityScript compiler error caused by nested arrays.
· Fix crash when opening a project where a script throws an exception in a static constructor.
· Fixed crash caused by untyped or wrongly typed parameter of message handler.
· Fixed crash when DestroyImmediate is called in user code and Unity doesn't expect the object to be destroyed.
· Material.CopyPropertiesFromMaterial() now works as expected.
· GameObject.SampleAnimation respects the WrapMode of the clip.
· UnityGUI: Fix GUIUtility.RotateAroundPivot and ScaleAroundPivot using screen space pixels instead of clip space pixels.
· UnityGUI: Fix ScrollViews not properly ignoring DragPerform/DragUpdated events.
· UnityGUI: GUILayout.Toolbar now correctly calculates toolbar size.
· Fixed a typo bouncyness in Physics Material, now it's spelled correctly bounciness.
· Fixed a crash when setting negative values for particle minEnergy, maxEnergy through a script.
· Issue an error when the script class name and file name do not match (after script has been attached). Similarly issue an error if a class was changed to be abstract or was turned into an interface.
Networking Fixes:
· Timestamps are now correct in received NetworkView RPC messages.
· Network.useNat has been deprecated. It is now set automatically when you Connect (since you can now only connect with NAT punchthrough using a GUID) and is set in the InitializeServer function call explicitly.
· You can now connect using a HostData struct received from the master server (correct method automatically used) and give a connection password when connecting with GUIDs.
· Fix server crash when player with network views disconnects.
· Fix for problem when using Network.Instantiate after loading a new scene.
· Fixed problem with master server not returning local IP addresses when it should (when host/client are on the same router/external IP).
· Network.TestConnection() now always returns error status correctly. To restart a test after getting an error it needs to be forced with the appropriate parameter.
· Fixed network scope bug which resulted in state sometimes not being synchronized correctly.
Other Fixes:
· Fixed saving screenshots to non-ASCII path names.
· Web Player: Fixed some memory leaks.
· Fixed various corner cases in AnimationEvents logic.
· Audio + iOS: Make UnitySetAudioSessionActive(true/false) actually work.
· Audio: Fix crash when trying to access AudioListener and it doesn't exist.
· Player: fix some of movies playback crashing web and standalone players.
· BugReporter: Escape special characters in bug description.
· Web Player: Fixed one frame of garbage showing when going out of fullscreen mode in CoreAnimation plugin on Mac OS X.
· Audio: AudioSources with PlayOnAwake checked, now plays in the first frame (and can be accessed correctly from Start() and Update()).
· Audio: .time & .timeSamples can now be set before playing AudioSource(s)
· Bug Reporter: Do not terminate the if the bug submission fails (Mac).
· Fixed WWW.uploadProgress crashing the web player (this property still is not fully implemented though).
· UnityGUI: Fix Vertical Margin error for GUILayout groups with multiple elements.
· Web Player: Several fixes to make it work better with Google Chrome on Mac OS X.
· Known Issues
· MonoDevelop: Single-stepping outside the control flow of a script while debugging results in decreased performance until normal execution continues.
· A flaw in the way 64 bit Windows OS handle structured exceptions for 32 bit applications can cause crashes in Unity players. The issue may surface, for example, if a player running on a 64 bit Windows causes a NullReferenceException to be thrown, even if the exception is handled. This bug affects all 32 bit applications running on 64 bit Windows, including Microsoft .NET applications. A hotfix solving the issue is available on support.microsoft.com, but of course this does not help your end user. Your best bet is to keep your players exception-free (which is always a good idea), at least until the fix is distributed to end users via Windows update.
· Touch.deltaPosition and Touch.deltaTime can be inaccurate on Android.
· Tree Editor Leaves can not be manually rotated.
· Debugger: Does not halt on some exceptions thrown from internal Unity engine code.
· Build Settings Window may not initially react to mouse clicks. Workaround: move/resize the window.
· Generate Lightmap UVs: the results may be different on mac and windows. If you encounter this problem, please report a bug.
· Generate Lightmap UVs: performance degradation is expected on highly tessellated mesh. This will be fixed in subsequent releases.
· Graphics: Anti-Aliasing does not work with Deferred Lighting.
What's new in Unity 2.6.1:
December 2nd, 2009· Unity 2.6.1 contains a new webplayer plugin that is compatible with Mac OSX 10.6 Safari when running in 64-bit mode.
· Additionally a number of improvements and bug fixes were implemented to smooth out some of the issues experienced by Unity (free) license holders.
· Additionally, Unity 2.6.1 projects are now compatible with Unity iPhone 1.5.1 projects.
Improvements:
· The Mac webplayer has been rewritten to be compatible with 64-bit Safari on Mac OS X 10.6.
· Reduced time spent connecting to large Asset Server projects.
Editor Fixes:
· Fixed an editor crash when painting trees in the free version of Unity.
· Fixed an FBX import crash bug which could happen with some assets.
· Fixed rendering of terrain details in the editor after a player has been built.
· The Draw checkbox for trees and details in the terrain inspector now remembers it's setting.
· Fixed ImportAssetOptions.ImportRecursive (it didn't do anything before).
· Fixed a bug where the terrain lightmapper would render shadows incorrectly.
· Fixed an error message about asset timestamp counts that sometimes showed up after saving the project.
· Fixed warning when deleting a TerrainData asset which is used in the scene.
· Fixed a bug in which Input.GetMouseButton() would fail in the Editor on Windows, when the game view is detached from the main window.
· Fixed a bug where selecting text with the mouse would deselect the asset when renaming assets in the Project View.
· Fixed an Editor crash when pressing the gear menu on the default references of a script on Windows.
· Editor Search string now resets when objects not matching the search filter are selected.
· Unity will now highlight prefabs in Project view when selecting the prefab from the GameObject Inspector.
· Fixed an editor crash when trying to compare against a non existent asset in the Asset Server history view.
· Fixed an editor crash when passing an invalid prefab reference to EditorUtility.ReplacePrefab().
Runtime Fixes:
· Fixed a runtime crash when changing screen size or FSAA settings when RenderTexture assets are used.
· Fixed more than 2 Image Filters being upside down on Windows when Anti-Aliasing was used.
· Fix GUI toggles drawing with the wrong state when on.
· Fixed a regression which broke WWW.LoadImageIntoTexture() in some cases.
· Fixed AudioSoruce.ignoreListenerVolume to work again.
· Fixed a bug which could cause gamepad input to get lost on Windows when multiple gamepads are connected.
What's new in Unity 2.6.0:
October 29th, 2009New Graphics Features:
· Anti-aliasing now just works with Image Effects (requires updating Pro Standard Assets).
· Added floating point render texture support (4 channel 16 bit floating point).
· Built-in method to generate Depth or Depth&Normals textures: camera.depthTextureMode.
· Camera.layerCullDistances lets you specify culling distances per layer.
· Anti-aliasing setting can be changed at runtime using QualitySettings.currentLevel. Editor also picks up anti-aliasing changes immediately.
· Added an Is Readable setting to texture importer, so textures don't have to use up main memory if the pixels are not accessed from code.
· Ability to limit supported aspect ratios in Player Settings. E.g. your game can say "I only support 4:3 and 16:10", and only matching resolutions will be shown in the resolution dialog.
· Animation culling, so animations outside of the visible screen area don't have to be updated.
· Image Effects work better with multiple layered cameras.
Graphics Optimizations:
· Terrain & Vegetation rendering is much faster and does less memory allocations.
· Compression capability for meshes and animations to improve build sizes.
· Shadow rendering is faster (much less CPU overhead).
· Pixel-lit lights are faster (less CPU overhead).
· Applying matrix parameters to shaders is faster.
· Movie playback is faster.
· Improved shader loading times.
Editor Improvements:
· Brush preview is shown in Terrain editing tools
· Icon for standalone players can be automatically set by Unity (set it in Player Settings).
· Generic List objects can be serialized and shown in Inspector.
· Scene view Gizmos are not displayed for hidden layers.
· There are now Development and Release web players available. The Development one includes Profiler support and is installed with the Editor as well as being available for download seperately. Auto-update and user installations use the Release webplayer.
· You can now build Development and Release Standalone players. In the Build Options you can now select a Development build which will generate a player with Profiler support and debug symbols.
Terrain Editing got a bunch of hotkeys added:
· Shift-Q through Shift-Y selects the tool.
· Comma and Dot cycles through brushes.
· Shift-comma & Shift-dot cycles through the selected detail.
· All of these can be remapped in the Preferences.
Animation Editor:
· New window to edit animation clips. Besides transforms, animation curves can also be created for component properties and material properties.
· Animated objects instantly reflect curve edits and auto-recording automatically adds curves and keys as objects are moved or their properties changed.
· Curve tangents can be auto smooth, free smooth, or each tangent can be free, linear, or constant.
· Support for adding and editing animation events with automatic listing of available methods in attached script components.
· Animation States in the Animation component can now be viewed in Inspector Debug mode to inspect current values.
· Animation component shows animation state array in Debug inspector mode
· Improved performance & responsiveness of the editor
· Editor Console now automatically scrolls to end of log when scrollbar is at the end
· Slightly better color preferences dialog
· Generic Property inspector can now be invoked from OnInspectorGUI or is invoked by default if no OnInspectorGUI is defined.
· Inspector title says "Debug" when debug mode is enabled.
· Shader Inspector indicates when the shader has errors or is not supported by the GPU.
· Ray Snapping improved: If pivot mode is set to center, the object gets placed so the bounding volume is resting on the snapped position. Great for companion cube placement!
· Selected objects can be snapped to grid from Snap Settings dialog
· Debug.Log is now thread safe when used outside of the main thread in the Editor.
Asset Pipeline Improvements:
· External Version Control Systems support. This is alternative way of saving metadata in Unity Pro and can be enabled per project. When enabled, the Assets folder can now be checked into version a control systems, such as Subversion, Perforce or Bazaar, without losing import settings or references between assets.
· 16 bit/channel Photoshop (.psd) files can be imported now.
· Support for direct importing of Cinema 4D files on Windows.
· FBX importing supports Step animation curves.
· AIFC audio file import support.
· Updated FBX libraries to 2010.2.1, fixes some importing issues.
· Support for building Asset Bundles using deterministic ID generation. This lets you create shared asset bundles that can be swapped out with different versions without requiring a full rebuild of all assets. Also lets you create two asset bundles containing assets imported differently; for example one bundle with low resolution textures and one with high resolution textures. See BuildAssetBundleOptions.DeterministicAssetBundle.
New Scripting Features:
· Added a threadPriority property to the WWW class, to control decompression performance when downloading in the background.
· Texture2D.GetPixels now supported on compressed textures.
· Mesh.CombineMeshes() method for more efficient mesh combining.
· ParticleEmitter.Simulate() method to forward-skip a particle system to some point in time.
· ParticleEmitter.enabled property to pause a particle system.
· Renderer.isVisible property to check if a renderer is currently on screen or not.
· EditorUtility.CompressTexture() method to compress editor-generated textures.
· Input.GetJoystickNames() method to get name strings of connected joystick devices.
· QualitySettings.anisotropicFiltering and QualitySettings.masterTextureLimit global texture quality settings.
· Generic versions of GetComponent, AddComponent etc. added for C#.
· Unity version #define exposed for conditional compilation of C# scripts.
· Vector3.Lerp, Color.Lerp and Vector4.Lerp are faster
· Added HSVRGB color conversion functions to EditorGUIUtility
· Gathered more common Editor GUI styles into EditorStyles
· Added EditorGUI.PropertyField and SerializedProperty
· Added SystemInfo.graphicsShaderLevel
· Exposed a bunch SystemInfo variables (OS, CPU, RAM etc.) to scripting.
Documentation:
· Improved Scripting Reference.
New Audio Backend:
· Better overall performance and mixing quality. Lower CPU and memory usage.
· 100% cross-platform and software mixing (no surprises with platform specific implementations and sound hardware/drivers).
· Fixed sound crackling and pops< when CPU is stressed (ie. during garbage collection) or/and changing volume and pitch rapidly.
· Unity can now position and playback all files in 3D (not only mono files).
· Audio devices are now changed instantly when a new device is plugged in, removed or changed in the system settings.
· AudioClip.samples: returns the length of the clip in PCM samples.
· AudioClip.frequency: returns the sampling frequency of the clip.
· AudioClip.channels: returns the channel count of the clip.
· AudioSource.timeSamples: get or set the position of the source in PCM samples.
· AudioSource.time: more precise for compressed, streamed and movie audio.
· Loop button in Inspector Audio previews.
· Audio paused properly when player or editor loses focus (and Run In Background is off).
Online Features:
· Compression capability for meshes and animations to improve build sizes.
· Threaded background loading - load new scenes and AssetBundles smoothly while playing.
· Added a threadPriority property to the WWW class, to control decompression performance when downloading in the background.
· Decompression of unity WWW streams uses less memory.
Asset Server Improvements:
· New History window. Merged Project Revert, Recover Deleted, Browse old versions and Old history windows into one
· Asset Server windows refresh automatically when something in the project changes
· Improved Asset Server performance
· Deleting items in Asset Server no longer show in updates with their full history
· Ability to delete users and projects from within editor
· Added a dialog to warn user about committing unsaved open scene
· Asset Server Inspector. Shows asset's state directly in Inspector. Allows to discard changes and show history for asset in Inspector.
· Most long-running Asset Server operations can be canceled.
· Added support for faster commits and updates of large changesets when used with AssetServer v2.0 (to be released along with Unity 2.6)
· Calculating to total download size when updating from the server is now done in the background so it does not delay starting the actual download. This speeds up downloading large projects from the Asset Server significantly, especially if the project consists of a lot of small assets.
Additional Improvements:
· Visual Studio and MonoDevelop integration for C# script editing.
· Optimized memory allocation patterns for better overall performance.
· Added Profiler logging to a file, for use in Standalone Player and Web Player.
· Added a dialog asking user to reload currently open scene when its file changes on disk.
· Added an option to disable generation of tangents or normals in the model importer - this allows some space savings in model data.
· Standalone game Icons can now be supplied in different sizes.
· Added helper functions Graphics.Blit and Graphics.BlitMultiTap, to simplify Image Effects code. Refactored Image Effect scripts in Pro Standard Assets to use them.
· Ability to set raycasts to not hit triggers (under Physics settings)
· Support for setting the wrap mode on the clip in the inspector instead of setting it in the animation component or from code in the animation state API. If the wrap mode in the animation component is set to default, it will not be shown anymore, but you can still edit it in debug mode.
· Improved Texture2D.PackTextures packing when source textures do not fit into maximum atlas size.
Changes:
· Unity no longer ships with a 30-day demo period but has to be activated immediately to work. The activation page now has the ability to automatically generate and activate 30-day trial licenses for each machine.
· EditorUtility.SmartResetToPrefabState and EditorUtility.SmartResetGameObjectToPrefabState have been renamed to EditorUtility.ResetToPrefabState and EditorUtility.ResetGameObjectToPrefabState respectively.
· Removed one superflous parameter from the overload of Undo.RegisterUndo() that takes multiple objects.
· Removed warning: Couldn't load the script because its file name doesn't match the class name.
· When rotating objects in the scene view, rotation euler angles can increase or decrease indefinitely without being clamped in a specific range. Note that this is only supported in the editor when not in play mode.
· Constant interpolation in animation curves now always assume the value of the left hand side key.
· Don't send EventType.mouseMove events in game mode.
· Removed option to not compress textures when building a player. Removed BuildOptions.CompressTextures as well.
· Handle cap drawing functions have been renamed in the Handles class to better reflect what they do
· Deprecated GUIStyle.clipOffset Use BeginGroup instead
Fixes:
Graphics Fixes:
· Fixed Skybox drawing when camera's near clipping plane is very large (e.g. half of far plane).
· Graphics.DrawMeshNow was not drawing a mesh if there was no current camera at the time.
· Fixed rendering order issues when shadows and different opaque Render Queues are used (hi TigerWoods Online!).
· Projectors now support Queue tag in their shader to control their render order. If Queue tag is not specified, then Projectors are rendered after all opaque geometry.
· Soft Vegetation setting is taken into account when rendering Terrain tree billboards.
· Non-billboarded Grass in the Terrain waves in the wind again!
· Shader.Find can properly find shaders that were not supported by the editor that built the game. Fixes missing shaders when building games from batch mode editor (-batchmode -nographics on Windows).
· Shaders that fail compilation have proper names in shader popup (instead of "Default").
· Fixed Directional Occlusion of Terrain trees being biased towards one side (a strong light from one side would result in brighter trees than the same light from another side). Reimport your tree models!
· ParticleEmitter.Emit now updates particle system bounds correctly
Mac OS X Specific Fixes:
· Fixed problem with installing Unity Editor on OS X 10.6 Snow Leopard.
· Opening a script on a different Space than Unity Editor no longer hangs compilation.
· When using an external editor, whose bundle does not provide a CFBundleDisplayName, use a less cryptic fallback name in the Editor Preferences dialog.
· Fixed file permission verification on OS X. Unity now only requires files in the Assets directory to be readable by the current user, directories must by readable, writable and executable and files outside the Assets directory should be readable and writable by the current user. When fixing permissions, Unity will not prompt for administrator access unless required.
· Fixed issues with projects located on FAT32 filesystems on Mac OS X.
· Report correct mouse button IDs in events of Mac OS X web player.
· Screen Selector on OS X Standalone players is centered properly
· Mac OS X web player should now properly catch crashes without crashing the browser.
· MouseMove GUI events are sent to windows under the mouse in OS X Editor (previously were sent to focused window)
· Installing the Example project no longer trashes the /Users/Shared/Unity folder but only, if present, the project folder itself.
· Fixed problems in launching component help when Unity was installed in a path containing whitespace (OS X).
Asset Server Fixes:
· Asset Server on OS X no longer allows committing files with names that are invalid on Windows.
· Made Asset Server connection cache less aggressive. This makes it easier to delete projects on the server without getting errors that there are other clients connected to the project.
· Fixed problems with communicating with the Asset Server that could result after a server restart.
· Fixed problems with deleting users from the Asset Server.
· Asset server download progress is properly shown for larger than 2GB downloads
· Fixed Asset Server sometimes needing to update twice
Editor Fixes:
· Fix crash where serializable class Foo has a field of type Foo[].
· Fixed broken Vector2Field.
· The currently selected brush and brush settings in the terrain inspector no longer get reset when saving the current scene.
· New Game Objects are now centered correctly after switching layouts.
· Changes done to managers (Physics, Tags etc.) made in play mode no longer persists.
· Fixed Projectors present in the scene sometimes affecting Inspector material previews.
· Fixed color picker in VertexLit materials sometimes not working.
· Fixed crashbug when serializing Animation Curve inside of Serializable class array.
· Editor Undo performance is better when undoing actions with lots of objects.
· Improved handling of fatal errors when Editor is launched in batch mode.
· Fixed Game View Statistics vertex count for meshes with multiple materials.
· Fixed F to focus when using Terrain tree placement tool.
· EditorUtility.CreateGameObjectWithHideFlags now always adds a Transform, just like GameObject constructor.
· GUI.Window now works in editor windows. See EditorWindow.BeginWindows for docs.
· Color picker window now saves its position
· Project/Hierarchy windows handle Home/End/PageUp/PageDown keys properly
Other Fixes:
· Fixed several bugs in animation curve sampling functions, especially when using stepped curves and PingPong wrap mode.
· Improved GetComponent warning messages.
· Better error message for looking up GUIStyles by string outside OnGUI. And it no longer crashes.
· Better consistency checking of project data when launching Unity. Unity will now ask to rebuild the project if the project library data are corrupt beyond repair.
· Failing to close all GUILayout groups degrades more gracefully.
· GUILayout.ScrollView inside GUILayout.BeginHorizontal works correctly.
· Shift+Click now selects text in text fields.
· The Network Manager now respects Application.CancelQuit and doesn't reset itself on quit event (affected standalone player only).
· Fixed Configurable Joint not always being deterministic.
· Clicking on toggles now takes away focus from text fields and alike.
· Event.KeyboardEvent now correctly handles Space key
· Terrain disallows heightmaps larger than 4096x4096.
· Fixed some FBX importing issues
· Fixed Color.Equals
What's new in Unity 2.5.1:
July 9th, 2009Improvements:
· Scene view Gizmos are pickable again, just like they were in Unity 2.1. Gizmo picking is improved when multiple gizmos overlap the same screen area.
· Improved Scene View performance when very large hierarchies are selected.
· Cubemap preview in Editor Inspector now actually works.
· WWW class supports SSL (https) in Windows Editor and Standalone games.
· Decreased memory usage of Asset Bundles by 8MB per bundle (decompression dictionary was kept around for no good reason).
Changes:
· Screen.SetResolution and Screen.fullScreen do not switch resolution immediately; instead resolution change happens when the current frame is finished.
Editor Fixes:
· Fixed occasional random crashes when working in the Editor (recompiling scripts, popup menus, custom ContextMenu attributes etc.).
· Fixed input keys&buttons getting "stuck" in Windows Editor (switching between applications, un-pausing the game).
· Fixed some cases where switching user, entering screen saver or standby mode would make Windows Editor GUI not update anymore.
· Building an OS X Standalone player on Windows properly strips symbols now.
· Fixed Font importing on Windows when folder or file name has non-ASCII characters.
· Fixed current scene being marked as modified when showing Material Inspector.
· When building a player using BuildPipeline, level path names are converted into forward slashes as path separators. Fixes levels being named like "AssetsFoo.unity" (instead of "Foo.unity") on Windows.
· Showing invalid Tag no longer produces errors in the Editor.
· Fixed '/' and '%' in Asset Server commit messages being interpreted as menu shortcuts.
· Fixed file comparison problems in Asset Server.
· Fixed exceptions in Editor when changing Game Object Active or Layers in non-recursive mode.
· Fixed error in Editor when deleting Movie Texture that is currently displayed in Inspector.
· Fixed crash when doing Reimport All from Project View's context menu in Windows Editor.
· Fixed crash when importing some malformed .3ds files.
· Fixed hidden / CVS files appearing in Project View when manually reimporting asset folders.
· Fixed Unity Editor crash when Data Execution Prevention is used on Windows.
· Fixed audio files sometimes missing samples at the end (OS X only).
· Fixed loading editor preferences when user has changed system locale.
· Fixed terrain heightmap editing crash when the same terrain is instantiated multiple times in the scene.
· Fixed Frame Selected on skinned meshes and transform hierarchies.
· Non-skinned Custom deformer weights are properly ignored when importing FBX files.
· Inspector properly updates when changing Script component to reference another script.
· Set Terrain Resolution button no longer says "Import".
· Fixed errors on Windows when dragging files into Project View from some applications.
· Fixed Help icons in Inspector appearing at startup for non-existing help pages.
Web Player Fixes:
· Fixed auto-update problem on Windows Vista + UAC + Internet Explorer. See tech note below..
· Fixed web player crash on Windows Vista when locale is set to Spanish.
· Fixed issue with mixing Unity and Flash content (by hiding one or another) on Internet Explorer (regression in Unity 2.5.0).
· Fixed Tabbing through UnityGUI fields not working on Internet Explorer.
· Fixed crash on Mac OS X when exiting fullscreen mode.
· Fixed auto-update problem on PowerPC Macs.
· Fixed Input.mousePosition being incorrect when using Application.targetFrameRate on OS X Web Player.
· Fixed occasional crash when reloading web player on OS X.
· Null Reference Exceptions don't crash on OS X + Firefox 3 anymore.
· Fixed Firefox 3.0.10 issues on OS X Web Player.
Other Fixes:
· Various scripting reference documentation fixes.
· GUI.depth now works again.
· TextAsset can contain arbitrary binary data again.
· Fixed Mono memory leaks on Windows (allocating large managed arrays, leaked script assemblies).
· Fixed Input configuration dialog in standalone games on Windows (keyboard configuration was broken in 2.5.0).
· Fixed regression in existing Unity 2.0-2.1 content that was using Event.current outside of OnGUI.
· Fixed UnityGUI regression with custom1..custom20 GUI styles.
· Fixed Screen.lockCursor making Screen.showCursor not work on Windows.
· Fixed terrain billboards being culled too early and trees culled incorrectly in some cases.
· Fixed crash when unloading asset bundles.
· Fixed Movie streaming via WWW class.
· Fixed occasional crashes when switching the screen resolution in the middle of frame on Windows.
· Fixed crash when setting .time on an audio clip that is not playing yet.
· Fixed crash when running standalone Windows games from a read only file system.
What's new in Unity 2.5.0:
March 18th, 2009Graphics & Shaders:
· Multithreaded mesh skinning. Multicore processors, here we come!
· Runtime DXT compression. See WWW.LoadImageIntoTexture and Texture2D.Compress.
· Shader Level of Detail support. See Shader.maximumLOD, Shader.globalMaximumLOD.
· RenderQueue can be set per-material from script, see Material.renderQueue.
· Optimized rendering internals.
· Shader compilation is about 3x faster now!
· Added #pragma exclude_renderers and #pragma only_renderers directives to shader compiler, to be able to write D3D-only and OpenGL-only shader paths.
· Optimized UnityGUI rendering, now it generates less vertices when it can.
· NVPerfHUD is supported in Windows standalone games.
Web Player:
· Google Chrome browser support (had input problems and crashes on early versions of Chrome).
· Internet Explorer 8 support (had input problems when running on Vista).
· Windows Web Players have much more stable frame rate.
Editor:
· Asset Server client interface completely rewritten. Change-set based interface, log history, and so on!
· Scene view can visualize overdraw & optimal texture resolutions (added to RGB/Alpha mode popup).
· FBX importing libraries updated to latest version. Fixes lots of issues with FBX, Collada, OBJ, DXF file importing.
· FBX user properties are exposed to asset post-processing scripts, see AssetPostprocessor.OnPostprocessGameObjectWithUserProperties.
· Added Global transformation tools mode.
· Game view Stats window displays frame time and frames per second.
· Arrays of enums are properly shown in Inspector.
· Added "Show Project Wizard when launching" option to Preferences.
· Custom Script/Image editing applications are remembered in Preferences.
· Added Terrain wind tint color to terrain settings. Previously it was a hardcoded value.
· Added gizmo for Spring Joint and improved gizmos of other joints.
· Make default setting for "Recalculate Normals" be off in mesh importer.
· Added progress bars for import/export package operations.
Other Improvements:
· Application.targetFrameRate. If you want to cap the maximum frame rate to save the planet - now you can!
· AnimationClipCurveData has target variable now.
· Improved UnityGUI text fields. Now they scroll with cursor if content is too large to fit; selection and cursor display were improved.
· Unity on Windows is "large address aware" - so on 64 bit Windows it can use up to 4GB of memory.
· Licensing changes: Unity Indie can build standalone games for any platform (they will show splash screen). Unity Indie builds web players with a watermark that goes away after a short period of time.
Editor Fixes:
· Fixed Character Kerning inspector for custom fonts.
· Fix error message when importing Font from a FAT32 filesystem on OS X
· Fixed Rotate tool handle location changing with complex hierarchies when it's in Center mode.
· Fixed Joints that are connected to themselves.
· Fixed Mac vs. PC byte orders in terrain .raw files being swapped.
· Mass Place Trees is properly undoable.
· Switch texture format to one that has alpha channel when Generate Alpha from Grayscale is enabled.
· priority parameter for MenuItem attribute actually works now.
· Fixed crash when importing some TrueType fonts.
· Error Pause in the console works for script exceptions.
· In Cubemap inspector you can create cubemap from skybox images without having to mirror them.
· Gizmos.color and Gizmos.matrix are reset before calling any gizmo functions.
· Fixed importing progress bar for movies without audio.
· Fixed terrain lightmap shaders not working in editor on some old cards (e.g. GeForce 2).
· Mesh importer was putting random values into normals and tangents of unused vertices.
Web Player Fixes:
· OS X web player correctly clips the game area if it does not fit on screen.
· Work around a bug in Vista + Internet Explorer 8 (RC1) where going fullscreen hangs up the browser. Now fullscreen is disabled there :(
· Work around Firefox 3.0.x scripting interface bug on OS X that made some games not work.
· Fixed non-focused web players able to read keyboard input.
· Fixed OS X web player flicker while scrolling in Firefox.
Graphics Fixes:
· Fixed Camera.RenderWithShader in some cases messing up image effects if called from inside of OnPreRender.
· Fixed Water becoming blocky on some Intel cards when game is running for many hours. Update Standard Assets and Pro Standard Assets to get the fix!
· GUI.DrawTexture fixes: can handle non power of two render textures; fixed 50% opacity when there's no other UnityGUI used; correctly takes GUI.BeginGroup clipping rectangles into account.
· Rendering Stats window gathers any rendering done during Update and other functions. Rendering through GL class is captured now as well.
· Reported VRAM size should be more robust now on OS X (previously was reporting 256MB for some 512MB cards).
· Fixed Texture2D.ReadPixels being upside down when reading from render textures on Windows.
· Fixed TexGen ObjectLinear not producing correct texture Z coordinate.
· Fixed Movie Textures leaking some memory.
· Fixed occasional movie playback crash when movie is more tall than wide and is not power of two in size.
· Fixed Camera.SetReplacementShader not taking the tag value into account.
· Fixed particle rendering in orthographic scene view.
· Fixed large GUI areas clipping off last pixel row/column on Radeon HD graphics cards.
· Fixed crash in Graphics.DrawMeshNow if there is no current camera.
· Fixed setting mesh.triangles corrupting data when mesh has multiple submeshes and you set a smaller triangle array.
Documentation Fixes:
· Much better documentation for Editor scripting API.
· Attributes are on a separate page in scripting reference.
· Fixed scripting reference search not finding some words (e.g. Mathf.Sign)
· Fixed broken links in printable documentation (printable.html)
Unicode love:
· Various Unicode character input fixes for Unity GUI.
· Standalone Windows games can launch from Unicode paths or when Project Name contains Unicode characters.
· Fixed Paste with some Unicode strings not working.
· Fixed Font.HasCharacter() for some characters.
· Seeking in compressed audio (with .time) now works and with a much better precision.
Animation fixes:
· Fixed Animation.Sample() not working if animation was not playing before.
· Fixed Animation.CrossFade and Stop not clearing out queued animations.
· Fixed Animation.IsPlaying for queued animations.
· Fixed Application.loadedLevel being initially -1 in players.
· Fixed Mesh.tangents producing null reference exception if mesh had no normals nor tangents.
· Fixed EventType.ScrollWheel delta values being about 100x too large on Windows compared to OS X (now they match OS X).
· Fixed copying text into clipboard producing extra ASCII zero character at the end on OS X.
· Fix unrecognized keys (like volume up/down on some keyboards) triggeting unrelated input axes on Windows.
· Fixed Mathf.Ceil and Mathf.CeilToInt returning next integer number if the argument was integer already. D'oh!
· Fixed audio playback from streamed Ogg files.
· Fixed crash when streamed video download is cancelled.
· Fixed terrain tree colliders for terrains that aren't placed at zero.
· Fixed MovieTexture playback issue.
What's new in Unity 2.1.0:
July 25th, 2008· All types of assets in the Project View can exported as a compressed asset bundle.
· The asset bundle file can be streamed through the WWW class. This makes it possible to stream all assets on demand, as characters or other assets come into view.
· Assets in asset bundles can be loaded by name or through a designated "main asset" for easy prefab instantiation.
· Asset bundles can contain additional scene files and their dependencies. This can be combined with asset bundle cross dependencies.
· Asset bundles and all their loaded assets can be unloaded explicitly through AssetBundle.Unload function.
· PlayerPrefs now work in the Web Player! Use them to store persistent data on the client machine.
· Joysticks and mice are now hot swappable on OS X web players
· Undo and Redo for all scene operations!
· Unity Editor can now natively import .DDS texture files.
· Added "Split tangents across UV seams" option to mesh import settings, most often used for bumpmapped characters.
· Arrays of booleans, Vector2, Vector4, Rect, LayerMask are shown in the Inspector now.
· Game View statistics window displays video memory size used by the screen, total video memory usage and skinning/animation statistics.
· Assets->Reimport and Assets->Import Settings now works recursively for folders.
· Help menu and the Console window have buttons to open Editor and Player logs.
· Renamed Open and Save menu entries Open Scene and Save Scene.
· Added warning when importing scripts and shaders that use mixed CR & LF line endings.
· Ogg Vorbis encoding bitrate expanded to 16..320 kbps (previously was 56..256 kbps).
· .ogv files are recognized as Theora movies. Exporting movie to a file also uses .ogv extension.
· New EditorWindow class lets you create a window in which you can draw custom GUI. Use it to create your own game design tools!
· Editor classes AssetImporter, TextureImporter, MeshImporter have been renamed to AssetPostprocessor. Be ready to update your asset post-processing scripts.
· Introduced OnAssignMaterial for overriding the default material assignment behaviour.
· Introduced OnPostprocessAllAssets for tracking any changes to assets from editor scripts.
· Import settings for textures and models are now exposed and can be modified from AssetPostprocessor to customize the asset import pipeline.
· Added AssetDatabase class with functions to import, delete, create Assets, and create, instantiate, update Prefabs.
· Server view now shows a quick summary of changes and conflicts at the top of the view.
· Improved performance of Asset Server Status and Update commands by 10x.
· Added a feature to update entire project to any previous Asset Server version.
· Reduced connection timeout from 60 to 15 seconds when connecting to the Asset Server.
· Much reduced false positives of changed Prefabs, Materials and Scripts.
· Commit message in Asset Server is now a lot faster.
· Improved displayed message when trying to commit without commit access rights.
· Multiple terrains can be included in a single scene.
· Terrains can now be moved and connected. LOD across terrain edges can be matched with Terrain.SetNeighbors.
· Terrains have an additional "Pixel Lit" render mode. Shadows on terrains finally work!
· VertexLit terrain lighting mode supports point lights now. Spot lights are treated as point lights.
· Projectors work on terrain.
· Terrain can be displayed in wireframe mode in Scene View.
· Terrain textures, tree types, and detail object types can be removed from Terrain Inspector.
What's new in Unity 2.0.2:
January 31st, 2008· A new integrated Ping class for pinging remote servers or machines.
· Added boolean and byte array parameter support for RPC functions.
· Improved host list processing (Network.RequestHostList()) so it doesn't cause delays. Client connections to the master server are also more efficient.
· A function which provides local NetworkPlayer information. Provides local IP address, internal and external with NAT addresses (after connecting to a remote machine).
· Added compare operators on NetworkPlayer and NetworkViewID structures.
· Copy & Paste now work in UnityGUI through CMD-C/CMD-V (Mac OS X) and CTLR-C/CTRL-V (Windows) keys.
· Added GUIUtility.RotateAroundPivot(), GUIUtility.ScaleAroundPivot(). Guess what they'll do to your GUI :)
· Improved GUILayout.ScrollView's logic for detecting when scrollbars are neccessary.
· Made the default GUI skin a bit brighter so it looks better on Windows boxes, and other minor tweaks.
· TextFields now select their content when the user tabs to them.
· EventType enum members were made UpperCase (so EventType.repaint becomes EventType.Repaint). Old scripts will continue to work, but warnings are generated when they compile.
· Improved skinning performance on OpenGL by about 20%. It's about as fast as D3D now :)
· Texture2D.PackTextures creates a DXT compressed texture atlas if all input textures are compressed.
· As a result, video memory usage in terrain engine is decreased when you're using compressed textures.
· Two UV sets are now correctly imported from 3DS Max when using Standard material types, making lightmaps easier to get across.
· Removed hardware depth buffer bias for shadows in OpenGL. This can make shadow bias slightly worse, but matches Direct3D behaviour (less unpleasant surprises).
· Improved error message when assigning DXT compressed lightmap to the terrain.
· Application.runInBackground now suppored in the web player.
· Improved file size info reporting when building games. Unity now prints the size taken up by each asset and sorts all assets that are used in the build by size.
· Windows standalone build startup dialog has input configuration just like Mac OS X standalone!
· Added WWW.uploadProgres to track progress of large file uploads using the WWW class.
· Unitron text editor accepts files dropped on it via Dock, can be used as an "Open As" in the Finder & got a new application icon.
· When using the Unity Asset Server, the current project name and server is now shown in the main window title bar.
· Added EditorUtility.SetDirty() function to notify changes in scripts performed from editor scripts.
· Support for Reproduction Logging on standalone Mac OS X games. Hold down CMD-ALT-CTRL while loading the standalone player and Unity will ask you to write or read from a log file. This records all input and lets you play it back in order to easily reproduce a crash or other issue.
What's new in Unity 2.0:
October 11th, 2007· Web Player
· The Unity Web Player installation process has been greatly simplified. No browser restarts are required on any browser, no windows are popped up to download the installer, and content starts as soon as the installer is finished.
· Unityweb files can now be streamed. Assets are automatically reordered in the stream by the first level using them. This is an amazing no-hassle way of streaming web players. Unity essentially does everything for you. In your scripts you simply have to query if the level you are about to load has already been downloaded completely. By ensuring your first few levels are not using a lot of assets, you can start your game with only a minimal amount of data.
· Web Players data file compresses around 30% better now. Unity now uses the state of the art LZMA compression algorithm. Data files are decompressed on the fly, resulting in shorter load times. We also use solid compression � multiple game levels share the same compression dictionary, this further increases compression ratio.
· You can now switch to fullscreen in web player from a script. The same rules as for mouse locking apply: user must have clicked on the content before you can go fullscreen.
· Safari 3 for Windows support as added.
· Web players on Windows properly pause when browser is in background.
· Web player progress loading images can now be .pngs with an alpha channel.
· Added disableContextMenu, disableFullscreen and disableExternalCall embed tags.
· On Windows, the Unity Web Player can now perform auto-update on non-admin user accounts.
· Unity and Unity Web Player installers on Mac OS X will now cleanup receipt files in order to work around Apple's installer limitation of not allowing installations of older versions.
· Made a new CLSID for the Internet Explorer plugin, and new plugin name for Netscape-like browsers.
· Changed default web player installation path on Windows to [program files]UnityWebPlayer.
· Added a WWW.URL property.
· Workflow
· Automatic Ogg Vorbis converter. Optionally force Stereo or Mono for positional sounds, choose compression and preload settings. MP3 files are automatically converted to Ogg Vorbis by default.
· Imported Ogg files (audio and video) can be exported via a menu command in the Assets Menu for web streaming.
· Graphics Card Emulation. You can now simulate older graphics cards from a menu item (Edit > Graphics Emulation). This is extremely convenient to quickly preview how your game looks on that graphics card without different hardware.
· Texture Atlas generation function added as Texture2D.PackTextures(). Combine multiple textures into a single texture. This is useful for optimizing graphics performance when combining objects which might not otherwise use the same texture.
· Imported Models can now be post-processed during import. Once the basic importing of a model is complete, MeshImporter.OnPostprocessAsset() will be called. From here you can modify all meshes, GameObjects, Components, etc. to your liking. This allows you to completely customize the asset pipeline. Trees in the Terrain Engine take advantage of this. See the MeshImporter class for details.
· Textures can be postprocessed in the same way. For example you could invert the colors of an image. Or ensure that normals of a normalmap are always normalized even in the mip levels.
· 16 more layers have been made available. This is useful for people who have run out of layers to use.
· Unity Editor
· The Unity Editor has received a complete facelift! New skin, new buttons, new icons, new gizmos.
· Reimport your existing 1.6.2 project to see the new asset icons.
· Optimized drawing of editor views; editor is much faster with complex projects.
· Progress bar in the editor for building players and Terrain lightmapping.
· New Directional light gizmo.
· Integer values can now be right click dragged in the Inspector.
· Rectangles are now defined as x, y, width, height matching the way they are used in scripting.
· Pipeline components are not used anymore. You can remove them from your existing objects if they bother you :)
· Rects, Vector2 and Vector4 can now be serialized in the inspector for scripts.
· Serialization of arrays in scripts has been greatly optimized.
· Rendering
· Rendering system rewritten! A new render pass sorting algorithm is used. Passes are sorted to minimize state changes. The algorithm takes lights and shadows into account. We've seen up to 50% speed increase on real world scenes!
· Lights have an intensity property. The intensity can be up to 8. This can be used to create very strong lights even if they have a small light range.
· Skinned Mesh Rendering has been optimized. It is 2-4x faster than in Unity 1.6.2!
· Lighting from Point lights is much less "blocky" on fragment program capable cards.
· Vertex lights now match pixel lighting more closely.
· Specular highlights in builtin shaders are less attenuated now.
· Orthographic cameras sort transparent objects by distance along their Z axis, which makes 2D games easier!
· Switching materials from inside OnPreRender/OnPostRender works as expected now. This is useful if you want specific cameras to render with specific materials.
· Cameras can now be removed or added during any time. Even while drawing/culling another camera.
· Improved appearance of Particle Additive, Additive-Multiply and Alpha Blended shaders.
· If some of your particle objects became too bright, make the tint color 2x darker!
· The change was needed to make particle appearance match in D3D and OpenGL.
· Changed the order in which cameras are culled & rendered. Before it was like this: CullAllCameras(); RenderAllCameras();. Now the order is per-camera: for( all cameras ) { CullCamera(); RenderCamera(); }. The change should not affect you, but it's now easier to use OnPreRender and friends.
· Default near clip plane for cameras increased to 0.3. Yay for better depth precision!
· Added Texture2D.GetPixelBilinear() function.
· Added Graphics.DrawTexture().
· All render textures on Mac OS X use OpenGL "frame buffer objects" if available. This makes render textures generally faster.
· Added Camera.RenderToCubemap for dynamic cubemap reflections.
· Added Material.HasProperty() function.
· Render Textures can now use mip maps (mip levels are automatically generated).
· Textures can now be reinitialized using Texture2D.Resize().
· Texture2D.ReadPixels() has been added. This has many cool applications.
· Reading pixels from Texture2D has been optimized.
· The normal smoothing angle is now also used as a smoothing angle for tangents. This allows for adjusting tangents so that tangent issues with generated normal maps are fixed. For example, this makes normal mapped characters have a lot less seams.
· Physics
· Convex Mesh Colliders can automatically be generated from any Mesh, by checking the convex flag. Convex Mesh Colliders can collide with any other Collider.
· Added Configurable Joint. A highly configurable joint with direct control over all 6 axes, including soft limits. This joint can do just about everything.
· Added Heightmap Collider.
· Ageia PhysX has been updated to version 2.6.2.
· 10x performance optimization when loading collision meshes.
· Optimized performance of raycasting on PowerPC Macs.
· Support for cone friction � a more accurate friction implementation. This can be enabled via scripting.
· Performance for kinematic rigidibodies that are being moved around a lot has been greatly improved.
· Default values for Hinge Joint are now more intuitive.
· Ignore collision now also works between two character controllers. Added CharacterController.disableCollision.
· Slope limit and step offset exposed to scripting in CharacterController.
· RaycastHit now contains a barycentric coordinate member that can be used to interpolate vertex attributes in the triangle, ie. smoothed normals.
· The animation system can now apply friction and velocity correctly to kinematic rigidbodies. This allows you to animate platforms and stack boxes or other rigidbodies on top. To enable it you have to make the rigidbody kinematic and turn on Animation.animatePhysics.
· MovePosition()/MoveRotation() has been added to the rigidbody class, it is useful for animating kinematic rigid bodies so that they apply friction correctly to touching objects.
· Scripting
· Support for .NET 2.0 including generics!
· Full support for eval in JavaScript!
· Added OnJointBreak() callback when a joint is broken by joint break force.
· Static variables are now automatically reset when hitting Play.
· ExecuteInEditMode attribute will make scripts will run in edit mode. This is useful if you want to interact with the editor, for example to see your changes live without entering playmode.
· WWW class can now perform POST requests in addition to GET requests.
· WWW class can load PNG images in addition to JPG images.
· WWW class can read local files using WWW("file://mypathname"). This is disabled in the Unity Web Player.
· Added WWWForm for easy uploading of forms.
· Arrays of classes marked are now be shown in the inspector and are serialized. You simply have to give the class the Serializable attribute.
· Added Texture2D.EncodeToPNG().
· Added on WaitForFrameComplete() coroutine. This will execute after all rendering is done. Useful for grabbing screenshot and posting to a web server for example.
· TextAsset class has been exposed to scripting. This lets you easily use text files without having to go through .NET file routines.
· Added Application.unityVersion.
· Moved Graphics.deviceName and friends into SystemInfo class.
· Added Matrix4x4.Perspective for constructing perspective matrices.
· Coroutines can now take an arbitrary amount of parameters.
· Creating game objects has been streamlined. You can pass in an optional argument list with several components to automatically add them.
· Added CloneComponent() function. This is useful for copying individual Components to a different game object.
· Added Debug.LogError() and Debug.LogWarning() functions.
· Optimized Vector3 math functions.
· HideInInspector attribute added.
· When instancing a material or physics material, "(Instance)" will be appended to it's name. This lets you easily differentiate shared materials and instanced materials.
· OnEnable() and OnDisable() has been added for ScriptableObject().
· The seed of a random number generator can now be set from code.
· Animation.RemoveClip() has been added. This is useful for reducing the set of textures in order to improve performance.
· HideFlags can be used to specify what is visible in the hierarchy, project view and inspector. You can also use this to make Unity not store an object in a scene.
· Mathf.Abs() is now also available in an integer version.
· Renamed Camera.orthoGraphic to Camera.orthographic.
· Removed Texture2D.frameCount and Texture2D.frame properties. Use arrays of textures and switch them manually.
· Changed Camera.WorldToScreenPoint(), Camera.ScreenToWorldPoint() and similar functions to use world space depth in Z component, instead of non-linear z-buffer depth.
· Added DXT1 and DXT5 texture formats for scripting.
· Shaders
· GLSL is supported as shader language in addition to Cg.
· Lots of render queues for shaders! If you want to make something render after opaque things but before transparent things, now you can. See Tags documentation in ShaderLab docs.
· Comment-style directives for compilation are replaced with more robust and intuitive #pragma directives.
· Cg compiler updated to Cg 1.5. Shader compilation is much faster due to new batch Cg importer and because Cg 1.5 is Universal Binary.
· Shaders use #pragma multi_compile tags instead of autolight codes to generate different variants for different light/shadow types.
· Added AlphaToMask command to ShaderLab (still waiting for Apple to properly implement it in Mac OS X; but it works on Windows now).
· Writing dummy SetTexture {} commands after fragment programs is not necessary anymore.
· Renamed some builtin shaders: Alpha -> Transparent, Glossy -> Specular, moved Parallax shaders into corresponding groups.
· Shaders that contain errors are put into separate submenu in material inspector.
· Added Shader.SetGlobalVector().
· Shader.Find() always returns user made shaders if there is also a builtin shader with the same name.
· Pro Water
· It works correctly in Scene View! It also just works with multiple in-game cameras.
· Much improved setup. Just a single script (Water.cs) and a single material to use. Switch between Simple, Reflective and Refractive in the Water script in the Inspector.
· Best way to upgrade is 1) delete Standard Assets/Water and Pro Standard Assets/Water folders, 2) reimport Standard Assets and Pro Standard Assets packages.