UxrComponent<T> Class

Like UxrComponent but it allows to enumerate all components of a specific type.

Inheritance Hierarchy

              More… Namespace: UltimateXR.Core.Components
Assembly: UltimateXR (in UltimateXR.dll) Version:



public abstract class UxrComponent<T> : UxrComponent
where T : UxrComponent<T>

Type Parameters


Component type
  The UxrComponent<T> type exposes the following members.


Protected methodUxrComponent<T>


Public propertyStatic memberAllComponents Gets all the components of this specific type, enabled or not, in all open scenes.
Public propertyStatic memberEnabledComponents Gets all components of this specific type that are enabled, in all open scenes.


Protected methodAwake Registers itself in the static list of components. (Overrides UxrComponent.Awake().)
Public methodStatic memberDestroyAllComponents Destroys all components.
Public methodStatic memberDestroyAllGameObjects Destroys all gameObjects the components belong to.
Protected methodOnDestroy Removes itself from the static list of components. (Overrides UxrComponent.OnDestroy().)
Protected methodOnDisable Triggers disabled events. (Overrides UxrComponent.OnDisable().)
Protected methodOnEnable Triggers enabled events. (Overrides UxrComponent.OnEnable().)
Public methodStatic memberSortComponents Sorts the internal list of components. This is useful if iterating over the components requires a certain order.


Public eventStatic memberGlobalDisabled Called when a component was disabled.
Public eventStatic memberGlobalEnabled Called when a component was enabled.
Public eventStatic memberGlobalRegistered Called when a component was registered.
Public eventStatic memberGlobalRegistering Called before registering a component.
Public eventStatic memberGlobalUnregistered Called when a component was unregistered.
Public eventStatic memberGlobalUnregistering Called before unregistering a component.

Extension Methods

Public Extension MethodCheckSetEnabled Enables/disabled the component if it isn’t enabled already. (Defined by MonoBehaviourExt.)
Public Extension MethodGetOrAddComponent<T> Gets the Component of a given type. If it doesn’t exist, it is added to the GameObject. (Defined by ComponentExt.)
Public Extension MethodGetPathUnderScene Gets the full path under current scene, including all parents, but scene name, for the given component. (Defined by ComponentExt.)
Public Extension MethodGetSceneUid Gets an unique identifier string for the given component. (Defined by ComponentExt.)
Public Extension MethodGetUniqueScenePath Gets an unique path in the scene for the given component. It will include scene name, sibling and component indices to make it unique. (Defined by ComponentExt.)
Public Extension MethodLoopCoroutine Creates a coroutine that simplifies executing a loop during a certain amount of time. (Defined by MonoBehaviourExt.)
Public Extension MethodSafeGetComponentInParent<T> Gets the Component of a given type in the GameObject or any of its parents. It also works on prefabs, where regular GetComponentInParent(Type, Boolean) will not work: https://issuetracker.unity3d.com/issues/getcomponentinparent-is-returning-null-when-the-gameobject-is-a-prefab (Defined by ComponentExt.)
Public Extension MethodShowInInspector(Boolean)Overloaded.
Controls whether to show the current object in the inspector. (Defined by ObjectExt.)
Public Extension MethodShowInInspector(Boolean, Boolean)Overloaded.
Controls whether to show the current object in the inspector and whether it is editable. (Defined by ObjectExt.)
Public Extension MethodThrowIfNull Throws an exception if the object is null. (Defined by ObjectExt.)


Components get registered through their Awake() call. This means that components get registered the first time they are enabled. Disabled objects that have been enabled at some point are enumerated, but objects that have never been enabled don’t get enumerated, which means that they will not appear in AllComponents.

See Also


UltimateXR.Core.Components Namespace

Inheritance HierarchySystem.Object
              UltimateXR.Core.Components.UxrComponent<TP, TC>