UxrWeaponManager Class

Singleton manager in charge of updating projectiles, computing hits against entities and damage done on UxrActor components.

Inheritance Hierarchy

Namespace: UltimateXR.Mechanics.Weapons
Assembly: UltimateXR (in UltimateXR.dll) Version:



public class UxrWeaponManager : UxrSingleton<UxrWeaponManager>, 

The UxrWeaponManager type exposes the following members.


Public methodUxrWeaponManager


Public propertyLogLevel Gets or sets the current log level. This controls the amount of information sent.


Public methodApplyRadiusDamage Applies radius damage to all elements around a source position.
Protected methodAwake Initializes the manager. Subscribes to actor enable/disable events. (Overrides UxrAbstractSingleton<T>.Awake().)
Protected methodOnDestroy Initializes the manager. Unsubscribes from actor enable/disable events. (Overrides UxrAbstractSingleton<T>.OnDestroy().)
Public methodRegisterNewProjectileShot Registers a new projectile shot so that it gets automatically update by the manager from that moment until it hits something or gets destroyed.
Public methodUpdateManager Updates the manager.


Public eventDamageReceived Event triggered right after the actor received damage. Setting Cancel() is not supported, since the damage was already taken.
Public eventDamageReceiving Event triggered right before an UxrActor is about to receive damage. Setting Cancel() will allow not to take the damage.
Public eventNonActorImpacted Event called whenever there was a projectile impact but no UxrActor was involved. Mostly hits against the scenario that still generate decals, FX, etc.

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.Mechanics.Weapons Namespace