Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[2.3.0] - 2024-01-17
Added
- Added a new collection ReadOnlyList<T> as a more performant alternative to
ReadOnlyCollection
.ReadOnlyList
improves uponReadOnlyCollection
by removing the heap allocations associated withGetEnumerator()
.
Fixed
- Fixed the XmlDocs issues for API documentation.
[2.3.0-pre.3] - 2023-12-11
Fixed
- Fix conditional compilation of analytics API on 2023.2 and newer editor versions.
[2.3.0-pre.2] - 2023-11-27
Added
- Added the Building Blocks system, an overlay window in the scene view with quick access to commonly used items in the project.
- Added the Capability Profile system that allows the creation of assets with key-value pairs to abstract the capabilities of a platform, device, OS, or a combination of them.
- Added
EditorAnalyticsEvent
class that can be extended to create editor analytics events. This class supports the new analytics APIs introduced in editor version 2023.2 as well as the analytics APIs from older editor versions.
Changed
- Changed Project Validation to query
IsRuleEnabled
andCheckPredicate
before invokingFixIt
action of aBuildValidationRule
via Fix All button. This preventsFixIt
action being called unexpectedly via Fix All button while the changes by another rule are in progress.
Fixed
- Fixed the sort order of enabled issues in the Project Validation window to keep them in the original order added in code.
- Fixed to prevent the progress bar from getting stuck when an exception is thrown during the
BuildValidationRule.FixIt
method. - Fixed a bug in
ScriptableSettingsBase
that would attempt to create a new instance of the settings asset even when the asset already existed. - Fixed an issue in the Project Validation window where opening a Unity project without window focus could throw an exception.
[2.3.0-pre.1] - 2023-08-14
Added
- Added
BuildValidationRule.HighlighterFocus
property in project validation rules to allow for the searching and highlighting of text in the editor. - Added ability to the Datum property drawer to allow the Use Asset/Use Value property to be reverted separately from the parent property when right-clicking the More menu (
⋮
) button.
Fixed
- Fixed Datum property drawer so the Use Asset/Use Value dropdown appears directly under the button instead of under the multiline value.
[2.2.3] - 2023-08-01
Fixed
- Fixed
TransformExtensions
methods to useTransform.GetPositionAndRotation
/Transform.GetLocalPositionAndRotation
andTransform.SetPositionAndRotation
/Transform.SetLocalPositionAndRotation
when available to improve performance.
[2.2.2] - 2023-07-12
Fixed
- Fixed bug with Datum property editor incorrectly reporting the height of datum properties in the inspector.
[2.2.1] - 2023-05-02
Changed
- Renamed the following display names of the properties in
XROrigin
inspector:- Camera GameObject to Camera for
Camera
property - Camera Floor Offset Object to Camera Floor Offset GameObject for
CameraFloorOffsetObject
property
- Camera GameObject to Camera for
[2.2.0] - 2023-02-10
Changed
- Promoted package from prerelease to verified.
[2.2.0-pre.2] - 2022-11-10
Added
- Added
SetValueWithoutNotify
method toBindableVariableBase<T>
to let users set the value without broadcasting to subscribers. - Added
BuildValidationRule.OnClick
lambda function that is invoked when the rule is clicked in the validator. Also added theBuildValidator.SelectObject
method to perform the object select logic for rules. - Added
BuildValidator.FixIssues
method to process and fix a batch of validation rules.
Changed
- Renamed
UnBindAction
toUnbindAction
in EventBinding. - The
Fix All
button, in theProject Validation
, now processes and fixes all issues in a single frame. SetBuildValidationRule.FixItAutomatic
tofalse
if the issue cannot be processed with others in the same frame (Ex. if the fix requires a Unity Editor restart).
Removed
- Removed
SetValue
method fromBindableVariableBase<T>
. Use theValue
property setter instead.
Fixed
- Fixed GC alloc caused by the value comparison in
BindableVariable<T>
. - Fixed error when calling
GameObjectUtils.GetComponentsInAllScenes<T>
with unloaded scenes in the Hierarchy window.
[2.2.0-pre.1] - 2022-09-21
Added
- Added
SwapAtIndices<T>()
function toListExtensions
that performs an index-based element swap on anyList<T>
. - Added bindable variable classes which allow a typed variable to be observed for value changes.
- Added value datum classes, which store data in a
ScriptableObject
or directly within a serializable class. These can be utilized to share common configuration across multiple objects and are used by the affordance system. - Added common primitive types of
UnityEvent<T>
to allow serialized typed Unity Editor events. - Added
HashSetList
, which is basically a wrapper for both aHashSet
andList
that allows the benefits of O(1)Contains
checks, while allowing deterministic iteration without allocation. - Added Multiply, Divide, and SafeDivide Vector3 extensions.
[2.1.0] - 2022-08-22
Fixed
- Organized alignment for help button on project validation rules window.
- Fixed alignment issues with the error icon.
[2.1.0-pre.1] - 2022-04-21
Added
- Add Project Validation for validating packages against package configuration correctness. See the manual entry for project validation for more details.
Removed
- Removed the GameObject > XR > XR Origin menu item. To create a new XR Origin, users should instead use the menu items provided by AR Foundation and/or XR Interaction Toolkit.
Fixed
- NativeArrayUtils.EnsureCapacity now checks for unallocated array before disposing it and reallocating for a larger capacity.
- Fixed compilation errors on platforms such as Stadia where the XR module is not available.
[2.0.0] - 2022-02-16
Added
- Define constants for documentation to include missing APIs.
Fixed
- Fixed XR Origin so it appears in the Component > XR menu.
- Fixed so test behaviors and OnDestroyNotifier do not show up in the Component > Add menu since those are not intended to be used directly by users.
[2.0.0-pre.6] - 2021-12-10
Changed
- Stopped firing warnings when users attach the TrackedPoseDriver from
com.unity.xr.legacyinputhelpers
, but strongly recommend that users attach the TrackedPoseDriver fromcom.unity.inputsystem
to thecamera
property of XROrigin instead. (1388617)
[2.0.0-pre.5] - 2021-11-16
Changed
- Changed property names so that they adhere to PascalCase.
Added
- Added
XROrigin
menu item to SceneInspector that creates and configures a basicXROrigin
in the scene.
Fixed
- Fixed serialization issue where upgrading to XROrigin from XRRig may cause references to be broken in the component.
- Fixed issue where XROrigin.CameraInOriginSpacePos was being miscalculated.
- Fixed issue where the custom Inspector for XROrigin was not being used.
- Fixed warning message referencing an old property name when a Camera could not be found.
- Fixed a reflection issue with ScriptableSettingsBase.GetInstanceByType by renaming
EditorScriptableSettings<T>.instance
toEditorScriptableSettings<T>.Instance
.
[2.0.0-pre.3] - 2021-11-03
This is the first release of XR Core Utilities package.
Added
- XROrigin is a new XR agnostic setup that handles session space. It will be replacing ARSessionOrigin and XRRig.
- All the utilities from XR Tools Utilities (
com.unity.xrtools.utils
) package has been migrated in this package. This includes common utilities used by XR packages like MARS, AR Foundation, and Spatial Framework.
Changed
- The minimum Unity version for this package is now 2019.4.
Removed
- Removed
CONTRIBUTING.md
since the package is not accepting external contribution.
Fixed
- Fixed company name in
LICENSE.md
file from "Unity Technologies ApS" to "Unity Technologies".