Skip to content

1.2.0 - Improved multi-user grabbables

Compare
Choose a tag to compare
@JoeLudwig JoeLudwig released this 01 Oct 15:37
· 152 commits to master since this release

Upgrades to AvStandardGrabbable:

  • Added a new property style that replaces useInitialParent and advertiseGadgetInfo. 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 a remoteInterfaceLocks 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 new itemId 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 and volume. 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.