Release Notes

Release notes for the Luna Engine.

Version 0.6.1 - March 27th, 2020

Fixes and improvements

  • [EN-825] Reparenting element without graphic with null canvas
  • [EN-822] RectTransform.Rect was incorrect if grabbed from prefab
  • [EN-818] UI was updating hierarchy multiple times per frame - fixed
  • [EN-817] IsStencilEnabled - performance boost on any stencil operations - UI masks/custom shaders with stencil
  • [EN-826] UIBehaviour OnDestroy removes Element manually and can cause crashes
  • [EN-824] Simplification in GJK to account for iteration limit
  • [EN-800] Int parse&store that is used as for script execution order
  • [EN-794] TryParseHtmlString API
  • [EN-799] Transform.SetParent, null parent transform check for moving to scene root
  • [EN-784] Improve method for obtaining minified property names to increase performance

Added

  • [EN-116] WheelJoint2D

Version 0.6.0 - March 23rd, 2020

Fixes and improvements

  • [EN-766] OnDestroy/OnDisable refactor
  • [EN-788] Coroutine no longer called twice if started before Update

Added

  • [EN-116] Physics2D shapecasts implemented
  • [EN-103] Rigidbody interpolation modes implemented
  • [EN-784] Physics engine minification to reduce Luna Engine footprint
  • [EN-781] Detect raycast hit when ray hits edge of a triangle
  • [EN-786] Vector2/Vector3 divide and multiply operators implemented

Version 0.5.0 - March 16th, 2020

Fixes and improvements

  • [EN-731] Catching video play errors in promise for HTMLMediaElement
  • [EN-731] Add promise undefined check for video
  • [EN-768] Exclude arrays with rank != 1 from serialization
  • [EN-717] Callbacks and scene loading order
  • [EN-770] Fixed incorrect assumptions for colliders' size on creating
  • [EN-775] Fix TextMeshProUGui not rendering after reparenting
  • [EN-777] UI Graphic unregister fails on destroy

Added

  • [EN-632] ScrollRect and Slider implementation.

Version 0.4.4 - March 11th, 2020

Fixes and improvements

  • [EN-717] SceneManagement now supports more complex scene situations, including additive loaded scenes
  • [EN-761] Physics2D.Capsule shape collisions reworked
  • [EN-116] ParticleSystem.TrailMaterial no longer rendered as a quad
  • [EN-764] Set box collider size when invoked with AddComponent/RequireComponent
  • [EN-761] Store all constraints in IterativeSolver, even if both bodies are kinematic
  • [UN-145] Add checkbox to Luna UI for enable / disable additional generic check
  • [EN-760] Unused transform node generation for renderers removed

Added

  • [EN-464] ConfigurableJoints are now supported!
  • [UN-144] Added option in Luna UI to include sources for compilation from outside sources

Version 0.4.3 - March 6th, 2020

Fixes and improvements

  • [EN-678] Multiple improvements for convex / non-convex meshes
  • [EN-683] Added several wakeUps in setters
  • [EN-634] Multiple performance improvements
  • [EN-677] CollisionLayer fixes
  • [EN-116] Mass Fixes
  • [EN-116] Disabled bodies Callbacks fix
  • [EN-116] Fixed raycast issue
  • [EN-484] Correct transform positioning for Canvas hierarchy
  • [EN-756] UI text vertical overflow
  • [EN-757] Overlay Canvas sorting order
  • [EN-676] Camera/World space Canvas rendering
  • [EN-745] Revise UI EventSystem callback handling
  • [EN-697] UI.Text is missing if initialized with empty string
  • [EN-743] UnityEngine.Random.Range crash with min > max and negative min-max fix
  • [EN-710] Luna export window improvements
  • [UN-143] Fix luna config clearing the after export
  • [EN-747] Particles AABB calculation. Fixes unintended culling
  • [EN-730] Particle sort order zdist based on abb fix
  • [EN-746] Culling layer initialization fix
  • [EN-728] Unscaled Time evaluation
  • [EN-725] GC collect & Graphics default constructor
  • [EN-726] Text Asset ToString override
  • [EN-727] UnityEvent invoke without args
  • [EN-731] Catching play errors in promise for VideoPlayer
  • [EN-706] Platforms size breakdown improved
  • [EN-673] Add ability to disable PlayerPrefs from config
  • [EN-718] TMPro.TextMeshPro hierarchy desync
  • [EN-694] TextAsset.name field
  • [EN-698] Array.Resize without duplication fix
  • [EN-696] Texture.name missed on deserialization
  • [EN-662] Matrix4x4 determinant and isIdentity API
  • [UN-139] Fix Luna package minify errors
  • [EN-341] Review Unity uniforms supplied to shaders
  • [EN-585] Add/Get Components cleanup
  • [EN-701] GridLayoutGroup calculated wrong alligment on main row/column
  • [EN-693] Camera.rect clamping

Added

  • [EN-744] Physics.IgnoreLayerCollision API
  • [EN-477] Add missing physics APIs and overloads
  • [EN-664] Physics.IgnoreCollision and centerOfMass APIs
  • [EN-116] Concave polygons support
  • [EN-116] Capsule Shape
  • [EN-687] EdgeCollider2dComponent.edgeRadius API
  • [EN-482] CanvasGroups support, including nested groups
  • [EN-679] EventSystem.current.IsPointerOverGameObject API
  • [EN-631] Add implementation of GetTransposed() and FlipLayoutAxes()
  • [EN-721] Added support for Video.VideoSource.Url

Version 0.4.2 - January 29th, 2020

Fixes and improvements

  • [EN-674] LineRenderer correct rendering after transform changes
  • [EN-665] LineRenderer.Simplify stub without exception
  • [EN-106] Bridge.NET update: Errors in coroutines should not break flow, catching exceptions from user code MonoBehaviours, Added method overloads emitting
  • [EN-629] Resources.Load support
  • [EN-505] UnityEngine.smoothDeltaTime implementation
  • [EN-657] Adding missing APIs and enums for Mesh and SkinnedMeshRenderer
  • [EN-657] Support for human bones in Animator
  • [EN-661] Dix for missing metadata on basic objects vectors, color, mat, quat
  • [EN-658] Force C# language version limit to 7.0
  • [UN-132] Fix JSON Infinity values serialization
  • [EN-625] Luna web server restart after scripts reload
  • [EN-573] Properly handle Destroy( GameObject ) / Destroy( Rigidbody ) calls
  • [EN-671] Camera.main fixed to select camera based on tag
  • [EN-637] Vector2/Vector3 API full implementation
  • [EN-655] Animation Curves: Fix Infinity tangents
  • [EN-668] Stencil states corrected
  • [EN-652] Remove name from component DTO (removes unused data from serialized build)

Version 0.4.1 - January 23rd, 2020

Added

  • [EN-649] Implemented Transform.RotateAround
  • [EN-643] Setting default cached materials for Sprite and Font
  • [EN-644] Caching default font
  • [EN-642] TextMesh updated using Unity.Material instead legacy pc.Material
  • [EN-636] Cinemachine 2.2.9 & 2.4.0 packages and UnityEngine.Playables and UnityEngine.Timeline mock data structures
  • [LPG-182] Implementing 'frame' event for insights
  • [EN-622] Implementing 'bounce' event for insights
  • [EN-643] Exporting default font material, if exists
  • [EN-646] Add missing modes to addLinearForceAtPosition
  • [EN-643] Setting default cached materials for Sprite and Font
  • [EN-627] Support nested bodies with locked positions in post-synchronization
  • [EN-605] Support negative scales for colliders
  • [EN-616] 2-stage pre-synchronization for dynamic and kinematic bodies
  • [EN-621] Allow to create shallow copies of ConvexHullShape and MeshShape
  • [EN-116] New Physics 2D APIs - Capsule (without one type of collisions), Velocity iterations get/set, Position iterations get/set, Circle cast (withouts circle touch points and normals)

Fixes and improvements

  • [EN-645] Raycaster returns coords in global space instead local
  • [EN-378] Use collider's layer instead of body's layer during collision and raycasting
  • [EN-626] Don't try to remove non-registered constraint if body was changed from kinematic to dynamic in runtime
  • [EN-616] Prevent excessive entity dirtifying
  • [EN-647] Use proper AABB in raycast
  • [EN-618] Fixes for textureCoords
  • [EN-621] Fix incorrectly overridden ._component property
  • [EN-640] Fix for Deserealizing class without parametrerless contructor
  • [EN-378] Few minor fixes for layers
  • [EN-623] Optimizing uv calculation in raycasts
  • [EN-651] Disabled Debug.Ray drawing. Marked as recover
  • [EN-633] Some general performance improvements
  • [EN-635] Fixed slash direction when using path combine for windows environment

Version 0.4.0 - January 15th, 2020

Added

  • [EN-612] Added support for global vector arrays (UnityEngine.Shader.SetGlobalVectorArray family)
  • [EN-569] Added a set of particle system API methods and properties
  • [TOOL-98] Improved performance of ad networks' builds assembly
  • [UN-128] Added a comprehensive error message for unsupported MSBuild versions
  • [TOOL-94] Updated version of Bridge.NET library

Fixes and improvements

  • [EN-615] Fixed stencil operation when stencil is configured for both sides of polygons
  • [EN-311] Fixed isTrigger flag on colliders applying changes in runtime
  • [EN-611] Added stabs for UnityEngine.Camera culling and MSAA APIs
  • [EN-609] A more accurate vectors and colors Equals methods
  • [EN-600] Fixed physics synchronization orders when bodies are moved from FixedUpdate callbacks
  • [EN-608] Fixed startRotation3D property implemention of particle systems
  • [EN-599] Fixed unneeded de-duplication of trigger and collision callbacks
  • [EN-582] Added support for density in 2D Physics
  • [EN-589] Improved simulation of bodies with nested colliders
  • [EN-603] Fixed UnityEngine.EventSystems.EventTrigger.TriggerEvent class semantics
  • [EN-602] Fixed an edge case in enabled property of UnityEngine.Component descendants
  • [EN-601] Fixed UnityEngine.ParticleSystem.ParticleSystemColorOverLifetime class name
  • [TOOL-97] Fixed a (rare) path name too long occuring on Windows
  • [EN-539] Fixed distance property of UnityEngine.RaycastHit
  • [EN-590] Fixed an edge case of loading files from Resources folder having Auto-instantiate Prefabs enabled
  • [EN-578] Fixed synchronization of kinemtic physics bodies

Version 0.3.3 - December 25th, 2019

Fixes and improvements

  • [TOOL-96] Fix missing sln file

Version 0.3.2 - December 24th, 2019

Fixes and improvements

  • [EN-588] Fixed material parameter cloning

Version 0.3.1 - December 23rd, 2019

This release of Luna brings updated Luna UI into all Luna flavours as well as a few major engine improvements.

Added

  • [EN-475] Support for MovePosition method in 2D Physics
  • [EN-516] Support for body sleeping in 3D Physics
  • [TOOL-84] Major upgrade to C# transpiler bringing proper support for generic classes parametrized with structs
  • [EN-545] Major performance improvements of transpiled JS code, including user-land components and some parts of 3D Physics
  • [UN-124] A bunch of minor fixes to Luna UI, including buttons' alignment and links to documentation
  • [TOOL-89] Dramatic speed up of Playgroound builds
  • [EN-562] Added beta support for UnityEngine.MaterialPropertyBlock object and related APIs
  • [UN-113] Added shaders' statistics in terms of size taken
  • [EN-552] Better, faster and more reliable Resources folder handling
  • [UN-126] A set of improvements in Windows version: no symlinks by default, more reliable permission handling, built-in web server

Fixes and improvements

  • [EN-526] Fixed a crash when using Noise module in Particle Systems
  • [EN-535] Camera APIs extended to allow for vanilla DOTween compilation
  • [EN-540] Improved physics collision algorithm (GJK part)
  • [EN-537] Fixed incorrect bounding box value for UnityEngine.LineRenderer
  • [EN-536] Fixed incorrect initial time of Animator's state when swicthed manually
  • [EN-538] Fixed Play() method semantics for UnityEngine.Animator
  • [EN-534] Support for Transform.TransformPoint API
  • [EN-533] Fixed a bunch of inconsistencies when working with sharedMaterial properties of renderers
  • [EN-532] Support for Mathf.insideUnitCircle API
  • [EN-530] Adding missing properties for font styling to built-in text components
  • [EN-529] Adding a set of APIs in UnityEngine.Debug class
  • [EN-528] Fixed incorrect inheritance structure for UnityEngine.AudioSource component
  • [EN-524] Fixed UnityEngine.Animator updateMode property logic
  • [EN-547] Fixed malformed renderers (lacking a material) breaking rendering
  • [EN-548] Fixed a bug in export failing to serialize cyclic references between scriptable objects
  • [EN-531] A set of new APIs for UnityEngine.Bounds and UnityEngine.Matrix4x4 structs
  • [UN-125] Fixed runtime crash when font alphabets lack space character
  • [EN-561] Added unity_NHxRoughness built-in texture
  • [EN-563] Fixed entropy source for particle systems' noise modules previously leading to "not-so-random" noise
  • [EN-564] Fixed incorrect mouse / touch event blocking by some UnityEngine.Graphics descendants
  • [EN-566] Fixed incorrect transform calculation for nested collider hierarchies
  • [EN-567] Added API for getting root objects of the scene
  • [EN-571] Added support for UnityEngine.WaitWhile coroutine
  • [EN-567] Proper support for UnityEngine.Object.FindObjectsOfType API
  • [EN-574] Improved support for UnityEngine.Shader.SetGlobal* API family
  • [UN-127] Disabled System.Collections.Generic.Dictionary<> class from being serialized

Version 0.3.0 - December 6th, 2019

This release of Luna brings updated Luna UI into all Luna flavours as well as a few major engine improvements.

Added

  • [EN-463] Support for Continious Collision Detection in Physics engine!
  • [UN-98] Luna UI now has links to documentation next to most of Luna UI parts
  • [UN-85] Preview version of Dead Code Elimination is now available!
  • [UN-93] Luna UI now can upload builds to Luna Playground
  • [UN-99] Many improvements to Luna UI: cleaner structure, more specific error messages, new Luna Expert diagnostics and so on
  • [UN-113] Luna UI now has build size breakdown for easier estimation of assets' sizes
  • [EN-519] Added time property to Video component
  • [EN-518] Added a bunch of (previous missing) APIs like Mathf.PingPong, Random.rotation and so on

Fixes and improvements

  • [EN-523] Fixed a bug with reset of loop flag on Video components
  • [EN-522] Fixed a bug with CapsuleCollider properties on C# side
  • [EN-514] Fixed a bug in cast operators (Vector3 to Vector2) failing under specific conditions
  • [EN-520] Fixed a bug with reusing coroutines like WaitForSeconds and WaitForSecondsRealtime
  • [UN-89] CI now runs tests against "packaged" versions of Luna

Version 0.2.2 - December 3rd, 2019

Added

  • [UN-121] Luna can now be placed in arbitrary location on the disk
  • [UN-111] Luna in Unity under MacOS Catalina now works out of the box

Fixes and improvements

  • [UN-100] Default plugin now includes only two platforms: development and playground to streamline the process
  • [UN-102] "Shaders" tab in Luna UI has been removed as it is no longer needed
  • [UN-116] Asset explorers now refresh automatically when new assets are added, changed or removed
  • [UN-117] Removed warnings caused by force-including scenes
  • [UN-118] Fixed broken font settings
  • [UN-119] Corrected spelling on Fonts tab in UI
  • [UN-120] Custom export settings can now be applied to animations residing in compound assets (like FBX files) and standalone clips
  • [UN-122] Fixed compilation errors caused by [LunaPlaygroundField] attribute
  • [UN-123] Fixed reflection on built-in math types (Vector2, Vector3 etc)

Version 0.2.1 - November 27th, 2019

Added

  • [EN-338] Refactored Forward rendering pipeline

Version 0.2.1 - November 27th, 2019

Added

  • [EN-338] Refactored Forward rendering pipeline

Version 0.2.0 - November 22nd, 2019

Added

  • [TOOL-82] Our 3D physics engine is now built using Google's closure compiler, which enhances stability and performance of physics simulation!
  • [TOOL-80] A more complete MRAID platform support
  • [EN-405] 3D joints can now disable collisions between connected bodies
  • [EN-438] 3D Character Joint support
  • [EN-418] Support for break force and torque in 3D joints
  • [UN-79] It's now possible to specify Playground section and its order using a new attribute, [LunaPlaygroundSection]
  • [UN-67] Having no startup scene selected now provides a meaningful error message
  • [EN-450] Mesh-based raycasting support in 3D physics (triangle, barycentrics and texture coordinates access)
  • [UN-81] Newtonsoft.JSON (Bridge.NET variant) is now included automatically if the project uses it
  • [EN-251] Luna now supports OnApplicationFocus callback
  • [EN-459] MonoBehaviour's callback invokation order is now 1:1 replica of Unity's (including all quirks)
  • [LPG-104] Playground now supports changing playable name and icon via Web UI
  • [LPG-106] Parameters section of Version Editor in Playground now supports re-ordering and renaming of sections and parameters in place

Fixes and improvements

  • [EN-404] A bunch of stability improvements around 3D joints logic
  • [EN-408] Fixed crash in Desktop TextMeshPro shader (outline case)
  • [EN-116] 2D colliders bug fixes and stabilisation
  • [UN-78] Fixed prefab handling when those are created out of an FBX files with multiple sub-meshes
  • [EN-454] Fixed Resources.FindResourceByPath method
  • [TOOL-87] Fixed File name is too long message affecting some Windows users
  • [EN-461] Fixed raycasting of 3D bodies right after instantiation
  • [EN-467] Fixed ill behaviour of OnDisable and OnDestroy callbacks
  • [UN-83] RuntimeScripts folder is now symlinked relatively and is git-friendly
  • [EN-472] GetComponent<> method family now properly supports physics components
  • [EN-474] Fixed handling of UnityEngine.ParticleSystem.MinMaxGradient, UnityEngine.AnimationCurve and UnityEngine.GradientMode in user's code
  • [EN-116] A multitude of 2D physics fixes and improvements

Version 0.1.1 - November 5th, 2019

Added

  • [EN-419] Physics.CheckSphere API
  • [EN-413] A set of casting APIs (Physics.SphereCastNonAlloc, Collider.ClosestPoint, Collider.Raycast, Physics.ComputePenetration etc)
  • [EN-401] Partial Cinemachine support
  • [EN-74] Mintegral, Tiktok and MRAID deployment support

Fixes and improvements

  • [EN-241] More descriptive messages in CLI interface for certain cases
  • [EN-355] Half-precision floats for animation clips
  • [EN-416] Fixed incorrect draw order upon active status change of UI subtree
  • [EN-401] A set of math methods (Quaternion.LerpUnclamped, Quaternion.xyz etc)
  • [EN-412] Fixed random sprite sheet row pickup
  • [EN-411] Fixed an interminent skipping of a trigger in Mecanim
  • [EN-410] Fixed pointer events' order
  • [EN-409] Fixed crash when attempting to play an animation
  • [EN-404] Stability improvements for 3D Physics joints
  • [EN-405] Support for collision flag on 3D Physics joints
  • [EN-399] A set of fixes and stabilization amendments for RectTransform layout logic

Version 0.1.0 - October 11th, 2019

Added

  • [UN-70] Unified support for sprite atlasses for both 2018.x and 2019.x family
  • [EN-364] Support for "desktop" variants of TextMeshPro shaders
  • [EN-366] Added object names' markers to Spector.js output
  • [EN-370] Support for debug drawing (rays, wired primitives, breakpoints)
  • [EN-371] All user code and basic math structs are now reflectable by default
  • [EN-350] An optional setting allowing for half-precision mesh data
  • [TOOL-62] Luna UI enhancements: cleaner log outputs, more obivous error reporting, click-to-open solution file
  • [TOOL-61] New preloader UI and additional configuration options

Fixes and improvements

  • [EN-272] Proper handling of concave meshes' collisions
  • [EN-348] Fixing incosistent BoxCollider settings when collider updates in runtime
  • [EN-349] Fixing transform property of UnityEngine.RaycastHit object
  • [EN-344] Improved startup performance of mesh colliders
  • [EN-362] Unified handling of collision and trigger events
  • [EN-368] Implementing Fade mode of Standard Material
  • [EN-369] Fixing UnityEngine.Camera.ScreenPointToRay method
  • [EN-365] Fixing Physics 3D joins (hinge, fixed, spring and character)
  • [EN-374] Support for "plain" ambient color (for non-SH shaders)
  • [EN-324] A set of startup time impovements
  • [EN-381] Fixing UnityEngine.Material.color property
  • [EN-382] Fixing material parameters leakage upon clonning a material
  • [EN-376] Fixing collisions between degenerated capsules and other bodies