| ▼NKanda | |
| ▼NInteractions | |
| ▼NEditor | |
| ▼NSettings | |
| CInteractionsSettingsProvider | Adds InteractionsSettings to Kanda SDK project settings |
| ▼NFeatures | |
| ▼NGrab | |
| ►NAuthoring | |
| CGrabbableAuthoring | |
| ►NComponents | |
| CGrabbable | Tag an entity as a grabbable that can be grabbed if interacted with interactor that has the same ActivationTypes |
| CIsGrabbing | Added to an interactor after it is grabbing a grabbable. It is used to block the interactor to re-steal a grabbable immediately. This will be removed when the interactor is releasing its grab |
| ►NSystems | |
| CGrabbableSystem | For all entities with Grabbable and ActiveInteractable with disabled Attachable, check if the InteractionBinding has the same ActivationTypes as the grabbable and enable the Attachable component with offset from the InteractionBinding.WithEntity |
| ▼NSocket | |
| ►NAuthoring | |
| CSocketableAuthoring | |
| CSocketAuthoring | |
| ►NComponents | |
| CSocket | Marks the entity as Socket, as well as setting up the Hint gameobjects |
| CSocketable | Marks the entity as Socketable |
| CSocketableHintTemplate | Specify the runtime-generated hint entity templates to be used to instantiate new hint entities when the socket is available or overlapped |
| CSocketableHintTemplateInstance | Tags the hint template entities created at runtime from either Socketable itself or SocketableHintTemplate.HintAvailableTemplateEntity/HintOverlapTemplateEntity |
| CSocketableHintTemplatesInitialized | Tags the socketables, whose hints templates have not been created yet |
| CSocketableHintVisual | Tag the instantiated hint entities from socketable's template entities when socketable is grabbed |
| CSocketFilter | |
| CSocketFilterData | A buffer of SocketFilter. This is intended to be populated during authoring of Socket and Socketable |
| CSocketFilterExtensions | |
| CSocketOverlap | Tag the Socketable entity if it's overlapping with the Socket |
| ►NSystems | |
| CSocketHintInitializationSystem | Generates socket hint templates either from socketable itself or from Socketable.HintOverride. Generated hint entity templates are placed as child of Socketable, which will be used as template entities to instantiate hint instances in SocketVisualSystem |
| CSocketSimulationSystem | Enable SocketOverlap if the Socket entity is overlapped with Socketable entity. Then when the socketable entity is not interacted anymore it will be socketed. When the socketable entity is interacted by an interactor again, the Socket then enabled to allow another socketable to be socketed |
| CSocketVisualSystem | Show Socket Hint Available when Socketable Entity is interacted or Hint Overlap when Socketable Entity's SocketOverlap is enabled. Currently the hint is specified in SocketableHintTemplate component |
| ▼NFundamental | |
| ▼NAttach | |
| ►NAuthoring | |
| ►CAttachableAuthoring | |
| CAttachableBaker | |
| CThresholdAttachableAuthoring | |
| ►NComponents | |
| CAttachable | Signals that an entity can be attached to another, following the transform of the entity it's attached to |
| CThresholdAttachable | Allowing the attached entity to be detached when the distance between the attached entity and the owner entity is under the threshold distance. When the distance is over the threshold, the entity will be attached again to the owner |
| ►NJobs | |
| CMoveAttachablesJob | For each currently attached Attachable, update the target position of its Movable to match the LocalTransform of the owner |
| CUpdateThresholdAttachablesJob | For each entity that has ThresholdAttachable and Attachable, check the distance between its position and its owner's position if it's under ThresholdAttachable.Distance then we disable Attachable and vice versa |
| ►NSystems | |
| CAttachableSystem | Triggers the MoveAttachablesJob on each update |
| ▼NHighlight | |
| ►NAuthoring | |
| CHighlightableAuthoring | |
| ►NComponents | |
| CHighlightable | Allows an entity to be highlighted |
| ►NSystems | |
| CHighlightWithOutlineClientSystem | Client-only system to highlight entities using an outline. This runs for entities that have Highlightable and ShowOutline |
| ▼NInteract | |
| ►NAuthoring | |
| CInteractableAuthoring | |
| CPointInteractorAuthoring | |
| CRayInteractorAuthoring | |
| ►NComponents | |
| CActiveInteractable | If enabled, this entity is currently being interacted with |
| CActiveInteractor | If enabled, the interactor should bind interactions based on its InteractorActivationData to the currently targeted Interactable or the first valid InteractorHoverData target |
| CHoveredInteractable | If enabled, this entity is currently being hovered |
| CInteractable | Signals that this entity can be interacted with |
| CInteractionBinding | A binding component between Interactors and Interactables |
| CInteractor | Signals that an entity can interact with others |
| CInteractorActivationData | A component of current interactor activations. These are used to add or remove interaction bindings while the interactor is active |
| CInteractorHoverData | A buffer of valid hover targets for a given Interactor. This is intended to be populated when the Interactor is not currently engaged in a relationship with any Interactables |
| CInteractorInput | Client systems write to this, allowing interactor activations to be replicated by the server |
| CPointInteractor | When this is placed adjacent to an Interactor, hover targets will be collected using a physics cast based on a point around the entity position |
| CRayInteractor | When this is placed adjacent to an Interactor, hover targets will be collected using a physics ray starting at the entity position and ending at the Distance from the entity's forward direction |
| ►NJobs | |
| CUpdatePointerInteractorHoversJob | Gets hovered interactables for an interactor by performing a point distance cast and filtering hits |
| CUpdateRayInteractorHoversJob | Gets hovered interactables for an interactor by performing a ray cast and filtering hits |
| ►NSystems | |
| CHighlightHoveredInteractableClientSystem | Client-only system to enables/disable Highlightables based on the adjacent HoveredInteractable enabled state |
| CHoveredInteractableSystem | Activates HoveredInteractables for Interactables that are currently being hovered |
| CInteractionBindingSystem | Manages InteractionBindings for Interactors and Interactables based on the current InteractorActivationData for each Interactor |
| CInteractorActivationSystem | Manages interactor activations in the InteractorActivationData component by polling inputs in InteractorInput for owned ghosts |
| CPointInteractorHoverSystem | Finds hover targets for PointInteractors by performing a physics cast for Interactables within a given radius of the interactor |
| CRayInteractorHoverSystem | Finds hover targets for RayInteractors by performing a physics raycast for Interactables within a given length of the interactor |
| ►NUtilities | |
| CActivationTypeExtensions | |
| CHoverBufferExtensions | |
| ▼NMove | |
| ►NAuthoring | |
| CLockMovableAuthoring | |
| ►CMovableAuthoring | |
| CMovableBaker | |
| ►CMovableInputAuthoring | |
| CMovableInputBaker | |
| ►CSmoothMovableAuthoring | |
| CSmoothMovableBaker | |
| ►NComponents | |
| CLockAxisExtensions | |
| CLockMovable | Allowing the entity's Movable to be locked in a certain LockAxis for its position and rotation |
| CMovable | Signals that an entity can be moved. By using this instead of modifying the local transform directly, motion smoothing and movement overrides can be automatically applied when applicable |
| CMovableInput | Allows clients to input data to a movable ghost |
| CSmoothMovable | When added to an entity, this applies smooth motion to the adjacent Movable |
| ►NJobs | |
| CUpdateLockMovablesJob | For all entities that have LockMovable and Movable, change the Movable.TargetPosition with the value from LocalToWorld.Position based on the Position's LockAxis. Do the same for Movable.TargetRotation, based on LockMovable.Rotation |
| CUpdateMovableInputJob | Updates all Movables to match the target of an adjacent MovableInput if the Netcode ghost owner is local. This means that server will update all movable ghosts and clients will update only ghosts where they are assigned as the owner |
| CUpdateSimpleMovablesJob | Updates all Movables without extra components by applying the target position and rotation directly to the adjacent LocalTransform |
| CUpdateSmoothMovablesJob | Updates all Movables with SmoothMovable by applying framerate-independent interpolation between the current LocalTransform and the Movable target |
| ►NSystems | |
| CLocalMovableSystem | Processes Movable entities without GhostInstances in the client simulation. Updates local entity positions and rotations using UpdateSimpleMovablesJob for basic movement and UpdateSmoothMovablesJob for smoothed movement. Handles non-networked entities only |
| CMovablePredictionSmoothingSystem | This system registers the MovableSmoothing prediction smoothing action, making server reconciliation appear more graceful when the client has misprediction of entity movement |
| CPredictedMovableSystem | Handles predicted ghost entities with Movable components in client and server simulations. Updates networked entity positions and rotations by processing MovableInput from ghost owners, then applying movement via UpdateSimpleMovablesJob or UpdateSmoothMovablesJob |
| ►NUtilities | |
| CMovablePredictionUtils | |
| ▼NSettings | |
| ▼NManaged | |
| CIInteractionsSettings | |
| CInteractionsSettings | |