1.2.0 - Improved multi-user grabbables
Upgrades to AvStandardGrabbable:
- Added a new property
style
that replacesuseInitialParent
andadvertiseGadgetInfo
. This property is required and must be one of the following values:GrabbableStyle.Gadget
- The grabbable represents the top-level object in a gadget. It will adopt the initial position when the gadget is spawned from a gadget seed, it will have the favorite and delete controls on the A menu, and it will be cloned to remote gadgets (if aremoteInterfaceLocks
list is provided.)GrabbableStyle.LocalItem
- The grabbable represents a sub-item in the gadget. It will not be networked, and it will not act as a gadget itself.GrabbableStyle.NetworkedItem
- The grabbable represents a sub-item in the gadget that will have its state shared back and forth with the remote copies of the gadget. Grabbables of this style must also specify the newitemId
property, which is what Aardvark uses to sync up the remote copies of the grabbables with the primary copy. This ID must be unique within the gadget.
- Added new properties
appearance
andvolume
. If these are specified they are used instead of modelUri and modelScale to provide the appearance of the grabbable. This is useful when the grabbable needs to be more complex than a simple scaled model.
The whiteboard markers have been moved to use AvStandardGrabbable now that appearance
is available. They are using GrabbableStyle.NetworkedItem
, so they users will see the markers move when other users move them.
All of the networked item functionality requires the networked room provider to be updated to @aardvarkxr/[email protected] or later. If the room gadget is using an older version of the library the networked items will not move on the remote end.