This repository has been archived by the owner on Jun 10, 2022. It is now read-only.
Releases: microsoft/mixed-reality-extension-sdk
Releases · microsoft/mixed-reality-extension-sdk
MRE v0.21 - MP3 Audio Format Support
Features
Sound type for MP3 Support (#741)
Bug Fixes
Actor will properly receive default ownership when authoritative user is assigned (#744)
Actors with orphaned ownership will properly update upon new authoritative user (#743)
Fix for transform subscriptions when actor is an attachment (#745)
button-behavior test V0: Reacts differently to quick clicks and long presses (#725)
Don't sync transforms of grabbed exclusive actors (#737)
MRE v0.20 - Physics, Permissions
Features
- When defining groups for visibility masking, you can now define groups by who is not in it in addition to who is. (#608)
- Require that MREs request permission from the user before interacting with that user. This applies to behaviors, attachments, exclusive actors, and user prompts. (#606)
- Greatly improved rigid body synchronization. (#652)
Bug Fixes
- Fix bug with importing the SDK on certain versions of TypeScript. (#657)
MRE v0.19 - Updated Button Behavior, Asset Caching, and Bug Fixes
Features
- Added in ability to get hover and button cursor points through button events (#592 )
Bug Fixes
MRE v0.18.0 - New fonts, bug fixes
MRE v0.17.0 - Animations Refresh Part 2
Features
- (#532) Introducing the new animation engine! This comes with several major changes:
- Animation keyframe data is now stored in a new asset type:
AnimationData
. This data can be reused by multiple animations simultaneously. Unity animations do not go through this system, so some features will not be available for glTF or library actor animations. - Animation data may now animate multiple actors together in one animation.
actor.createAnimation
has been replaced withassetContainer.createAnimationData
andanimationData.bind
.actor.animateTo
has been replaced byAnimation.AnimateTo
.
- Animation keyframe data is now stored in a new asset type:
MRE v0.16.0 - ID Type, Grid Layout, Emissive Materials
Features
- Add a utility to lay out actors in a grid:
MRE.PlanarGridLayout
. Add actors to cells withaddCell
, and automatically set each actor's position withapplyLayout()
. (#492) - Add an
emissiveColor
andemissiveTexture
to materials, for those of you that don't want lighting on your objects. (#496)
Bug Fixes
- Fix edge case where object-spawned has unknown actors. (#490)
- Fix test play/pause state in the functional tests. (#491)
Housekeeping
- Convert all our IDs from strings to validated GUIDs. This means that if you store actor, asset, or user IDs in your app, you will need to change the type from
string
toMRE.Guid
. Since classes can't be keys in objects, key-value pairs need to be converted from objects to Maps. Also useful:MRE.parseGuid()
andMRE.Guid.toString()
. (#476, #480) - Reorganize SDK file structure, consolidate imports. (#482, #487, #489)
MRE v0.15.0 - Animations Refresh Part 1
Features
- Implement a new, more powerful, animation API. (#475)
- Add a new class:
Animation
. This encapsulates all the properties of an animation, includingtime
(for seeking) andspeed
(for fast forward and reverse). For full details see the documentation. - Add two new actor properties:
animations
andanimationsByName
. These are Maps that reference animations that target the actor by ID and name respectively. - When you create an actor from a source with animations (i.e. a glTF prefab or library object), the spawned actor will have those animations listed.
Actor.createAnimation
now resolves to anAnimation
object.
- Add a new class:
- Convert collider from a union type to an enum for improved autocomplete. So instead of specifying the collider shape as a string (
collider: { geometry: { shape: 'box' } }
), you now provide the enum value (collider: { geometry: { shape: MRE.ColliderType.Box } }
). (#463)
Housekeeping
MRE v0.14.0 - Collision Layers
Features
- Add the ability to place colliders on particular layers. A collider's layer determines which other actors it will interact with, as well as whether they block the player.
- Add a new argument to
Actor.CreateFromPrefab
to assign all colliders in the spawned prefab to a particular layer.
Bug Fixes
- Fixed a bug preventing colliders from being disabled (unreported)
MRE v0.13.2 - Perf Metrics, RPCs, Text Input
Features
- Add
context.getStats()
, which returns a plethora of useful metrics about how the MRE is running. (#445) - Overhaul the RPC system to support message channels. (#449)
- Add
user.prompt()
, which displays an OK/Cancel dialog to the given user, with an optional text input field. (#448)
Bug Fixes
- Clean up media instances when the actor is destroyed. (#412)