Powerful 3D and 2D gaming development software for Mac

Unity for Mac

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Download Unity 2019.4.1

Unity 2019.4.1

 -  100% Safe  -  Freeware

What's new in this version:

- Android: Copy mapping file from the correct location
- Android: Detect new layout Android SDK tools
- Android: Fix freeze on Galaxy S20 when using OpenGL ES GPU skinning with blend shapes
- Android: Unity analytics does not get advertising ID anymore
- Animation: Fixed a crash that occurred when trying to reactivate a game object with an invalid playable output
- Animation: Fixed manipulation jitters in the Animation Window recording with 2D IK character setups
- Asset Bundles: Fix bug that prevented adding a scriptable object defined in a precompiled assembly to an AssetBundle
- Asset Import: Fixed assert errors of memory leak when EditorSceneManager.NewScene is called in OnPostprocessAllAssets
- Audio: Fixed editor crash on changing 'System Sample Rate' when Audio track preview is being played in Timeline window
- Bug Reporter: Fix a folder compression failure when path length is bigger than 260 symbols
- DX12: make sure we dont create a rendertarget that has kSurfaceCreateNeverUsed flag set
- Editor: Assembly References to package assemblies break IDE projects
- Editor: Dont invalidate a serialized property if we resize an array to the same size in the context of single edition
- Editor: Fix crash when Animator window is open
- Editor: Fix Entering Playmode with Scene Reload disabled crashes when DestroyImmediate is used in OnDisable
- Editor: Fixed issue where refresh timestamp in Package Manager/In Project view would not update correctly
- Editor: Fixed nondeterministic behavior when calling EditorApplication.isPlaying = true while scripts are compiling, so only one script reload happens. Before the fix either one or two script reloads would happen
- Editor: Fixing double consecutive OnDisable calls for inspectors while entering playmode or during assembly reload
- Editor: Preset target has the Preset asset name in the Preset inspector instead of a blank name so custom inspector can always rely on the .target.name value to be the asset one
- Editor: prevents hang from calling capturescreenshotastexture() outside of playmode
- Editor: Removed "macOS Color Picker" editor preference setting (that setting only ever partially worked anyway, e.g. it did not support HDR colors)
- Editor: Stop sending gyro settings to Unity Remote if nothing's changed
- Graphics: Fix loads from RWTexture in OpenGL ES 3.1 compute shader
- Graphics: Fix partial loads from RWTexture when using OpenGL ES, Metal, Vulkan
- Graphics: Fix RWBuffer in OpenGL ES 3.1 compute shaders
- Graphics: Fix unnecessary memory barriers generated when UAVs are bound as read-only on Nintendo Switch.
- Graphics: RenderDoc integration crash fixed
- Graphics: Setting MeshRenderer.additionalVertexStreams doesn't use the correct override Color when SRP Batcher is enabled
- Graphics: VFX : Fix Shader.SetGlobalBuffer in dispatch execution using defaultCommandBuffer in VFXManager
- Graphics: VFX parameters are not set when the gameobject is immediately deactivated and is not selected in the Hierarchy
- IL2CPP: Correct the implementation of ConcurrentBag so that it works with ETW managed code stripping
- iOS: Fix iPhone bluetooth controller buttons not registering input
- iOS: Fixes an issue that prevents native windows from overlapping the Unity view
- iOS: Include GameController framework whenever Input class is used in code, this will ensure MFI controllers like Dualshock will be discovered on application start
- iOS: Properly detect Dualshock gamepad during application start when new input system is used on iOS, the issue was because GameController framework was not included in exported project. AppleTV didn't had this bug, since GameController is always included in AppleTV's Xcode project.
- Linux: Fixed keyboard modifiers from being incorrectly munged while moving between editor windows
- macOS: Fixed Bundle Identifier from Player Settings not matching the generated Xcode project bundle identifier on macOS Standalone
- Mobile: Fix CoreLocation framework being falsely shown as "default" in plugin importer (moved to "frequent" list)
- Mobile: Fix horizontal axis input from MFI controllers on iOS 13
- Mobile: Fix iOS applicationIdentifier resetting during project upgrade
- Mobile: Fix iPad Spotlight icon name label in PlayerSettings
- Mobile: Prevent iOS/tvOS simulator builds from being appended with device builds
- Package Manager: Fixed an issue in the UnityEngine.PackageManager.Client.Pack method did not properly use the contents of .gitignore when .npmignore was missing
- Package Manager: Fixed an issue in the UnityEngine.PackageManager.Client.Pack method which could sometimes result in file permission issues
- Package Manager: Fixed an issue where npm authentication configuration was ignored when there was an extraneous slash at the end of the configured registry URL
- Package Manager: Fixed an issue where the Unity Package Manager could take more time to start up than the 10 seconds allotted by Unity
- Package Manager: Fixed an issue where the Client.GetAllPackageInfo method would silence errors and return an empty list of packages when there were registry reachability issues
- Particles: Fix opaque particle lighting in deferred rendering
- Particles: Fixed sub-emitters using the wrong position when first emitting
- Physics: Fixed an issue where calling SetEnabledFading(false) for the first time would cause the cloth instance to immediately snap into place and not disable properly
- Physics: Fixed an issue where cloth constraints would reset when applying a mesh with the same number of vertices
- Physics: Fixed an issue where painting constraints with the gradient tool would not apply a gradient values
- Physics: Fixed an issue with tethers not being created
- Prefabs: Fixed 50% of all object references appear as null within a scripts OnBeforeSerialize callback, during domain reloads
- Prefabs: Fixed ShowPrefabAssetRestructuringDialog crash when adding a RectTranform on an object
- Scripting: Added support for the new il2cpp_set_default_thread_affinity IL2CPP API
- Scripting: Changed behavior on debugger-agent, if we can't parse new behavior we now return invalid_argument instead of asserting
- Scripting: Fixed crash that occurred during domain reload that was caused by image set data being stored in the wrong image
- Scripting: Fixed issue where deserializing an abstract class containing a hierarchy of classes would fail and throw an unhelpful exception
- Scripting: Fixes Catalina OSX returning 0 for disk space on read only drives
- Scripting: Potential fix for random crash
- Shaders: Fixed regression in shader error state reporting with ShaderUtil.GetAllShaderInfo()
- TextCore: - Updated FontEngine to improve performance as well as reduce memory allocations
- Fixed Font Asset Creation process not using Multi-Threading in the Editor when using SDF8, SDF16 and SDF32 modes
- Fixed memory allocation issue when retrieving glyph adjustment pairs
- Fixed PairAdjustmentRecords returning a value of infinity with certain font files
- Fixed incorrect PairAdjustmentValues when using SDF8, SDF16 and SDF32 modes
- SDF, SDF8, SDF16 and SDF32 modes no longer use hinting to improve glyph sampling at low point size
- TextCore: FontEngine.GetGlyphPairAdjustmentTable OutOfMemoryException
- TextCore: Incorrect Vertical Alignment of Glyphs when using SDF8, SDF16 and SDF32 modes
- TextCore: TMP - Kerning Values are incorrect when using SDF8, SDF16 and SDF32 Render modes
- Version Control: Fix Temp/Package files getting added when installing a UPM
- XR: Fixed latency increase caused by prediction fixes

API Changes:
- Graphics: Added: Image conversion into a NativeArray is supported
- ImageConversion.EncodeNativeArrayToTGA
- ImageConversion.EncodeNativeArrayToJPG
- ImageConversion.EncodeNativeArrayToPNG
- ImageConversion.EncodeNativeArrayToEXR
- Package Manager: Changed: The enableLockFile option is now enabled by default when absent from the project manifest

- 2D: Allowed users to set 0 for Offset Distance for a Composite Collider 2D

- Package Manager: Dependency resolution now automatically resolves trivial conflicts
- Package Manager: Improved performance of Package Manager metadata requests sent to the registry
- Physics: Make the MeshCollider fast midphase work on all platforms

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.