![]() |
Lemmings
Remappable Gestures For Unity
|
| NLemmings | |
| NInput | |
| CLemmingDevice | Custom input device for Lemming virtual input system. Supports dynamic control resolution based on layout JSON |
| CLemmingDeviceManager | Manages runtime updates for the virtual LemmingDevice input device. It collects data from LemmingRelationships and feeds the results into InputSystem-compatible controls, enabling real-time binding of spatial relationships to Unity Input Actions |
| NUI | |
| CLemmingUIDataRow | Leaf view for a single Lemming in the Control Pane list. Displays the Lemming's name and confidence score/bar |
| CLemmingUIRelationshipDataRow | Row view for a single LemmingRelationship in the Control Pane. Handles its own data binding, updating, and event wiring independently |
| CLemmingUIRemappingLemmingRow | Leaf‐level UI row in the remapping pane that lets the user reassign one LemmingRelationshipInfo.Members entry (role ↔ lemming) |
| CLemmingUIRemappingMetricOption | Leaf‐level script for one row in the “Metric” scroll‐list. Binds a MetricOptionInfo and raises onMetricChanged when the dropdown moves |
| CLemmingUIVisibilityController | Controls the visibility of the remapping UI at runtime. Supports toggling via keyboard input or UnityEvents (e.g., gesture-based triggers) |
| CMetricOptionInfo | Temporary data‐carrier for one metric option row. Fill this out when you have real metric names, IDs, and tuning parameters |
| CMetricSettingInfo | A single metric‐setting slot. Right now it’s a stub—you’ll add real fields once you know what each metric needs |
| CRoleMappingInfo | Data model for binding a role-to-lemming mapping row |
| CUIDataRow< T > | Base for any UI row that binds a model of type T. Handles subscription lifecycle; subclasses implement UpdateUI |
| NUtilities | |
| CLemmingTrackingStatus | IMPORTANT: This has not been tested for every SDK and you can expect errors with many SDKs. The goal is to provide a scaffold onto which you can generate project-specific solutions. SDKs update and evolve frequently and in order to prioritize felxibility, we did not want to create narrow dependencies |
| CLemmingTrackingInfo | Holds all relevant tracking information for a given Lemming |
| CLemmingTrackingReference | Type-agnostic reference for identifying a tracked body part or joint. Used to unify SDK-specific identifiers |
| CGazeEvent | UnityEvent triggered when this proxy's forward gaze detects a target GameObject. Includes the detected object and a confidence value (0-1) |
| CILemming | Interface for any reference to a tracked Lemming |
| CILemmingConverter | |
| CILemmingRelationship | This is the interface for the relationship TODO: Determine if this is neccesary TODO: Right now it is not really utilized but might have value in building virtual relationships |
| CLemming | Component representing a tracked Lemming attached to a GameObject |
| CLemmingBooler | |
| CLemmingCurveLibrary | |
| CLemmingDatum | Represents a flexible container for storing a single value of varying data types. Supports types such as float, int, bool, Vector3, Quaternion, and string |
| CLemmingFloater | Represents a normalized floating-point value and provides tools to remap it across data types |
| CLemmingHerdSnapshot | A fixed, read-only snapshot of a Lemming Herd configuration. Stores Lemming names, confidence values, and their associated GameObjects for runtime reference. Also generates a unique enum per snapshot for consistent name referencing |
| CLemmingInter | Represents an integer value with normalized remapping, directional interpolation, and support for flexible out-of-range behavior via Lemmings.LemmingInter.RangeBindingMode |
| CLemmingInterfaces | |
| CLemmingMetricMetadata | Provides descriptions and optional editor UI for Lemming metric enum values. Helps clarify affordances and behaviors for user-facing tools |
| CLemmingProxyVisualizer | Runtime-capable visual debug tool for proxies. Shows position, radius, axis direction, and links to member objects. Color-codes status, supports demo visuals in builds |
| CLemmingReference | A single named Lemming entry in the herd |
| CLemmingRelation | Represents a context for computing a spatial relationship metric across a given list of lemming GameObjects and family structure. Supports Single, Couple, Throuple, and Group types with metric-specific logic |
| CLemmingRelationSetting | This is a class with numerous optional variables. This can be used to pass along settings for specific methods when appropriate. This is meant to be extensible for holding any setting options |
| CLemmingRelationship | Defines a relationship among one or more Lemmings. Can be used to calculate positions, rotations, and derived values |
| CLemmingRelationshipInfo | This is a struct that holds the data from a relationship. Intended to streamline visualization and manipulation from external menus |
| CLemmingRelationshipInfoExtensions | Extension methods for LemmingRelationshipInfo, enabling concise, fluent preview calls in UI or other code |
| CLemmingRelationshipProxy | A MonoBehaviour that represents the spatial location and rotation of a LemmingRelationship. It provides support for spatial interaction detection such as gaze and triggers, and exposes that data via structured fields and UnityEvents |
| CLemmingProxyData | Serializable data container for proxy state. Useful for diagnostics and UI representation |
| CValidTagEntry | Wrapper class to allow tag string dropdowns in the inspector |
| CLemmingRotater | A struct for managing and interpreting Quaternion rotations, including angular comparison, interpolation, remapping, and directional checks |
| CLemmingSecondaryMetric | Allows previewing a secondary or alternate metric from an existing LemmingRelationship. Evaluates on-demand using public method call, avoiding continuous updates |
| CLemmingSettingDescriptions | |
| CLemmingShepherd | Singleton container responsible for managing active Lemmings and their associated relationships. Provides central tracking, registration, and runtime access to all active Lemming objects and their connections to LemmingRelationships, supporting UI, analysis, and dynamic manipulation across scenes |
| CLemmingUtilities | |
| CLemmingUtils | Utility class providing structural and scene-based helpers for working with Lemmings. Includes path resolution, transform tracking, and fallback object retrieval |
| CLemmingVectorizer | A struct for managing and interpreting a Vector3 value, including normalization, projection, direction checks, and remapping |
| CMetricSettingRegistry | Provides preconfigured MetricSettingInfo entries for each supported setting. Used by editor UI to populate advanced configuration panels |
| COutput | This is a simple struct that holds the value outputs from a metric calculation |
| CReadOnlyAttribute | Optional attribute to lock fields to read-only in the Inspector |
| CRelationshipPreview | Provides methods to perform a non-persistent, live preview of a spatial relationship defined by LemmingRelationshipInfo. Useful for UI remapping scenarios where users adjust settings and need immediate feedback without altering the original ScriptableObject |
| CResult | Holds the results of a live relationship computation, including raw, normalized, curved values and boundary status flags |
| CRelationshipPreviewUtility | This is a utility wrapper for the RelationshipPreview class to make it easier to use. example = Vector3 previewPos = RelationshipPreviewUtility.PreviewPosition(relationship); |
| CTagSelectorAttribute | Attribute that enables tag dropdown selection for string fields in the inspector |
| CTriggerEvent | UnityEvent that is triggered when a GameObject enters or exits this proxy's trigger collider |
| CLemmingEditor | Custom editor for the Lemming component. Provides additional inspector functionality to validate snapshot references |
| CLemmingEnumDeclarations | |
| CLemmingHerdSnapshotEditor | Custom editor for LemmingHerdSnapshot to display entries as strings rather than relying on Unity's default object drawer, which can show type mismatch |
| CLemmingMetricSettingsDrawer | Draws inspector UI for settings relevant to each Lemming metric. Settings shown depend on the metric and family type |
| CLemmingMetricSettingUtility | |
| CLemmingPrefabInstantiater | |
| CLemmingRelationshipEditor | Custom inspector for LemmingRelationship ScriptableObject. Provides a full-featured editor interface for selecting members, resolving snapshot references, configuring relationship metrics, and previewing output values |
| CLemmingRelationshipProxyEditor | This is the editor script for the Relationship Proxy. It is primarily designed to accomodate an up-to-date display for the ID, which is determined when the relationship changes |
| CLemmingSecondaryMetricEditor | |
| CLemmingShepherdEditor | Custom inspector for the LemmingShepherd component. Provides debugging and live editing tools for viewing and modifying the current list of registered Lemmings and their relationships |
| CLemmingUIRemappingController | Manages the remapping UI, binding data from the LemmingShepherd and allowing runtime editing of relationship parameters such as min/max bounds, curves, and role-to-lemming assignments. Users can experiment with settings before committing changes via an Apply button |
| CMinMaxSliderAttribute | Attribute for displaying a slider with editable min and max values in the inspector. Should be used on a Vector2 field where x = min, y = max |
| CMinMaxSliderDrawer | Custom drawer for MinMaxSliderAttribute. Supports Vector2 and Vector2Int. Renders two numeric fields and a slider to control min/max ranges |
| CReadOnlyDrawer | |
| CTagSelectorDrawer | |
| Ctesting |