TopDown Engine  v3.6
MoreMountains.TopDownEngine Namespace Reference

Classes

class  AchievementRules
 This class describes how the Top Down Engine demo achievements are triggered. It extends the base class MMAchievementRules It listens for different event types More...
 
class  AIActionAimObject
 An AIACtion used to aim any object in the direction of the AI's movement or aim More...
 
class  AIActionAimWeaponAtMovement
 Aims the weapon at the current movement when not shooting More...
 
class  AIActionAimWeaponAtTarget2D
 Aims the weapon at the current target More...
 
class  AIActionAimWeaponAtTarget3D
 Aims the weapon at the current target, in a 3D context More...
 
class  AIActionChangeWeapon
 This action is used to force your character to switch to another weapon. Just drag a weapon prefab into its NewWeapon slot and you're good to go. More...
 
class  AIActionCrouchStart
 This action forces the character to crouch if it can More...
 
class  AIActionCrouchStop
 This action forces the character to stop crouching if it can More...
 
class  AIActionDoNothing
 As the name implies, an action that does nothing. Just waits there. More...
 
class  AIActionFaceTowardsTarget2D
 This AI Action will let an agent with a CharacterOrientation2D ability face its target More...
 
class  AIActionInvertPatrolDirection
 Inverts the direction of a patrol on PerformAction More...
 
class  AIActionMMFeedbacks
 This action is used to play a MMFeedbacks More...
 
class  AIActionMoveAwayFromTarget2D
 Requires a CharacterMovement ability. Makes the character move away from the target. More...
 
class  AIActionMoveAwayFromTarget3D
 Requires a CharacterMovement ability. Makes the character move away from the target, up to the specified MaximumDistance. More...
 
class  AIActionMovePatrol2D
 This Action will make the Character patrol along the defined path (see the MMPath inspector for that) until it hits a wall or a hole while following a path. More...
 
class  AIActionMovePatrol3D
 This Action will make the Character patrol along the defined path (see the MMPath inspector for that) until it hits a wall or a hole while following a path. More...
 
class  AIActionMoveRandomly2D
 Requires a CharacterMovement ability. Makes the character move randomly, until it finds an obstacle in its path, in which case it'll pick a new direction at random More...
 
class  AIActionMoveRandomly3D
 Requires a CharacterMovement ability. Makes the character move randomly, until it finds an obstacle in its path, in which case it'll pick a new direction at random More...
 
class  AIActionMoveRandomlyGrid
 Requires a CharacterGridMovement ability. Makes the character move randomly in the grid, until it finds an obstacle in its path, in which case it'll pick a new direction at random Supports both 2D and 3D grids More...
 
class  AIActionMoveTowardsTarget2D
 Requires a CharacterMovement ability. Makes the character move up to the specified MinimumDistance in the direction of the target. More...
 
class  AIActionMoveTowardsTarget3D
 Requires a CharacterMovement ability. Makes the character move up to the specified MinimumDistance in the direction of the target. More...
 
class  AIActionPathfinderToPatrol3D
 This action will make the character pathfind its way back to its last patrol point More...
 
class  AIActionPathfinderToTarget3D
 Requires a CharacterMovement ability. Makes the character move up to the specified MinimumDistance in the direction of the target. More...
 
class  AIActionReload
 An AIACtion used to request a reload on the weapon More...
 
class  AIActionResetTarget
 An Action that will set the target to null, resetting it More...
 
class  AIActionRotateConeOfVision2D
 This AIAction will rotate this AI's ConeOfVision2D either towards the AI's movement or its weapon aim direction More...
 
class  AIActionRotateTowardsTarget2D
 This AI Action will let an agent with a CharacterRotation2D ability (set to ForcedRotation:true) rotate to face its target More...
 
class  AIActionRotateTowardsTarget3D
 
class  AIActionRunStart
 An AIACtion used to have an AI start running More...
 
class  AIActionRunStop
 An AIACtion used to have an AI stop running More...
 
class  AIActionSelfDestruct
 An AIACtion used to have an AI kill itself More...
 
class  AIActionSetLastKnownPositionAsTarget
 An Action that will set the last known position of the target as the new Target More...
 
class  AIActionSetPlayerAsTarget
 An AIACtion used to set the current Player character as the target More...
 
class  AIActionSetTransformAsTarget
 An AIACtion used to set a specified Transform as the target More...
 
class  AIActionShoot2D
 An Action that shoots using the currently equipped weapon. If your weapon is in auto mode, will shoot until you exit the state, and will only shoot once in SemiAuto mode. You can optionnally have the character face (left/right) the target, and aim at it (if the weapon has a WeaponAim component). More...
 
class  AIActionShoot3D
 An Action that shoots using the currently equipped weapon. If your weapon is in auto mode, will shoot until you exit the state, and will only shoot once in SemiAuto mode. You can optionnally have the character face (left/right) the target, and aim at it (if the weapon has a WeaponAim component). More...
 
class  AIActionSwapBrain
 This simple action lets you swap the brain of an AI at runtime, for a new brain, specified in the inspector More...
 
class  AIActionUnityEvents
 This action is used to trigger a UnityEvent More...
 
class  AIDecisionDetectTargetConeOfVision2D
 This Decision will return true if its MMConeOfVision has detected at least one target, and will set it as the Brain's target More...
 
class  AIDecisionDetectTargetConeOfVision3D
 This Decision will return true if its MMConeOfVision has detected at least one target, and will set it as the Brain's target More...
 
class  AIDecisionDetectTargetLine2D
 This Decision will return true if any object on its TargetLayer layermask enters its line of sight. It will also set the Brain's Target to that object. You can choose to have it in ray mode, in which case its line of sight will be an actual line (a raycast), or have it be wider (in which case it'll use a spherecast). You can also specify an offset for the ray's origin, and an obstacle layer mask that will block it. More...
 
class  AIDecisionDetectTargetLine3D
 This Decision will return true if a target is found in a ray or boxcast in the specified direction More...
 
class  AIDecisionDetectTargetRadius2D
 This decision will return true if an object on its TargetLayer layermask is within its specified radius, false otherwise. It will also set the Brain's Target to that object. More...
 
class  AIDecisionDetectTargetRadius3D
 This decision will return true if an object on its TargetLayer layermask is within its specified radius, false otherwise. It will also set the Brain's Target to that object. More...
 
class  AIDecisionDistanceToTarget
 This Decision will return true if the current Brain's Target is within the specified range, false otherwise. More...
 
class  AIDecisionGrounded
 This decision will return true if the character is grounded, false otherwise. More...
 
class  AIDecisionHealth
 This decision will return true if the specified Health conditions are met. You can have it be lower, strictly lower, equal, higher or strictly higher than the specified value. More...
 
class  AIDecisionHit
 This decision returns true if the Character got hit this frame, or after the specified number of hits has been reached. More...
 
class  AIDecisionLineOfSightToTarget2D
 This decision returns true if there's no obstacle in a straight line between the agent and the brain's target, in 2D More...
 
class  AIDecisionLineOfSightToTarget3D
 This decision returns true if there's no obstacle in a straight line between the agent and the brain's target, in 3D More...
 
class  AIDecisionNextFrame
 This decision will return true when entering the state this Decision is on. More...
 
class  AIDecisionRandom
 This decision will roll a dice and return true if the result is below or equal the Odds value More...
 
class  AIDecisionReloadNeeded
 This Decision will return true if a reload is needed More...
 
class  AIDecisionTargetFacingAI2D
 This decision will return true if the Brain's current target is facing this character. Yes, it's quite specific to Ghosts. But hey now you can use it too! More...
 
class  AIDecisionTargetIsAlive
 This decision will return true if the Brain's current target is alive, false otherwise More...
 
class  AIDecisionTargetIsNull
 This decision will return true if the Brain's current target is null, false otherwise More...
 
class  AIDecisionTimeInState
 This decision will return true after the specified duration, picked randomly between the min and max values (in seconds) has passed since the Brain has been in the state this decision is in. Use it to do something X seconds after having done something else. More...
 
class  AIDecisionTimeSinceStart
 This decision will return true after the specified duration (in seconds) has passed since the level was loaded. More...
 
class  AimMarker
 A class used to handle aim markers, (usually circular) visual elements More...
 
class  AmmoDisplay
 A class that combines a progress bar and a text display and that can be used to display the current ammo level of a weapon More...
 
class  AppearDisappear
 Add this class to an object (usually a platform but it could be anything really) to have it run on an appearing/disappearing loop, like the appearing platforms in Megaman for example. More...
 
class  AutoBindAutoFocus
 
struct  AutoPickItem
 
class  AutoRespawn
 Add this script to an object and it will automatically be reactivated and revived when the player respawns. More...
 
class  BackgroundMusic
 Add this class to a GameObject to have it play a background music when instanciated. More...
 
class  Bomb
 A basic melee weapon class, that will activate a "hurt zone" when the weapon is used More...
 
class  BouncyProjectile
 Projectile class that will bounce off walls instead of exploding on impact More...
 
class  ButtonActivated
 Extend this class to activate something when a button is pressed in a certain zone More...
 
class  ButtonActivatedZone
 Add this component to a collider 2D and you'll be able to have it perform an action on enter/exit and while staying More...
 
class  ButtonActivator
 
class  ButtonPrompt
 
class  Character
 This class will pilot the TopDownController component of your character. This is where you'll implement all of your character's game rules, like jump, dash, shoot, stuff like that. Animator parameters : Grounded (bool), xSpeed (float), ySpeed (float), CollidingLeft (bool), CollidingRight (bool), CollidingBelow (bool), CollidingAbove (bool), Idle (bool) Random : a random float between 0 and 1, updated every frame, useful to add variance to your state entry transitions for example RandomConstant : a random int (between 0 and 1000), generated at Start and that'll remain constant for the entire lifetime of this animator, useful to have different characters of the same type More...
 
class  CharacterAbility
 A class meant to be overridden that handles a character's ability. More...
 
class  CharacterAbilityInspector
 Adds custom labels to the Character inspector More...
 
class  CharacterAbilityNodeSwap
 This ability lets you swap entire ability nodes for the ones set in parameters More...
 
struct  CharacterAbilityTypePair
 
class  CharacterAnimationFeedbacks
 This class can be used to trigger feedbacks from an animator, typically used to trigger footstep particles and/or sounds More...
 
class  CharacterAnimationParametersInitializer
 
class  CharacterButtonActivation
 Add this component to a character and it'll be able to activate button zones Animator parameters : Activating (bool) More...
 
class  CharacterConeOfVision
 An ability that casts a cone of vision around the character. More...
 
class  CharacterCrouch
 This ability allows the character to "crouch" when pressing the crouch button, which resizes the collider More...
 
class  CharacterDamageDash2D
 
class  CharacterDamageDash3D
 
class  CharacterDash2D
 Add this ability to a character and it'll be able to dash in 2D, covering a certain distance in a certain duration More...
 
class  CharacterDash3D
 Add this ability to a 3D character and it'll be able to dash (cover the specified distance in the specified time) More...
 
class  CharacterDetector
 Add this class to a TRIGGER collider2D and it'll let you know when a character enters it and will let you trigger actions in consequence More...
 
class  CharacterDirectionMarker
 This ability lets you orient an object towards either the movement direction or aim direction of your character That object can be anything you want (a sprite, a model, a line, etc) More...
 
class  CharacterDisableIKOnReload
 
class  CharacterFallDownHoles2D
 Add this component to a character and it'll make your character fall down holes in 2D More...
 
class  CharacterGridMovement
 Add this ability to a Character to have it move on a grid. This will require a GridManager be present in your scene DO NOT use that component and a CharacterMovement component on the same character. More...
 
class  CharacterHandleSecondaryWeapon
 Add this class to a character so it can use weapons Note that this component will trigger animations (if their parameter is present in the Animator), based on the current weapon's Animations Animator parameters : defined from the Weapon's inspector More...
 
class  CharacterHandleWeapon
 Add this class to a character so it can use weapons Note that this component will trigger animations (if their parameter is present in the Animator), based on the current weapon's Animations Animator parameters : defined from the Weapon's inspector More...
 
class  CharacterInspector
 Adds custom labels to the Character inspector More...
 
class  CharacterInventory
 Add this component to a character and it'll be able to control an inventory Animator parameters : none More...
 
class  CharacterJump2D
 Add this ability to a character and it'll be able to jump in 2D. This means no actual movement, only the collider turned off and on. Movement will be handled by the animation itself. More...
 
class  CharacterJump3D
 This ability will allow a character to jump in 3D More...
 
class  CharacterMovement
 Add this ability to a Character to have it handle ground movement (walk, and potentially run, crawl, etc) in x and z direction for 3D, x and y for 2D Animator parameters : Speed (float), Walking (bool) More...
 
class  CharacterOrientation2D
 Add this ability to a character and it'll rotate or flip to face the direction of movement or the weapon's, or both, or none Only add this ability to a 2D character More...
 
class  CharacterOrientation3D
 Add this ability to a character, and it'll be able to rotate to face the movement's direction or the weapon's rotation More...
 
class  CharacterPathfinder3D
 Add this class to a 3D character and it'll be able to navigate a navmesh (if there's one in the scene of course) More...
 
class  CharacterPathfindToMouse3D
 This ability, used on a Player character, will let you click on the ground and have the character move to the click's position You'll find a demo of this ability on the LoftSuspendersMouseDriven demo character. You can drag it in the Loft3D demo scene's LevelManager's PlayerPrefabs slot to give it a try. For AIs, look at the MousePathfinderAI3D script instead, and its demo in the MinimalPathfinding3D demo scene More...
 
class  CharacterPause
 Add this component to a character and it'll be able to activate/desactivate the pause More...
 
class  CharacterPersistence
 Add this component to a Character and it'll persist with its exact current state when transitioning to a new scene. It'll be automatically passed to the new scene's LevelManager to be used as this scene's main character. It'll keep the exact state all its components are in at the moment they finish the level. Its health, enabled abilities, component values, equipped weapons, new components you may have added, etc, will all remain once in the new scene. Animator parameters : None More...
 
class  CharacterPush3D
 Add this ability to a Character to have it be able to push rigidbodies around Animator parameters : Pushing (bool) More...
 
class  CharacterRagdollOnDeath
 Add this to a character and it'll trigger its MMRagdoller to ragdoll on death More...
 
class  CharacterRotateCamera
 An ability that will let the Character rotate its associated camera, using the PlayerID_CameraRotationAxis input axis More...
 
class  CharacterRotation2D
 Add this ability to a character and it'll rotate or flip to face the direction of movement or the weapon's, or both, or none Only add this ability to a 2D character More...
 
class  CharacterRun
 Add this component to a character and it'll be able to run Animator parameters : Running More...
 
class  CharacterSelector
 Add this component to a button (for example) to be able to store a selected character, and optionally to go to another scene You can see an example of its use in the DeadlineCharacterSelection demo scene More...
 
class  CharacterStates
 The various states you can use to check if your character is doing something at the current frame More...
 
class  CharacterStun
 Add this component to a character and it'll be able to be stunned. To stun a character, simply call its Stun or StunFor methods. You'll find test buttons at the bottom of this component's inspector. You can also use StunZones to stun your characters. Animator parameters : Stunned (bool) More...
 
class  CharacterSurfaceSounds
 Add this component to a character and it'll let you define a number of surfaces and associate walk and run sounds to them It will also let you trigger events when entering or exiting these surfaces Important : Surfaces are evaluated from top to bottom. The first surface definition that matches the current detected ground will be considered the current surface. So make sure your order them accordingly. More...
 
class  CharacterSwap
 Add this ability to a Character and it'll be part of a pool of characters in a scene to swap from. You'll need a CharacterSwapManager in your scene for this to work. More...
 
class  CharacterSwapManager
 Add this class to an empty component in your scene, and it'll allow you to swap characters in your scene when pressing the SwapButton (P, by default) Each character in your scene will need to have a CharacterSwap class on it, and the corresponding PlayerID. You can see an example of such a setup in the MinimalCharacterSwap demo scene More...
 
class  CharacterSwitchManager
 Add this component to an empty object in your scene, and when you'll press the SwitchCharacter button (P by default, change that in Unity's InputManager settings), your main character will be replaced by one of the prefabs in the list set on this component. You can decide the order (sequential or random), and have as many as you want. Note that this will change the whole prefab, not just the visuals. If you're just after a visual change, look at the CharacterSwitchModel ability. If you want to swap characters between a bunch of characters within a scene, look at the CharacterSwap ability and CharacterSwapManager More...
 
class  CharacterSwitchModel
 Add this component to a character and it'll be able to switch its model when pressing the SwitchCharacter button Note that this will only change the model, not the prefab. Only the visual representation, not the abilities and settings. If instead you'd like to change the prefab entirely, look at the CharacterSwitchManager class. If you want to swap characters between a bunch of characters within a scene, look at the CharacterSwap ability and CharacterSwapManager More...
 
class  CharacterTank
 
class  CharacterTimeControl
 Add this ability to a character, and it'll be able to control time when pressing the TimeControl button More...
 
class  ChargeWeapon
 Add this component to an object and it'll let you define a sequence of charge steps, each triggering their own unique weapon, complete with options like input modes or conditional releases, hooks for every steps, and more. Useful for Megaman or Zelda like types of charge weapons. More...
 
class  ChargeWeaponStep
 A class used to store the charge properties of the weapons that together make up a charge weapon Each charge weapon is made of multiple of these, each representing a step in the charge sequence More...
 
class  CheckPoint
 Checkpoint class. Will make the player respawn at this point if it dies. More...
 
struct  CheckPointEvent
 An event to trigger when a checkpoint is reached More...
 
class  CinemachineBrainController
 This class is designed to control CinemachineBrains, letting you control their default blend values via events from any class More...
 
class  CinemachineCameraController
 A class that handles camera follow for Cinemachine powered cameras More...
 
class  Coin
 Coin manager More...
 
class  ComboWeapon
 Add this component to an object containing multiple weapons and it'll turn it into a ComboWeapon, allowing you to chain attacks from all the different weapons More...
 
class  CrouchZone
 Add this zone to a trigger collider and it'll automatically trigger a crouch on your 3D character on entry More...
 
class  DamageOnTouch
 Add this component to an object and it will cause damage to objects that collide with it. More...
 
class  DamageOverTimeInterrupter
 Use this picker to interrupt all damage of the specified type on the character that picks it More...
 
class  DamageResistance
 Used by the DamageResistanceProcessor, this class defines the resistance versus a certain type of damage. More...
 
class  DamageResistanceProcessor
 Link this component to a Health component, and it'll be able to process incoming damage through resistances, handling damage reduction/increase, condition changes, movement multipliers, feedbacks and more. More...
 
class  DamageType
 A scriptable object you can create assets from, to identify damage types More...
 
class  DashZone3D
 Add this zone to a trigger collider and it'll automatically trigger a dash on your 3D character on entry More...
 
class  DeadlineAvatar
 
class  DeadlineCollectible
 This class is used in the Deadline demos to mark collectibles and disable them if they've been collected in a past visit of the level More...
 
class  DeadlineDoor
 
class  DeadlineFinishLevel
 A Deadline demo dedicated class that will load the next level More...
 
class  DeadlineLevelSelectionButton
 A class to handle the display of levels in the Deadline demo level selector More...
 
class  DeadlineProgress
 A serializable entity used to store progress : a list of scenes with their internal status (see above), how many lives are left, and how much we can have More...
 
class  DeadlineProgressManager
 The DeadlineProgressManager class acts as an example of how you can implement progress management in your game. There's no general class for that in the engine, for the simple reason that no two games will want to save the exact same things. But this should show you how it's done, and you can then copy and paste that into your own class (or extend this one, whatever you prefer). More...
 
class  DeadlineProgressManagerMenu
 
class  DeadlineScene
 A serializable entity to store deadline demo scenes, whether they've been completed, unlocked, how many stars can and have been collected More...
 
class  DeadlineStar
 A pickable star, that triggers an event if picked, and disables itself if it's been previously collected More...
 
class  DeadlineStartMenuButton
 
class  DependencyInstaller
 
class  DialogueBox
 Dialogue box class. Don't add this directly to your game, look at DialogueZone instead. More...
 
class  DialogueElement
 A class used to store dialogue lines info More...
 
class  DialogueZone
 Add this class to an empty component. It requires a Collider or Collider2D, set to "is trigger". You can then customize the dialogue zone through the inspector. More...
 
class  Door3D
 A class to handle the 3D doors in the Loft demo More...
 
class  DungeonDoor
 A class used in the Koala demo to handle the dungeon doors More...
 
class  DungeonPortal
 A class used in the Koala demo to emit particles if a spawner is active and stop them otherwise More...
 
class  ExplodudesBomb
 A class used in the Explodudes demo scene to handle the exploding bombs More...
 
class  ExplodudesBombPicker
 Coin manager More...
 
class  ExplodudesCrate
 A class that modifies the y scale of crates in the Explodudes demo scene More...
 
class  ExplodudesDecoration
 A decorative class used to make background elements jump More...
 
class  ExplodudesMultiplayerLevelManager
 An example class of how you can extend the MultiplayerLevelManager to implement your own specific rules. This one's rules are as follows : More...
 
class  ExplodudesStartScreen
 This class handles the startscreen of the Explodudes demo scene More...
 
class  ExplodudesWeapon
 This class handles the dropping of bombs by characters in the Explodudes demo scene More...
 
class  ExplodudesWinnerScreen
 This class handles the display of a winner screen in the Explodudes demo scene More...
 
class  FallingPlatform2D
 Add this script to a platform and it'll fall down when walked upon by a playable character Add an AutoRespawn component to your platform and it'll get reset when your character dies More...
 
class  FallingPlatform3D
 Add this script to a platform and it'll fall down when walked upon by a playable character Add an AutoRespawn component to your platform and it'll get reset when your character dies More...
 
class  FinishLevel
 Add this class to a trigger and it will send your player to the next level More...
 
class  GameManager
 The game manager is a persistent singleton that handles points and time More...
 
class  GoToLevelEntryPoint
 A class used to go from one level to the next while specifying an entry point in the target level. Entry points are defined in each level's LevelManager component. They're simply Transforms in a list. The index in the list is the identifier for the entry point. More...
 
class  GrasslandHUD
 
class  GrasslandsMultiplayerLevelManager
 An example class of how you can extend the MultiplayerLevelManager to implement your own specific rules. This one's rules are as follows : More...
 
class  GridManager
 A manager required in your scenes that use CharacterGridMovement. More...
 
class  GUIManager
 Handles all GUI effects and changes More...
 
class  Health
 This class manages the health of an object, pilots its potential health bar, handles what happens when it takes damage, and what happens when it dies. More...
 
class  HealthAutoRefill
 Add this class to a character or object with a Health class, and its health will auto refill based on the settings here More...
 
struct  HealthChangeEvent
 An event triggered every time health values change, for other classes to listen to More...
 
class  HitscanWeapon
 
class  InputManager
 This persistent singleton handles the inputs and sends commands to the player. IMPORTANT : this script's Execution Order MUST be -100. You can define a script's execution order by clicking on the script's file and then clicking on the Execution Order button at the bottom right of the script's inspector. See https://docs.unity3d.com/Manual/class-ScriptExecution.html for more details More...
 
class  InputSystemManager
 This is a replacement InputManager if you prefer using Unity's InputSystem over the legacy one. Note that it's not the default solution in the engine at the moment, because older versions of Unity don't support it, and most people still prefer not using it You can see an example of how to set it up in the MinimalScene3D_InputSystem demo scene More...
 
class  InputSystemManagerBase
 Agnostic version of the InputSystemManager that lets you define a set of input actions to read from More...
 
class  InputSystemManagerEventsBased
 This is a replacement InputManager if you prefer using Unity's InputSystem over the legacy one, in a multiplayer context. Note that it's not the default solution in the engine at the moment, because older versions of Unity don't support it, and most people still prefer not using it You can see an example of how to set it up in the MinimalScene3D_InputSystem_Multiplayer demo scene More...
 
class  InventoryEngineChest
 Add this component to an object in your scene to have it act like a chest. You'll need a key operated zone to open it, and item picker(s) on it to fill its contents More...
 
class  InventoryEngineHealth
 Pickable health item More...
 
class  InventoryEngineKey
 Pickable key item More...
 
class  InventoryPickableItem
 An item picker that instantiates an effect and plays a sound on pick More...
 
class  InventoryWeapon
 Weapon item in the TopDown Engine More...
 
class  KeyOperatedZone
 Add this component to a collider 2D and you'll be able to have it perform an action when a character equipped with the specified key enters it. More...
 
class  KillsManager
 
class  KillZone
 Add this component to an object and it will cause damage to objects that collide with it. More...
 
class  LayerManager
 A simple static class that keeps track of layer names, holds ready to use layermasks for most common layers and layermasks combinations Of course if you happen to change the layer order or numbers, you'll want to udpate this class.
 
class  LevelLimits
 Add this class to a boxcollider to signify the bounds of your level More...
 
class  LevelManager
 Spawns the player, handles checkpoints and respawn More...
 
class  LevelSelector
 This component allows the definition of a level that can then be accessed and loaded. Used mostly in the level map scene. More...
 
class  Loot
 A class meant to spawn objects (usually item pickers, but not necessarily) The spawn can be triggered by any script, at any time, and comes with automatic hooks to trigger loot on damage or death More...
 
class  Magnetic
 
class  MagneticEnabler
 This object will enable Magnetic objects in your scene when they enter its associated collider2D (make sure you add one). While magnetic objects can work on their own, and handle their own range detection, you can also use a different architecture, where an enabler makes them move. A typical use case would be to add it to a character, nested under its top level : More...
 
class  MeleeWeapon
 A basic melee weapon class, that will activate a "hurt zone" when the weapon is used More...
 
struct  MMCameraEvent
 
struct  MMCharacterEvent
 MMCharacterEvents are used in addition to the events triggered by the character's state machine, to signal stuff happening that is not necessarily linked to a change of state More...
 
struct  MMCinemachineBrainEvent
 An event used to interact with camera brains More...
 
struct  MMDamageTakenEvent
 An event fired when something takes damage More...
 
class  MMF_TopDownEngineEvent
 This feedback lets you trigger TopDown Engine Events, that can then be caught by other classes More...
 
class  MMF_TopDownEngineFloatingText
 This feedback lets you trigger the appearance of a floating text, that will reflect the damage done to the target Health component. This requires that a MMFloatingTextSpawner be correctly setup in the scene, otherwise nothing will happen. To do so, create a new empty object, add a MMFloatingTextSpawner to it. Drag (at least) one MMFloatingText prefab into its PooledSimpleMMFloatingText slot. You'll find such prefabs already made in the MMTools/Tools/MMFloatingText/Prefabs folder, but feel free to create your own. More...
 
class  MMFeedbackTopDownEngineFloatingText
 This feedback lets you trigger the appearance of a floating text, that will reflect the damage done to the target Health component. This requires that a MMFloatingTextSpawner be correctly setup in the scene, otherwise nothing will happen. To do so, create a new empty object, add a MMFloatingTextSpawner to it. Drag (at least) one MMFloatingText prefab into its PooledSimpleMMFloatingText slot. You'll find such prefabs already made in the MMTools/Tools/MMFloatingText/Prefabs folder, but feel free to create your own. More...
 
struct  MMLifeCycleEvent
 
class  MouseDrivenPathfinderAI3D
 A class to add on a CharacterPathfinder3D equipped character. It will allow you to click anywhere on screen, which will determine a new target and the character will pathfind its way to it More...
 
class  MovementZone
 Add this class to a trigger collider and it will let you apply a movement speed multiplier to characters entering it More...
 
class  MovingPlatform2D
 A class to handle a platform that moves in 2D along a set of nodes More...
 
class  MovingPlatform3D
 A class to handle a moving platform in 3D space, moving along a set of nodes More...
 
class  MultiplayerCameraGroupTarget
 Automatically grabs a Cinemachine camera group and assigns LevelManager's players on load and makes a Cinemachine Virtual Camera follow that target More...
 
class  MultiplayerGUIManager
 
class  MultiplayerLevelManager
 A generic level manager meant to handle multiplayer scenes (specifically spawn and camera modes It's recommended to extend it to implement your own specific gameplay rules More...
 
class  MultiplayerSplitCameraRig
 This class handles a X-players split screen setup More...
 
class  MusicSwitch
 
class  PackageInstallation
 
class  PathedProjectile
 This class handles the movement of a pathed projectile More...
 
class  PathedProjectileSpawner
 Spawns pathed projectiles More...
 
class  PauseButton
 A simple component meant to be added to the pause button More...
 
class  PersistentBackgroundMusic
 Add this class to a GameObject to have it play a background music when instanciated. Careful : only one background music will be played at a time. More...
 
class  PhysicsProjectile
 Use this class for physics based projectiles (meant to be thrown by a ProjectileWeapon) More...
 
class  PickableAbility
 Add this class to an object with a trigger box collider 2D, and it'll become a pickable object, able to permit or forbid an ability on a Character More...
 
class  PickableAbilityInspector
 
class  PickableAction
 Add this class to an object and it'll trigger the specified actions on pick More...
 
class  PickableDamageResistance
 Use this picker to create a new resistance on the character that picks it, or to enable/disable an existing one More...
 
class  PickableDash2D
 This class is an example of how you can create pickable abilities, items that, when picked, enable an ability on the picking character. This example will permit the CharacterDash2D ability. You can of course create more items like this for any other ability. More...
 
class  PickableItem
 A simple class, meant to be extended, that will handle all the mechanics of a pickable thing : feedbacks, collision, pick consequences, etc More...
 
struct  PickableItemEvent
 An event typically fired when picking an item, letting listeners know what item has been picked More...
 
class  PickableWeapon
 Add this class to a collectible to have the player change weapon when collecting it More...
 
class  PointsOfEntryStorage
 A class to store points of entry into levels, one per level. More...
 
class  Projectile
 Projectile class to be used along with projectile weapons More...
 
class  ProjectileWeapon
 A weapon class aimed specifically at allowing the creation of various projectile weapons, from shotgun to machine gun, via plasma gun or rocket launcher More...
 
class  ProximityManaged
 A class to add to any object in your scene to mark it as managed by a proximity manager. More...
 
class  ProximityManager
 A class that looks for objects with a ProximityManaged class on them, and enables/disables them based on their settings. This class is meant as an example of how you can deal with large scenes with a lot of objects, disabling the ones that are far away from the action to save on performance. Note that there are many ways to do it, this one is simple and generic, there may be better choices for your specific use case. More...
 
class  ProximityMine
 Add this class to a collider (2D or 3D) and it'll let you trigger things after a duration, like a mine would. It also comes with options to interrupt or reset the timer on exit. More...
 
class  PusherProjectile3D
 Add this component to a projectile (in 3D) and it'll be able to push stuff (opening doors for example) More...
 
interface  Respawnable
 Interface for player respawn More...
 
class  Room
 This class lets you define the boundaries of rooms in your level. Rooms are useful if you want to cut your level into portions (think Super Metroid or Hollow Knight for example). These rooms will require their own virtual camera, and a confiner to define their size. Note that the confiner is different from the collider that defines the room. You can see an example of rooms in action in the KoalaRooms demo scene. More...
 
class  RoomEditor
 Custom editor for Rooms that draws their name in scene view More...
 
class  SfxSwitch
 
class  SoundManager
 This persistent singleton handles sound playing More...
 
class  SoundSettings
 a class to save sound settings (music on or off, sfx on or off) More...
 
class  Star
 A pickable star, that triggers a TopDownEngineStarEvent if picked It's up to you to implement something that will handle that event. You can look at the DeadlineStar and DeadlineProgressManager for examples of that. More...
 
class  StartScreen
 Simple start screen class. More...
 
class  Stimpack
 A Stimpack / health bonus, that gives health back when picked More...
 
class  StunZone
 A stun zone will stun any character with a CharacterStun ability entering it More...
 
class  SurfaceModifier
 Add this component to a platform and define its new friction or force which will be applied to any TopDownController that walks on it TODO, still work in progress More...
 
class  Switch
 Switches can be used to trigger actions based on their current state (on or off). Useful to open doors, chests, portals, bridges... More...
 
class  Teleporter
 Add this script to a trigger collider2D or collider to teleport objects from that object to its destination More...
 
class  TeleporterEditor
 Custom editor for Teleporters that draws their name in scene view More...
 
class  ThrownObject
 A thrown object type of projectile, useful for grenades and such More...
 
class  TilemapLevelGenerator
 This component, added on an empty object in your level will handle the generation of a unique and randomized tilemap More...
 
class  TimedSpawner
 A class meant to be used in conjunction with an object pool (simple or multiple) to spawn objects regularly, at a frequency randomly chosen between the min and max values set in its inspector More...
 
class  TimeZone
 Add this class to a trigger and it will allow you to modify the time scale when entering it, for the specified duration and settings More...
 
struct  TopDownCharacterAnimationParameter
 A struct used to store character animation parameter definitions, to be used by the CharacterAnimationParametersInitializer class More...
 
class  TopDownCinemachineZone2D
 Add this class to a box collider 2D and it'll let you define a zone that, when entered, enables a virtual camera, letting you define sections inside your level easily More...
 
class  TopDownCinemachineZone3D
 Add this class to a box collider and it'll let you define a zone that, when entered, enables a virtual camera, letting you define sections inside your level easily More...
 
class  TopDownController
 Do not use this class directly, use TopDownController2D for 2D characters, or TopDownController3D for 3D characters Both of these classes inherit from this one More...
 
class  TopDownController2D
 a controller to move a rigidbody2D and collider2D around in top down view More...
 
class  TopDownController3D
 A controller, initially adapted from Unity's CharacterMotor.js, to add on top of Unity's native CharacterController, that will handle More...
 
struct  TopDownEngineEvent
 A type of events used to signal level start and end (for now) More...
 
class  TopDownEngineInputActions
 
struct  TopDownEnginePointEvent
 A type of event used to signal changes to the current score More...
 
struct  TopDownEngineStarEvent
 
class  TopDownMonoBehaviour
 The TopDownMonoBehaviour class is a base class for all TopDownEngine classes. It doesn't do anything, but ensures you have a single point of change should you want your classes to inherit from something else than a plain MonoBehaviour A frequent use case for this would be adapting scripts More...
 
class  TypedDamage
 A class used to store and define typed damage impact : damage caused, condition or movement speed changes, etc More...
 
class  Weapon
 This base class, meant to be extended (see ProjectileWeapon.cs for an example of that) handles rate of fire (rate of use actually), and ammo reloading More...
 
class  WeaponAim
 
class  WeaponAim2D
 Add this component to a Weapon and you'll be able to aim it (meaning you'll rotate it) Supported control modes are mouse, primary movement (you aim wherever you direct your character) and secondary movement (using a secondary axis, separate from the movement). More...
 
class  WeaponAim3D
 Add this component to a Weapon and you'll be able to aim it (meaning you'll rotate it) Supported control modes are mouse, primary movement (you aim wherever you direct your character) and secondary movement (using a secondary axis, separate from the movement). More...
 
class  WeaponAimMouseOverride
 Add this component to a WeaponAim, and it'll automatically handle switching its weapon aim control mode to mouse if mouse becomes active. If you then touch any of the gamepad axis again, it'll switch back aim control to it. The WeaponAim control mode needs to be initially set to a gamepad control mode More...
 
class  WeaponAmmo
 
class  WeaponAutoAim
 An abstract class, meant to be extended for 2D and 3D specifics, handling the basics of auto aim. Extended components should be placed on a weapon with an aim component More...
 
class  WeaponAutoAim2D
 The 2D version of the WeaponAutoAim, meant to be used on objects equipped with a WeaponAim2D. It'll detect targets within the defined radius, pick the closest, and force the WeaponAim component to aim at them if a target is found More...
 
class  WeaponAutoAim3D
 The 3D version of the WeaponAutoAim, meant to be used on objects equipped with a WeaponAim3D. It'll detect targets within the defined radius, pick the closest, and force the WeaponAim component to aim at them if a target is found More...
 
class  WeaponAutoAimRadiusCircle
 This class will automatically draw a circle to match the radius of the auto aim weapon if there's one More...
 
class  WeaponAutoShoot
 Adds this component on a weapon with a WeaponAutoAim (2D or 3D) and it will automatically shoot at targets after an optional delay To prevent/stop auto shoot, simply disable this component, and enable it again to resume auto shoot More...
 
class  WeaponHandler
 A simple component you can use to control a weapon and have it start and stop on demand, without having a character to handle it You can see it in action in the KoalaHealth demo scene, it's powering that demo's cannons More...
 
class  WeaponIK
 This class allows for a 3D character to grab its current weapon's handles, and look wherever it's aiming. There's a bit of setup involved. You need to have a CharacterHandleWeapon component on your character, it needs an animator with IKPass active (this is set in the Layers tab of the animator) the animator's avatar MUST be set as humanoid And you need to put that script on the same gameobject as the animator (otherwise it won't work). Finally, you need to set left and right handles (or only one of these) on your weapon(s). More...
 
class  WeaponIKDisabler
 You can add this class next to a WeaponIK component (so usually on a Character's Animator), and it'll let you disable IK and optionally reparent the WeaponAttachment during certain animations More...
 
class  WeaponLaserSight
 Add this class to a weapon and it'll project a laser ray towards the direction the weapon is facing More...
 
class  WeaponModel
 A class used to force a model to aim at a Weapon's target More...
 
struct  WeaponModelBindings
 
class  WeaponModelEnabler
 This class is responsible for enabling/disabling the visual representation of weapons, if they're separated from the actual weapon object More...
 
class  WeaponPreventShooting
 An abstract class used to define additional conditions on a weapon to prevent it from firing More...
 
class  WeaponPreventShootingWhenCloseToWalls2D
 Add this class to a weapon and it'll prevent shooting when close to an obstacle (as defined by the ObstacleLayerMask) More...
 
class  WeaponPreventShootingWhenCloseToWalls3D
 Add this class to a weapon and it'll prevent shooting when close to an obstacle (as defined by the ObstacleLayerMask) More...
 
class  WeaponSpriteSortingOrderThreshold
 This class will modify the sprite associated with it's sorting order based on the current rotation of the weapon. Useful to get the weapon get in front or behind your character based on this angle on 2D weapons More...
 
class  WeightedRandomTile
 Weighted Random Tiles are tiles which randomly pick a sprite from a given list of sprites and a target location, and displays that sprite. The sprites can be weighted with a value to change its probability of appearing. The Sprite displayed for the Tile is randomized based on its location and will be fixed for that particular location. More...
 
struct  WeightedSprite
 A Sprite with a Weight value for randomization. More...
 
class  WelcomeWindow
 

Enumerations

enum  MMCameraEventTypes {
  MMCameraEventTypes.SetTargetCharacter, MMCameraEventTypes.SetConfiner, MMCameraEventTypes.StartFollowing, MMCameraEventTypes.StopFollowing,
  MMCameraEventTypes.RefreshPosition, MMCameraEventTypes.ResetPriorities, MMCameraEventTypes.RefreshAutoFocus
}
 
enum  MMCharacterEventTypes { MMCharacterEventTypes.ButtonActivation, MMCharacterEventTypes.Jump }
 A list of possible events used by the character More...
 
enum  MMLifeCycleEventTypes { MMLifeCycleEventTypes.Death, MMLifeCycleEventTypes.Revive }
 
enum  DamageTypeModes { DamageTypeModes.BaseDamage, DamageTypeModes.TypedDamage }
 
enum  TopDownEngineEventTypes {
  TopDownEngineEventTypes.SpawnCharacterStarts, TopDownEngineEventTypes.LevelStart, TopDownEngineEventTypes.LevelComplete, TopDownEngineEventTypes.LevelEnd,
  TopDownEngineEventTypes.Pause, TopDownEngineEventTypes.UnPause, TopDownEngineEventTypes.PlayerDeath, TopDownEngineEventTypes.SpawnComplete,
  TopDownEngineEventTypes.RespawnStarted, TopDownEngineEventTypes.RespawnComplete, TopDownEngineEventTypes.StarPicked, TopDownEngineEventTypes.GameOver,
  TopDownEngineEventTypes.CharacterSwap, TopDownEngineEventTypes.CharacterSwitch, TopDownEngineEventTypes.Repaint, TopDownEngineEventTypes.TogglePause,
  TopDownEngineEventTypes.LoadNextScene, TopDownEngineEventTypes.PauseNoMenu
}
 A list of the possible TopDown Engine base events LevelStart : triggered by the LevelManager when a level starts LevelComplete : can be triggered when the end of a level is reached LevelEnd : same thing Pause : triggered when a pause is starting UnPause : triggered when a pause is ending and going back to normal PlayerDeath : triggered when the player character dies RespawnStarted : triggered when the player character respawn sequence starts RespawnComplete : triggered when the player character respawn sequence ends StarPicked : triggered when a star bonus gets picked GameOver : triggered by the LevelManager when all lives are lost CharacterSwap : triggered when the character gets swapped CharacterSwitch : triggered when the character gets switched Repaint : triggered to ask for a UI refresh TogglePause : triggered to request a pause (or unpause) More...
 
enum  PointsMethods { PointsMethods.Add, PointsMethods.Set }
 A list of the methods available to change the current score More...
 
enum  PauseMethods { PauseMethods.PauseMenu, PauseMethods.NoPauseMenu }
 A list of the possible pause methods More...
 
enum  MMCinemachineBrainEventTypes { MMCinemachineBrainEventTypes.ChangeBlendDuration }
 

Detailed Description

Taken from the legacy 2D extras as it was apparently removed from them Used to power the Koala2D and Grasslands demo scenes' ground tiles

Enumeration Type Documentation

◆ DamageTypeModes

Enumerator
BaseDamage 
TypedDamage 

◆ MMCameraEventTypes

Enumerator
SetTargetCharacter 
SetConfiner 
StartFollowing 
StopFollowing 
RefreshPosition 
ResetPriorities 
RefreshAutoFocus 

◆ MMCharacterEventTypes

A list of possible events used by the character

Enumerator
ButtonActivation 
Jump 

◆ MMCinemachineBrainEventTypes

Enumerator
ChangeBlendDuration 

◆ MMLifeCycleEventTypes

Enumerator
Death 
Revive 

◆ PauseMethods

A list of the possible pause methods

Enumerator
PauseMenu 
NoPauseMenu 

◆ PointsMethods

A list of the methods available to change the current score

Enumerator
Add 
Set 

◆ TopDownEngineEventTypes

A list of the possible TopDown Engine base events LevelStart : triggered by the LevelManager when a level starts LevelComplete : can be triggered when the end of a level is reached LevelEnd : same thing Pause : triggered when a pause is starting UnPause : triggered when a pause is ending and going back to normal PlayerDeath : triggered when the player character dies RespawnStarted : triggered when the player character respawn sequence starts RespawnComplete : triggered when the player character respawn sequence ends StarPicked : triggered when a star bonus gets picked GameOver : triggered by the LevelManager when all lives are lost CharacterSwap : triggered when the character gets swapped CharacterSwitch : triggered when the character gets switched Repaint : triggered to ask for a UI refresh TogglePause : triggered to request a pause (or unpause)

Enumerator
SpawnCharacterStarts 
LevelStart 
LevelComplete 
LevelEnd 
Pause 
UnPause 
PlayerDeath 
SpawnComplete 
RespawnStarted 
RespawnComplete 
StarPicked 
GameOver 
CharacterSwap 
CharacterSwitch 
Repaint 
TogglePause 
LoadNextScene 
PauseNoMenu