Grabbable (Component)

From Neos Wiki
Jump to navigation Jump to search
This page contains changes which are not marked for translation.


This article or section is a Stub. You can help the Neos Wiki by expanding it.


Grabbable component as seen in the Scene Inspector

Intoduction

Grabbable is a complicated thing

— AlexFromAlaska

The Grabbable component allows you to grab any slot it is attached to, provided it has some type of Collider

Usage

Fields
Name Type Description
persistent Bool Determines whether or not this item will be saved to the server.
UpdateOrder Int Controls the order in which this component is updated
Enabled Bool Controls whether or not this component is enabled
ReparentOnRelease Bool The slot is reparented to the value of _lastParent, instead of root when dropped *
PreserveUserSpace Bool The slot is reparented to Local User Space *
DestroyOnRelease Bool The slot this component is attached to is destroyed upon release
GrabPriority Int When attempting to grab multiple objects at once, only those with the highest grab priority are grabbed.
GrabPriorityWhenGrabbed Int
CustomCanGrabCheck GrabCheck Not Usable inside Neos
EditModeOnly Bool Determines if this grabbable is effective only in Edit Mode
AllowSteal Bool Other users can grab the slot this component is attached to.
DropOnDisable Bool The parent slot will be dropped when this component is disabled.
ActiveUserFilter ActiveUserHandling
OnlyUsers UserRef A list of users that are allowed to grab this slot.
Scalable Bool The parent slot can be scaled
Receivable Bool The parent slot can be dropped onto a GrabbableReceiverSurface
AllowOnlyPhysicalGrab Bool Only allow grab an object with a physical interaction - remote grabs are not allowed
_grabber Grabber Automatically Assigned
_lastParent Slot Automatically Assigned
_lastParentIsUserSpace Bool Automatically Assigned
__legacyActiveUserRootOnly Bool Automatically Assigned

Behavior

The interaction between ReparentOnRelease, PreserveUserSpace and any Grabbable Extensions, such as GrabbableReparentBlock, is somewhat complex.

When released, the following will be evaluated, in order:

  1. If ReparentOnRelease is true, the slot will be parented to the value in _lastParent
  2. If PreserveUserSpace and _lastParentIsUserSpace is true, the slot will be parented to Local User Space
  3. If an Grabbable Extension exists above this component in the hierarchy, and it is within the MaxDepth specified in the block, the slot will be parented to Local User Space
  4. Otherwise, the slot is parented to root.

Examples

Related Components