Third Person Controller
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12345]
 NOpsive
 NThirdPersonController
 NAbilities
 NInput
 NUI
 NWrappers
 CAnimatedInteractablePlay an animation when the interactor interacts with the AnimatedInteractable.
 CAnimatorItemAbilitySetDataExtends AnimatorItemSetData by allowing a particular item state to belong to an Ability.
 CAnimatorItemCollectionDataOrganizes a set of AnimatorItemGroupData into one parent object.
 CAnimatorItemGroupDataRepresents an array of AnimatorItemStateData. Can specify how to transition from one item state to another.
 CAnimatorItemSetDataContains an array of AnimatorItemGroupData elements. Allows for multiple sets of item states.
 CAnimatorItemStateDataExtends AnimatorStateData to store data specific to the item states.
 CAnimatorMonitorAdded to the same GameObject as the Animator, the AnimationMonitor will control the trigger based Animator and translate mecanim events to the event system used by the Third Person Controller.
 CAnimatorStateDataA small class that stores the state name and the amount of time that it takes to transition to that state.
 CCameraControllerThe controller for a third person or top down camera. The camera will smoothly follow the character as the character moves. While in third person mode, the camera will rotate around the specified character and reduce the amount of clipping and can also zoom when the character is zooming. Top down mode will follow the character with a birds eye view.
 CCameraHandlerActs as an interface between the user input and the camera.
 CCameraMonitorMonitor classes which must be added to the Camera GameObject. This class allows a custom camera controller class to be used without requiring the Third Person Controller Camera Controller and Camera Handler components.
 CCameraStateThe CameraState specifies the settings for the CameraController.
 CCharacterBuilderBuilds the Third Person Controller character. This component allows the character to be built at runtime.
 CCharacterFootstepsPlays a random footstep sound when the foot touches the ground. This is sent through an animation event.
 CCharacterFootTriggerNotifies the CharacterFootsteps component that the foot has collided with the ground. This will allow a sound to be played.
 CCharacterHealthExtends the health component by allowing the character to take fall damage. The amount of damage is specified by a curve.
 CCharacterIKRotates and positions the character's limbs to face in the correct direction and stand on uneven surfaces.
 CCharacterRagdollThis component has been deprecated and replaced by the RagdollDeath ability.
 CCharacterRespawnerWhen the character respawns it should respawn in the location determined by SpawnSelection.
 CClimbableObjectAny object which allows the character to climb. This includes ladders, vines, and pipes.
 CConsumableItemTypeAny items that can be consumed by the PrimaryItemType. These items cannot be equipped or used independently. Examples include bullets, flame from a flame thrower, number of melee attacks, etc.
 CControllerHandlerActs as an interface between the user input and the RigidbodyCharacterController.
 CCrosshairsTypeStores the crosshairs variables.
 CDecalManagerManages all of the decals from weapons/explosions. Will fade away older decals when a maximum number of decals have been added.
 CDecalRemoverRemove a decal from parent Transform when the parent GameObject is disabled.
 CDestructableThe Destructable class is an abstract class which acts as the base class for any object that destroys itself and applies a damange. Primary uses include projectiles and grenades.
 CDualWieldItemTypeA dual wield item is any item that can be equipped in conjunction with another primary item of the same type. Examples include dual pistols. If a pistol and a shield can be equipped at the same time, they each will have their own primary type. The shield does not need to use the dual wield item type because two shields are not equipped.
 CEventHandlerAdds a generic event system. The event system allows objects to register, unregister, and execute events on a particular object.
 CExplosionCreates an explision which applies a force and damage to any object that is within the specified radius.
 CGrenadeA thrown object that will destroy itself after a set amount of time.
 CHealthAdds health and a shield to the object. The shield can regenerate, health cannot. Can optionally sp
 CHealthPickupAllows an object with the Invetory component to pickup items when that object enters the trigger.
 CIFlashlightUseableInterface for an item that can use the flashlight.
 CIHitboxItemInterface for an item that can receive hitbox collisions.
 CIInteractableInterface for an object that performs the interaction on an IInteractableTarget (such as buttons or switches).
 CIInteractableTargetInterface for an object that can be interacted with (such as a platform or door).
 CILaserSightUseableInterface for an item that can use the laser sight.
 CInteractableInteractable objects can be interacted with such as a switch or a button. The object can be interacted with when an object within the interactor layer enters the trigger and is facing the direction of the interaction object.
 CInventoryThe Inventory manager all of the Items. It allows items to be used, reloaded, dropped, etc. It also communicates with the Animator to trigger animations when switching between items.
 CInventoryHandlerActs as an interface between the user input and the inventory.
 CIReloadableItemInterface for an item that can be reloaded.
 CItemAn item is the base class of anything that can be picked up. Items can be used by subscribing to the IUseableItem interface and reloaded by subscribing to the IReloadableItem interface.
 CItemBuilder
 CItemColliderPositioner
 CItemExtensionAn item extension is the base class of anything that can add an extension to the parent item. Examples include having an assault rifle that primarily fires bullets, but can also shoot grenades (using ShootableWeaponExtension) and melee (using MeleeWeaponExtension).
 CItemHandlerActs as an interface between the user input and the current Item.
 CItemPickupAllows an object with the Invetory component to pickup items when that object enters the trigger
 CItemPlacementIdentifier class used by the ItemBuilder to determine where to add the child item GameObjects.
 CItemTypeAn Item is the base class of any object can be picked up by the character. The ItemType binds an Item to an object type that the Inventory can use to update properties on that item such as if the item is equipped or how many bullets are left.
 CIThrownObjectInterface for an object that can be thrown.
 CIUseableItemInterface for an item that can be used (fired, swung, thrown, etc).
 CLaserSightUses a LineRender to render a laser in the direction that the Item is aiming.
 CLayerManagerEasy access to the Unity layer system.
 CMagicItemAn item which can cast a magic spell when used.
 CMagicItemParticleAllows an individual magic particle to do damage to the object that was hit.
 CMeleeWeaponAny weapon that uses melee to damage the target. This includes a knife, baseball bat, mace, etc.
 CMeleeWeaponExtensionAny weapon extension that uses melee to damage the target.
 CMeleeWeaponHitboxAllows multiple hitboxes to be used on a single MeleeWeapon or MeleeWeaponExtension.
 CMovingPlatformSmoothly moves between two triggers. Can also rotate. Subscribes to IIteractableTarget.
 CMuzzleFlashInitializes an object which slowly fades out with time. Can optionally attach a light to the GameObject and that light will be faded as well.
 CNavMeshAgentBridgeActs as a bridge between the NavMeshAgent and Third Person Controller. This link will move the character according to the NavMeshAgent velocity.
 CNetworkEventManagerSubclass of NetworkManager. Will send events when a network callback occurs.
 CNetworkMonitorThe NetworkMonitor acts as an intermediary component between the network and any object related to the character that is not spawned. These objects do not have the NetworkIdentifier component so they cannot issue standard RPC or Command calls. It also performs various other network functions such as contain the NetworkMessage identifiers.
 CObjectManagerDetermines which object to spawn based off of a dictionary in additioning to managing the active state of interested objects. Will destroy the oldest object as soon as too many of the same objects have been instantiated.
 CObjectPoolIt is relatively expensive to instantiate new objects so reuse the objects when possible by placing them in a pool.
 CParticleRemoverPlays a ParticleSystem when the object is enabled and removes itself after the ParticleSystem is done playing.
 CPickupObjectBase class for any object that can be picked up. This class stores a separate active value so the GameObject active state will be persisted to the clients over a network.
 CPointClickControllerHandlerAllows the player to click to move the character to a position. Will translate the NavMeshAgent desired velocity into values that the RigidbodyCharacterController can understand.
 CPrimaryItemTypeA primary item is any item that can be equipped by the character. This includes a standard weapon such as a pistol or shotgun but it can also include throwable items (such as a grenade) or melee weapons (such as a knife).
 CProjectileA moving Destructable that applies a damage at the collision point.
 CPushableObjectThe PushableObject is any object which can be pushed by the character.
 CRespawnerWhen the object is disabled, respawn after a specified number of seconds.
 CRideableObjectThe RideableObject represents any Third Person Controller character object that can be ridden by another character. When the character is mounted on the object it will then have control.
 CRigidbodyCharacterControllerThe RigidbodyCharacterController controls all of the character's movements. At a higher level it has three different types of movement: combat, adventure, and top down movement. In combat movement the camera is always behind the character and it allows the character to strafe and move backwards. In adventure movement the character can move forward in any direction and allows for a free camera movement. Top down movement moves relative to the camera and rotates to always look at the mouse. The controller uses a rigidbody and will respond to external forces.
 CScheduledEventUsed by the Scheduler, the ScheduledEvent contains the delegate and arguments for the event that should execute at a time in the future.
 CSchedulerThe scheduler will execute a ScheduledEvent after the specified amount of time.
 CSecondaryItemTypeSecondary items are items that are used in the non-dominant hand. These items do not need to be equipped. This includes grenades, a health pack, a power up, etc.
 CSharedMethodSee the SharedManager for more information, but the SharedMethod class decreases the coupling between classes. It allows class A to invoke a method within class B without class A directly knowing about class B.
 CSharedMethodArgA SharedMethod which has one parameter.
 CSharedPropertySee the SharedManager for more information, but the SharedProperty class decreases the coupling between classes. It allows class A to get/set a property on class B class A directly knowing about class B.
 CShellA shell spawns when a weapon is fired representing the bullet's shell.
 CShieldThe Shield inherits from StaticItem to allow for a recoil when hit.
 CShootableWeaponAny weapon that can shoot. This includes pistols, rocket launchers, bow and arrows, etc.
 CShootableWeaponExtensionAny weapon extension that can shopt.
 CSimpleTurretA stationary turret that will fire a projectile at any object in the target layer. Uses a spherical trigger to determine any targets within range.
 CSpawnSelectionSingleton object which randomly selects a new spawn location out of the spawn location list.
 CStaticItemAny Item that doesn't do anything besides exist. Examples include a shield or book.
 CThrowableItemAny Item that can be thrown, such as a grenade or baseball. The GameObject that the ThrowableItem attaches to is not the actual object that is thrown - the ThrownObject field specifies this instead. This GameObject is used by the Inventory to know that a ThrowableItem exists, and by the ItemHandler to actually use the Item.
 CTracerThe tracer will show a Line Renderer from the hitscan fire point to the hit point.
 CWaterThe Water object acts as a trigger which will start or stop the Swim ability.
 CWeaponBase class for any item that can attack
 CWeaponExtensionBase class for any item extension that can attack