Release Notes

Release notes for the Luna Engine.

Version 0.8.2 - August 2nd, 2020

Fixes and improvements

  • [EN-1102] Change wheel collider instantiation
  • [UN-161] Fixed isPlaying for Video Player component
  • [EN-1132] Monobehavior null check now takes into account destroyed object
  • [EN-1136] Finding only enabled nodes by tag
  • [EN-1137] Collider2D.sharedMaterial fix
  • [EN-1138] UnityEngine.RawImage texture was not properly set for rendering
  • [EN-1135] Workaround for precision issues in Vector3.normalize
  • [EN-1129] CCD: removed all convex pieces of the proxy whose collisions are ignored
  • [EN-1139] Ability to Compare Faux Bodies

Added

  • [EN-1126] Added Rigidbody.freezeRotation API
  • [EN-613] Added SetGlobalTexture, SetGlobalVectorArray
  • [UN-161] Added AdColony export platform

Version 0.8.1 - July 17th, 2020

Fixes and improvements

  • [EN-1119] Removed _dirtyLocalEulerAngles flag
  • [EN-1105] Prevent the generation of mipMaps if "No MipMaps" set in texture settings
  • [EN-1042] Fixed SetAsLastSibling function to correct reparenting call
  • [EN-1113] Pooled audio sources.stop for different source
  • [EN-1112] TextGenerator measures text size including tags
  • [EN-1103] Match default raycasts / shapecasts params with Unity
  • [EN-1117] SpriteRenderer.color applied incorrectly for renderers with the same sprite
  • [EN-1119] Make sure that parent entity is synchronised when synchronising child
  • [EN-1122] Assets override wasn't saving from Luna UI
  • [EN-1120] Ternary operator with structs struct = (condition) ? structa : structb bridge 17.9.9 update
  • [EN-1118] Common audio manager proxy & ironSource integration
  • [EN-1125] Instantiate with parent now gets correct scale, position and rotation
  • [EN-1005] Fixed issue with absolute path of external sources
  • [EN-1111] Materials property returns null if material wasn't already set
  • [EN-1123] No limits value for image FillAmount
  • [EN-925] Fixed issue with multiple renderers on same object
  • [EN-939] Particles fix: BoundingBox & rendering in front of skinned mesh

Added

  • [EN-1106] Animating material parameters

Version 0.8.0 - July 7th, 2020

Fixes and improvements

  • [UN-153] Added text input for user Scripting Defines
  • [EN-1084] Fix relationship between interpolation, timescale and autoSyncTransforms
  • [EN-1079] UI.Text fontStyle fix
  • [EN-814] Revised PNG compression tools
  • [EN-1081] code:bundle command was not working without previous steps and empty LunaTemp
  • [TOOL-104] New FontBM version with fix for win machines
  • [EN-1098] GrabPass for some resolutions caused WebGL errors
  • [EN-1087] Removed excessive energy from positional constraints and make ContactDetails monimorphic
  • [EN-1087] Mark some joint's rows as positional
  • [EN-1087] Move breakForce / breakTorque to base joint dto class to match Unity's hierarchy
  • [EN-1051] Make the relationship between constraints and AddTorque / AddForce the same as in Unity
  • [EN-1086] Increase speculative CCD energy loss and amend some constraints
  • [EN-1085] Build collisionAABB by rotating it around COM rather that the origin
  • [EN-1075] Improve friction calculation, simulation stability & performance
  • [EN-619] Missing mesh for SkinnedMesh no longer breaks startup

Added

  • [EN-715] Added Project Compilation window
  • [UN-154] Added Automatic Stubbing feature
  • [UN-156] Added version check to Plugin for update notifications
  • [EN-1107] Add VideoPlayer SetDirectAudioMute method
  • [UN-141] Move videoPlayerComponent assigning to constructor
  • [UN-141] Add Animation and VideoPlayer constructors
  • [EN-1080] Fix video resuming on iOS
  • [UN-159] Add Add TikTok platform languages
  • [UN-159] Add supported languages option
  • [EN-1082] Added rendering APIs: Material.SetPass DrawMeshImmediate GetPixels
  • [EN-1101] Added support for flat convex meshes

Version 0.7.3 - June 15th, 2020

Fixes and improvements

  • [EN-1035] Material constructor parameters initialization fixed
  • [EN-1038] UnityEngine.Object.Instantiate with parent now calls callbacks correctly
  • [EN-1060] Shaders with multiple grabPasses support
  • [EN-1037] TextGenerator verticalOverflow fixed. Addded warning for case where there is not enough space.
  • [EN-911] ParticleSystemRenderer.enabled fixed
  • [EN-1055] LineRender exception after removing duplicates and leaving only one point
  • [EN-1056] Default normals for Sprites fixed
  • [EN-1058] Reparent parent object to it's child object stuck in infinite loop
  • [EN-1063] Remove shadowcast passes as we they're currently not supported.
  • [EN-1068] NPOT texture with wrapMode repeat now prints warning to console to quickly find such issues
  • [EN-1069] Luna export window assets selected and saved to luna.json correctly
  • [EN-1057] GrabPass performance improvement
  • [EN-1026] Animation.AddClip fixed
  • [EN-1027] Constructor init method injections for TypeParameter fields / auto-properties
  • [EN-1050] Tweak some convex hull checks to be more / less accurate

Added

  • [EN-1066] UnityEngine.Mathf ClosestPowerOfTwo implementation
  • [EN-1064] UnityEvent with property fixed
  • [EN-1053] Input touches API support
  • [EN-1054] Support ConfigurableJoint targetVelocity/targetAngularVelocity

Version 0.7.2 - June 7th, 2020

Fixes and improvements

  • [EN-1034] Align Fixed Joint math with Configurable Joint and prevent warm-starting
  • [EN-1039] Emit events after simulation and synchronisation to avoid physics state corruption & use stored collision velocity from Goblin
  • [EN-1040] EnableKeyword check fix
  • [EN-1043] ParticleSystem memory allocation rework
  • [EN-1041] setVectorStream improvement
  • [EN-1045] Make SAT symmetric
  • [EN-1047] Sprite.Create fix vertices, bounds, aabb

Added

  • [EN-1047] Texture2D.ReadPixels (only RGBA32)

Version 0.7.1 - June 1st, 2020

Fixes and improvements

  • [EN-1024] Int parsing during missing key value in PlayerPrefs
  • [EN-1023] Properly initialize some defaults in joints
  • [EN-1023] 3D Physics: general performance enhancements and improvement to CCD performance
  • [EN-1028] ParticleSystem breaks AABB for selected mesh
  • [EN-1033] Removed per update trail checks

Added

  • [EN-1030] Provide anti-aliasing field to Export Window
  • [EN-1023] Implement improved cache for Meshes / ConvexHulls and add mesh versioning

Version 0.7.0 - May 23rd, 2020

Fixes and improvements

  • [EN-1016] GL.Clear not affecting RenderTexture.active
  • [EN-1002] Broken links in scripts.csproj on Windows
  • [EN-1015] AddComponent init order
  • [EN-1012] Fix Animator AnyState transitions to same state
  • [EN-1011] Expanding string visitor context for explicit serialisation
  • [EN-1007] Removing ASII symbols from strings during export
  • [EN-1006] Treat collider with empty mesh like a collider with no mesh at all
  • [EN-980] Fix scaled DeltaTime for particles
  • [EN-981] Fix canvas children AABB position
  • [EN-1001] Instantiate does not compensate scale with local scale
  • [EN-974] Fix for load constructor being called twice for animation components
  • [EN-939] Fixed missing light position access during dispatching light
  • [EN-989] Static Colliders setAwake
  • [EN-987] Improve PolygonCollider2D
  • [EN-988] PolygonCollider2D turns to boxes if vertices are too close
  • [EN-972] Prevent MeshColliders without mesh colliding with anything
  • [EN-950] Account for CoM and triggers in CCD
  • [EN-982] Updating mesh instance AABB during vertex update for mesh
  • [EN-983] PlayerPrefs returns empty string instead of null for missing keys
  • [EN-984] Invoking OnClick event without target results in warning instead of error and does not break flow
  • [EN-966] Sync hierarchy of moved node instead of its parent
  • [EN-962] Prevent re-generating meshes and convex hulls when relative transform of the collider changes
  • [EN-957] AudioSource fixed typo
  • [EN-954] Add second run of merging to ConvexHull and fix normal calculation when face has multiple vertices on the same line
  • [EN-955] Stop incorrectly using attachedRigidbody from Collider class
  • [EN-952] Particles don't use same uniforms as skinned meshes do
  • [EN-948] Make EventEmitter emit events for each shape pairs individually
  • [EN-940] Colliders no longer affecting up with constants
  • [UN-141] Fix AnimationState enumerator issue (Export failure)
  • [EN-968] Disabled hierarchy component do not sync in blend probes update

Added

  • [EN-994] Use updated Goblin API
  • [EN-965] Added AddTorque API
  • [EN-1010] Exposing time property in ParticleSystem
  • [EN-970] Exporting textures with default format option
  • [EN-985] Image set native size
  • [EN-977] Instantiate material
  • [EN-976] Texture APIs: Texture.filterMode; Texture2D.Apply(bool, bool)
  • [EN-986] TextAsset.bytes
  • [EN-992] Implement VertexLM pass
  • [EN-962] Increase amount of shift needed to cause collider re-calculation
  • [EN-961] 3D Physics: Refactor collision cache & other performance improvements
  • [EN-969] Export AnimatorState.fullPathHash
  • [EN-945] Rebuild Vendor Packages
  • [UN-152] Auto-instantiate Prefabs Fix
  • [EN-963] Prevent some constant properties from being changed
  • [EN-964] Wheel collider APIs: WheelCollider.sprungMass, WheelCollider.suspensionSpring, WheelCollider.forwardFriction
  • [EN-971] Add missing APIs to ContactPoint
  • [EN-960] Animator.hasBoundPlayables API
  • [EN-953] Add force override method with x,y,z signature
  • [EN-951] Added Animator.speed

Version 0.6.4 - April 27th, 2020

Fixes and improvements

  • [EN-861] UnityWebRequest APIs: Delete, UnityWebRequestAsyncOperation
  • [EN-854] Refactored Coroutines with additional tests
  • [EN-823] UnityEngine.Bounds API update
  • [EN-865] Missing entity on component set, it's safe to assume previous state as false
  • [EN-898] Fixed race condition where video texture width and height is undefined
  • [EN-897] Collision callback was being delivered to colliders in children of a GameObject which contains a Rigidbody - collision is now sent correctly up the hierarchy
  • [EN-902] Wrong shader variants association with pass - Shader exports all variants for the same lightmode (previously, some variants were missing)
  • [EN-705] Rewrite inertia & center of mass calculations to improve accuracy
  • [EN-908] Audio source set to play on awake missed enabled game object check
  • [EN-916] Canvas component now correctly updates after screen resize (or rotation)
  • [EN-859] Modify Transform Callback
  • [EN-919] Animator now resets on OnEnable
  • [EN-270] Made improvements to GameObject.Find( "Parent/Child" )
  • [EN-699] Defining layer fields in GraphNode
  • [EN-766] Show warning when Destroy is called on a Transform
  • [EN-900] Added missed parenting in GameObject constructors
  • [EN-922] TextAssets export paths fixed to use ToLowerInvariant
  • [EN-909] AsyncOperation is now inherited from YieldInstruction, CustomYieldInstruction is implemented
  • [EN-863] External sources linking problem
  • [EN-910] Missing reference to engine project in scripts.csproj when it is opened by VS
  • [EN-924] Rvalue check worked incorrectly when we have return T as the result of a function
  • [EN-928] Bounds didn't take in account null during equal check
  • [EN-929] Unboxing number with cast to Int64 now works correctly
  • [EN-869] Tweak solver & PCM
  • [EN-927] Sync colliders and bodies upon creation and support autoSyncTransform. Prevent autoSyncTransform for static colliders from happening before they are added to the adapter
  • [EN-930] Picking up device width/height and invoking canvas resize on canvas enabled

Added

  • [EN-914] Added char.CovertFromUtf32
  • [EN-915] Delegate.CreateDelegate(Type, object, string)
  • [EN-912] String.CompareOrdinal, String.LastIndexOf with StringComparison
  • [EN-905] EscapeUriString and EscapeDataString implemented
  • [EN-639] Multiple shader pass with same lightmodes
  • [EN-420] SpriteRenderer.color with custom shader
  • [EN-116] Joint2D.breakTorque
  • [EN-48] AudioSource Unity Component
  • [EN-868] Input keyboard
  • [EN-903] Application.identifier
  • [EN-857] Parse, tryParse now works with with NumberStyles.AllowHexSpecificator for int, byte, sbyte
  • [EN-913] CultureInfo.GetCultureInfoByIetfLanguageTag

Version 0.6.3 - April 7th, 2020

Fixes and improvements

  • [UN-149] Fix config clearing on assets renaming
  • [EN-767] Optimizing GetComponent/GetComponents
  • [UN-146] Fix asset fields section serialization
  • [LPG-338] Update "Docs" link in top-bar dropdown
  • [EN-684] CCD improvements
  • [EN-844] Fixed indexer typo in JsonConvert.js. TypeError in newtonsoft.json.js when deserializing some types
  • [EN-846] TMP no longer ignores alpha from canvas
  • [EN-845] UpdateStencilParameters and canvas order corrected
  • [EN-831] Zero scale in transform leads to NaN-s in world rotation quaternion

Added

  • [EN-116] TargetJoint2D
  • [EN-687] EdgeCollider2dComponent.edgeRadius API
  • [EN-848] Camera.Render implementation
  • [EN-849] GetSubMesh ( int idx )
  • [EN-850] GetIndices( int submesh, bool applyBaseVertex )
  • [EN-851] Texture2D - GetPixels()
  • [EN-852] Coroutine WaitForRealTime
  • [EN-853] Camera.Render - GetSubMesh GetIndices Texture2D.GetPixels
  • [EN-841] Implement VideoTexture. Add video resolution and frame rate
  • [EN-691] Animator API implementation for Spine 3.6

Version 0.6.2 - April 1st, 2020

Fixes and improvements

  • [EN-840] Plain Transform in UI hierarchy causes exception
  • [EN-842] Problems with UI input and draw order fixed
  • [EN-836] CanvasGroup low performance fix
  • [EN-833] Color32 is not serialized correctly
  • [EN-821] Mesh generation Mesh.setVertices fix
  • [EN-827] Performance improvements for UI
  • [EN-830] CanvasGroup applying properties from animation

Added

  • [EN-116] SliderJoint2D
  • [EN-116] FrictionJoint2D
  • [EN-116] RelativeJoint2D
  • [EN-790] Align joint's math with PhysX

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 parameterless 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 implementation 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 occurring 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 Playground 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 invocation 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 intermittent 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 obvious 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 inconsistent 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 improvements
  • [EN-381] Fixing UnityEngine.Material.color property
  • [EN-382] Fixing material parameters leakage upon cloning a material
  • [EN-376] Fixing collisions between degenerated capsules and other bodies