Unity 3.5.2

This release of Unity primarily contains fixes to Unity 3.5. For more information about recent features, see the Unity 3.5 Release Notes.

  • Shuriken Particle System
  • Built-in Pathfinding
  • Upgraded Occlusion Culling & new LOD
  • Google Chrome Native Client deployment
  • Linear Space Lighting and HDR
Update now

New to Unity? Get started

Release notes

Improvements

  • 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 <= 0, will force 60 fps (as on other platforms).
  • iOS: Fixed GL.InvalidateState causing INVALID_FRAMEBUFFER_OPERATION_EXT.
  • iOS: Fixed while line in splash screen on iPhones.
  • iOS: Fixed splash rotation, causing it to skew.
  • Legacy particles: ParticleRenderer and TrailRenderer will not leak memory if Time.timeScale is 0.
  • Mobile: Fixed SkinnedMeshRenderer crashes.
  • Navmesh: NavMeshAgent velocity will not become invalid when Time.timeScale is 0.
  • Navmesh: NavMeshAgent fixed occasional invalid position/velocity when destination and position are set to the same vector.
  • OS X: Fixed erratic mouse behavior with Microsoft mouse
  • Windows Player: Fixed occasional hang in multithreaded renderer when going in and out of fullscreen mode.

Upgrade guide

In Unity 3.4 realtime lights were not affecting static objects. In Unity 3.5 realtime lights always affect static and dynamic objects.

The result of this is that if you had previously setup your lighting to work around this bug, then you will now get worse performance as you will receive the lighting twice. It will also look different since your lights will be added twice to the scene.

The correct way to use these lights is to use a single auto directional light and remove the realtime only light.

If you wish to have different realtime lighting than static lighting, you should using light culling masks to affect only dynamic objects.

Upgrade Guide

Changeset: