UxrComponent<TP, TC> Class

Like UxrComponent<T> but the component belongs to a hierarchy with a parent that has a component of a certain type TP. This allows to enumerate and keep track of only the components that hang from the hierarchy under each parent component separately.

In the case of keeping track of all components of a same type that are in or hang from an avatar ( UxrAvatar) there is a special component for that in UxrAvatarComponent<T>.

Inheritance Hierarchy

              UltimateXR.Core.Components.UxrComponent<TP, TC>
Namespace: UltimateXR.Core.Components
Assembly: UltimateXR (in UltimateXR.dll) Version:



public abstract class UxrComponent<TP, TC> : UxrComponent<TC>
where TP : Component
where TC : UxrComponent<TC>

Type Parameters


Parent component type
Component type
  The UxrComponent<TP, TC> type exposes the following members.


Protected methodUxrComponent<TP, TC>


Public propertyAllChildrenFromParent Gets all the components, enabled of not, of this specific type that hang from the same parent.
Public propertyEnabledChildrenFromParent Gets only the enabled components of this specific type that hang from the same parent.
Public propertyParent Parent the component belongs to.


Protected methodAwake Pre-caches the root parent’s component. (Overrides UxrComponent<T>.Awake().)
Public methodStatic memberGetParentChildren Gets the children from a specific parent.

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.)

See Also


UltimateXR.Core.Components Namespace