✨ Adds the roll ability, and an example of it on the RetroCorgi demo character. The roll ability will let you (optionnally) dodge attacks, and acts like a grounded dash that follows slopes.
✨ Adds the MMSoundManager, a brand new sound manager packed with features and optimized for performance. It'll let you play/stop/pause/resume/manage sounds, with a massive amount of (optional) parameters. It comes with built-in pooling, audio mixer support, ready made tracks (master, music, sfx, UI), track controls to mute/pause/etc entire tracks, save and load mechanics, fades, solo mode, and a very pretty inspector.
✨ Adds the MMSoundManager Sound Feedback, that lets you play a sound with full control over its settings
✨ Adds the MMSoundManager Sound Control Feedback, which lets you play/pause/resume/stop/free a specific sound
✨ Adds the MMSoundManager Sound Fade Feedback, to fade a specific sound to a destination volume
✨ Adds the MMSoundManager Track Control Feedback, to play/pause/resume/stop/free an entire track at once
✨ Adds the MMSoundManager Track Fade Feedback, to fade an entire track to a destination volume
✨ Adds the MMSoundManager Save & Load Feedback, to save or load sound settings without a line of code
✨ Adds the MMSoundManager All Sounds Control Feedback, to control all sounds playing in the MMSoundManager at once
✨ Adds an example of procedurally generated levels using various tilemap grid generators. Adds an example of it in the RetroProcedural demo scene
✨ Adds MMFeedbackCorgiEngineFloatingText, that lets you display damage text from a Health component, and an example of that on the enemies in the RetroAI demo scene
✨ Adds reflective water in room 7 of the RetroVania demo scene
✨ Adds the MMInputExecution helper, a class used to store MMInputExecution bindings, associating a target keycode to UnityEvents
✨ Adds MMFaderDirectional, a new type of fader that slides a panel from or to the top/left/bottom/right
✨ Adds the MMAdditiveLoadingScreen, a new loading manager, that offers plenty of options and events for full customization
✨ Adds MMFaceDirection helper
✨ Adds AIActionReload and AIDecisionReloadNeeded, which will let your AIs interact with reload mechanics
✨ Adds MMFeedbacks v2.0, packed with a ton of new content
✨ Adds Inventory Engine v2.0
✨ Adds Nice Touch v1.5
🚀 Adds new methods to the LevelManager to define what loading method to use, what loading scene, and what loading settings.
🚀 Adds built-in support for additive scene loading to the LevelManager, and an example of it in the RetroProcedural demo scene
🚀 Adds public init method to MMPath
🚀 Adds an option to MMHealthBars to set an initial rotation to drawn bars
🚀 Adds ForceFlipTowardsDirection option to CharacterWallJump, an option to force the character to face its jump direction without input
🚀 Adds ForceAnchorToGroundOnExit option to the Ladder ability
🚀 Adds a SetCanJumpStop(bool) method to CharacterJump, to prevent the current jump from being proportional (releasing won't cancel the jump/current momentum)
🚀 Adds TimeSinceLastButtonDown and TimeSinceLastButtonUp to MMInput
🚀 Adds Input Buffer Duration to the CharacterJump ability : if the character lands, and the jump button's been pressed during that InputBufferDuration, a new jump will be triggered, and an example of that on the Rectangle demo character
🚀 Adds a new option to checkpoints to let them force themselves as the new checkpoint when encountered.
🚀 Adds a new checkpoint mode to the LevelManager, to have checkpoints not be ordered only by position, but by their specific order ID. This allows for non linear level checkpoint layouts, great for metroidvanias.
🚀 Adds options to AutoRespawn to bind an agent to one or more specific checkpoints
🚀 Adds (optional) amount limitations to AutoRespawn, to define how many times an agent can respawn
🚀 The Room system and points of entry can now be used together
🚀 Adds a SetDamage(int) method to the Projectile class, letting you control or randomize its damage on spawn
🚀 Adds (local) multiplayer support to the CharacterSwitchManager
🚀 Adds options to WeaponAim and WeaponAutoAim to add slope orientation angles or not (and dynamically toggle these based on whether or not a target is locked or not)
🚀 Adds an option to AIActionSwapBrain to pass the old brain's Target to the new one on swap
🚀 Adds start/stop following debug buttons to both camera controllers
🚀 Adds an example of an "enemy as a platform" in the MovingPlatfroms demo scene
🚀 Adds ArrivedHereFeedback to the Teleporter class, a feedback triggered on a Teleporter when something teleports into it
🚀 MMFPSCounter can now show instant fps, moving average, or both
🚀 Adds options to the LevelSelector class to optionnally trigger save and fade
🚀 Adds options to AIWalk, AIActionPatrol, AIActionFlyPatrol to reset position (or not) on revive
🐎 The LoadingSceneManager is renamed to MMSceneLoadingManager
🐎 CharacterHorizontalMovement's JustGotGrounded feedback check now ignores time spent static (on a ladder, gripping, on a ledge, etc).
🐎 Improves a float comparison precision in the controller's CastRayToTheSides method
🐎 Adds an extra sanity check to DamageOnTouch
🐎 Adds a new, mandatory damage direction parameter to Health's Damage method
🐎 The Character class now has an option to avoid performing sanity checks when updating animator parameters. Slight gain of performance, at the cost of having to make sure your animators have all the required animator parameters you need (you'll get warnings otherwise)
🐎 AnimatorExtensions methods now use hashsets instead of lists
🐎 Adds extra sanity checks to MMProgressBar's OnEnable
🐎 Adds a new PointsOfEntry struct array to LevelManager, to replace the simple Transform array used previously. This allows to bind dedicated feedbacks for each PoE, to play when entering a level by a certain point. WARNING : all data will have to be setup again. The
old array has been kept for convenience but will be removed in a future update.
🐎 Improves the robustness of teleporters when dealing with multiple teleportees at once
🐎 Unifies prefab use across all RetroAdventure scenes
🐎 The LevelManager now instantiates the Player character(s) at the start of its Start routine (and not on Awake anymore). Updates a few other classes (CameraController, AIFollow...) to rely on events and not on Awake/Start to grab the Player.
🐎 The DialogueZone class now exposes the DialogueBoxPrefab instead of loading it from Resources. WARNING : this will have to be manually set on all existing dialogue zones in your project. That'll be the first field under the Dialogue Look section. You can drag your own prefab into it, or use the one found at Common/Prefabs/GUI/DialogueBox
🐛 Fixes a bug that could cause decisions to not reinitialize correctly on respawn on certain versions of Unity
🐛 Fixes a comment typo in CharacterHorizontalMovement
🐛 Fixes multiple bugs that could cause CharacterPersistence and points of entries to not behave as expected
🐛 Fixes a bug that could cause a Teleporter to trigger its Activation feedback twice under certain activation conditions
🐛 Fixes a bug that would cause the Character class to unnecessarily rename and parent custom camera targets.
🐛 Fixes a bug that would cause incorrect weapon recoil parameters to be used in certain use cases.
🐛 Fixes/unifies game manager settings across the RetroAdventure pre level flow
🐛 Fixes a bug that would let a character wallcling to one way platforms in certain conditions
🐛 Fixes a bug that would cause issues with fixedDeltaTime in MMTimeManager
🐛 Fixes hardcoded Time.time in FloatController that would cause some of its modes to not work correctly when in unscaled time
🐛 Fixes a bug that could prevent the CorgiController's safety boxcast to perform as expected on certain build targets
🐛 Fixes a bug that would cause CharacterLedgeHang to not compute positions correctly when used on a split ability node
🐛 Fixes a potential wrong health grab in CharacterAbility's OnEnable that could lead to issues on revive when splitting abilities across nodes
🐛 Fixes a typo in a comment and tooltip in CharacterDash
🐛 Fixes a bug that would cause ladder climbing to not detect ladder top correctly after swapping abilities multiple times.
🐛 Fixes a typo in CharacterHorizontalMovement that would have the ground deceleration be set incorrectly if a separate deceleration in air was specified
💄 Unifies the scale of the Rectangle prefab and its parts
💄 Renames the CharacterPersistency ability to CharacterPersistence
📦 Adds Inventory Engine v2.0
📦 Adds MMFeedbacks v2.0
📦 Adds Nice Touch v1.5
📦 Updates package dependencies to their latest versions
🛠 Requires Unity 2019.4.3f1 or higher
6.7The MarshalJanuary 2021
✨ Adds a new Loot system, letting you have enemies (and anything else) drop loot on death, or damage, or when prompted. The spawn position, area and settings can be customized entirely. Comes with a loot table system, and loot can be defined per spawning object, or globally, and an example of it in action in the RetroForest demo scene, where killed enemies now drop coins, stimpacks or extra lives at (controlled) random.
✨ Adds the CharacterPersistency ability, that will allow you to keep the exact state of your character when moving from scene to scene
✨ Adds Bouncy Projectiles, and an example of them in action in the Mountains demo scene.
✨ Adds MMApplicationQuit, a simple class you can use to exit your game, easily pluggable to a UnityEvent slot
✨ Adds MMAutoExecution, a simple class lets you trigger Unity events automatically, on Awake, Enable, Disable, Start, or on instantiate
✨ Adds the LayerManager, a static class that holds ready-to-use references to layers and layermasks, and provides auto initialization for all public layermasks throughout the engine
✨ Adds AIActionSetLastKnownPositionAsTarget, a new action that lets you use the last known position of your target as the new target (useful when, for example, you want a character to go where its prey was last seen)
✨ Adds the Magnetic class that you can add on any object, and that will let it automatically move towards any target of your choice when it enter its range. Useful for magnetic coins, for example
✨ Adds the MagneticEnabler class, that lets you automatically pick sleeping magnetic objects in range (for situations where you'd rather not have the magnetic objects perform range detection themselves)
✨ Adds the AimMarker component, that you can use in conjunction with WeaponAutoAim to display an aim marker on, next to, or around your target. Adds an example of it in action in the FeaturesWeapons demo scene (pick the Hitscan Gun).
🚀 Adds a Random float animation parameter, that updates every frame, randomly between 0 and 1, and that you can use to add variations to your animations when entering a new state
🚀 Adds a new Curve mode to MMWiggle
🚀 Adds the RandomConstant int animation parameter, 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 behave differently.
🚀 Adds the ForceStop public method to CharacterHandleWeapon to allow AIs to force exit
🚀 Adds an option to have the controller run on FixedUpdate rather than Update to accomodate very low framerates
🚀 Adds remap options and a better inspector to the float and shader controllers
🚀 Improves the way inventory item drop works. Items created on previous versions will need to have their drop properties redefined.
🚀 Adds an option to InventoryDetails to display details globally, regardless of target inventory
🚀 Adds a public method to add proximity managed objects at runtime
🚀 Adds MMFeedbacks hooks to all steps of the Teleporter sequence
🚀 Adds an option to AIActionPatrol to detect obstacles via custom layermasks and not just the controller's. This allows, for example, for AIs that change direction when encountering other AIs.
🚀 Adds options to FinishLevel and GoToLevelEntryPoint to customize fade, delay and freeze (time or character)
🚀 Adds support for HDR colors to the ShaderController
🚀 Improves MMDebug's methods' performance
🚀 Adds an option to the AutoMovement ability to disable horizontal input
🚀 Adds separate (and optional) deceleration values to the controller, to define unique deceleration values for air and ground movement, in addition of the existing acceleration ones
🚀 Adds options to CharacterInventory, InventoryWeapon and PickableWeapon to specify what HandleWeapon ability should equip the weapon
🚀 Adds delay support to AIActionFlyPatrol.
🚀 Adds the InvertHorizontalAimWhenWallclinging option to CharacterHandleWeapon, that lets you shoot away from a wall when wallclinging.
🚀 Adds a Stunned condition state
🚀 Adds an option to WeaponAutoAim to have the aim origin be either set to the weapon or its owner.
🚀 Adds options to CharacterInventory to automatically add items on init to inventories, and to add and equip a weapon
🚀 Adds a public method to the Zipline to reset its position (and a debug button in its inspector to test it).
🚀 Projectiles now move on FixedUpdate
🐎 AppearDisappear's ChangeState method is now public
🐎 Adds extra security checks to CharacterInventory
🐎 Improves jetpack's performance when consuming fuel/refueling
🐎 Improves all abilities' ResetAbility, making the node swap ability safer.
🐎 MMHealthBar's initialization now happens at Awake
🐎 Weapons in ReloadNeeded state now force the weapon to turn off
🐎 Stompable's detection now runs at LateUpdate
🐛 Fixes the crouch collider size on the RectangleWithInventory prefab
🐛 Fixes the MinimalRocketLauncher's aim settings
🐛 Fixes a missing teleporter fade transition in RetroAdventureLevel1
🐛 Fixes a bug that would cause gravity points to work incorrectly when the CorgiController's StickToSlopes mode was on
🐛 Fixes a wrong setup in the Brobro demo character's swappable abilities that would cause the weapon to not flip correctly sometimes
🐛 Fixes a wrong touch button binding in the Lava demo scene
🐛 Fixes a potential null exception on AIShootOnSight if only AIs were present in the scene.
🐛 Fixes a layer issue with the two doors in the RetroPush demo scene
🐛 Fixes a wrong layer setup in the MinimalMovingPlatforms demo scene
🐛 Fixes a bug that could cause the weapon to not flip and rotate correctly for a frame
🐛 Fixes a typo in the billboard displaying the controls at the start of Mesa1
🐛 Weapon's ForceWhileInUse now takes facing direction into account
🐛 Fixes a bug that would cause weapons to keep firing after grabbing a ladder with shoot from ladders disabled.
🐛 Fixes a bug that would cause MMMonoBehaviours inspectors to not draw correctly
🐛 Fixes a bug that could cause multiple weapons to get equip requests if the inventory contains multiple weapon clones
🐛 Fixes a bug that would prevent Character.FindAbility to return true for extended versions of abilities when looking for their parent
🐛 Fixes a bug that could occur when unequipping a weapon from a main inventory while a clone of it was equipped
🐛 Fixes a bug that could cause AIDecisions to grab their associated AIBrain too late in the initialization cycle
💄 Adds the Cinemachine Pixel Perfect extension to all cameras in the RetroVania demo scene
💄 Tweaks a few enemy AI behaviours in RetroAI
💄 All ButtonActivated classes (Teleporter, DialogueZone, FinishLevel, TimeZone, KeyOperatedZone, etc) now use inspector groups for improved readability
💄 Centers the MinimalLevel objects in the scene
💄 Tweaks the collider settings of the Retro AIs
💄 CharacterJump's JumpTimeWindow delay setting is renamed CoyoteTime
💄 Removes unused PickAsMuchQuantityAsPossible attribute in ItemPicker
📦 Updates Cinemachine to v2.7.1
🛠 Requires Unity 2019.3.3f1 or higher
6.6The ChainOctober 2020
✨ Adds new ways to build characters, by letting the user split the logic components across multiple levels, both at the abilities and AI levels. This allows for easier management, as well as nice features such as realtime AI brain swap
✨ Adds support for the "new" InputSystem, and two demos showcasing it, one single player, low setup required, and an event based multiplayer one
✨ Adds a new AI Action, AIActionMMFeedbacks, that lets you play a target MMFeedbacks when performed
✨ Adds a new AI Action, AIActionUnityEvents, letting you trigger any event via an AI Action
✨ Adds the MMRandomBoundsInstantiator, which lets you spawn random objects within a mesh's bounds on demand, by the quantity you want and optionnally rescaling them
✨ Adds MMObservable, a new class that lets you listen for value changes on other classes in a performant manner
✨ Adds a ctrl/cmd + L shortcut to lock/unlock the current inspector
✨ Adds the SwapBrain AI action, that lets you swap the current brain for another one
✨ Adds the RetroBlobWithAGunBrainSwap example enemy, that showcases both how you can separate abilities and brain from the top level of logic, and how you can use the SwapBrain action to swap between 2 or more radically different sets of behaviours
✨ Adds an example of separated abilities for a Player character in the Brobro demo scene
✨ Adds the AbilityNodeSwap ability, that lets you swap an entire set of abilities on a character for another, at the press of a button. Adds an example of it in the Brobro demo scene.
✨ Adds recoil and feedback hooks on use, hit, hit damageable, hit non damageable, miss and kill to all weapons (some limitations apply, on a per weapon type basis, but that's the general idea)
✨ Adds the CharacterAnimationParametersInitializer component, that lets you auto create animation parameters used by the engine on a target animator, to avoid having to add them manually.
✨ Adds an example of a repositionable mobile joystick to the MMControls demo scene
✨ Adds an example of a mobile swipe zone to the MMControls demo scene
✨ Adds the HitscanWeapon class, a new type of weapon that instantly damages its target.
✨ Adds the MinimalHitscanGun prefab, an example of a Hitscan weapon (best used by a Rectangle demo character)
✨ Adds the WeaponAutoAim component, that you can add to a Weapon (with its WeaponAim set to Script mode), and it'll auto aim at the specified targets, providing there are no obstacles between the Weapon and the target
✨ Adds the HitscanGun prefab to showcase both hitscan and auto aim. It's available for pickup in the FeaturesWeapons demo scene
🚀 Adds almost entirely refactored MMProgressBar, a complete progress bar system, now more performant, less costly, with new SetBar methods, optional interpolation, hide and show methods, better inspector, text options, speed or duration based, increasing and decreasing delayed bar support, event hooks (on bump, increase start / stop, decrease start / stop, radial bar support, coroutine based architecture instead of Update, and a dedicated demo scene, MMProgressBarDemo
🚀 Adds selector dropdowns to AIBrain, letting you pick Actions and Decisions without needing to drag and drop them
🚀 Improves the behaviour of MMHealthBars to allow for easier disabling/enabling
🚀 MMTimedActivation can now operate on frames (and not just time), and can now activate individual monobehaviours as well as gameobjects
🚀 Adds an option to ButtonActivated zones to allow for button interaction and auto activation, allowing for example for auto activated dialogue zones where the user can still press to get to the next dialogue line
🚀 Adds an option to SurfaceModifiers to only apply their force(s) when their target is grounded.
🚀 The CharacterAutoMovement ability now supports gravity zones
🚀 Adds spring mode to MMFollowTarget
🚀 Adds options to every abilities' inspectors to specify states (both movement and condition) from which the ability can't be triggered. Useful to prevent a dash from executing while Idle or Swimming without a line of code, for example.
🚀 Adds a DashAuthorized() bool method to CharacterDash, letting you define specific rules more easily in extended methods, and improves that check.
🚀 AIBrain's ResetBrain method now also forces an initialization of decisions
🚀 Adds a public method to AIBrain to reset it to its initial state from any class
🚀 Adds new public methods to the CharacterSwitchManager, to force switches regardless of input, and to force a character switch to a specific index
🚀 Adds an option to Weapon to set a force while the weapon's in use. Adds an example of that to the RetroComboSword
🚀 Adds UpdateModes options to MovingPlatformFree
🚀 Adds a ResetPath method to MMPathMovement, which allows for zipline reset for example.
🚀 Adds an option to CharacterFly to stop flying on death
🚀 Adds options to CharacterDash to limit the amount amount of consecutive dashes to a certain amount, and define how dashes left should get reset (grounded or time based), and adds atomic methods to test conditions and reset dashes
🚀 Adds an optional cooldown to button activation
🚀 Adds an option to CharacterHorizontalMovement to flip on direction change (on by default, which was the default behaviour so far, but can now be turned off)
🚀 Adds a method to CharacterHorizontalMovement to set the air control base input value externally
🚀 CharacterWallJump now modifies the base air control input value
🚀Adds an option to CharacterHandleWeapon to have the weapon aim control the facing direction of the character (so if you're walking left but aiming right, you're facing right). This transitions nicely to your previous facing mode (usually movement direction) if you unequip an weapon
🚀 Adds Weapon Rotation Modes to CharacterInventory, letting you add either an empty slot or the initial weapon to the weapon rotation
🚀 Rooms will now auto enable / disable their associated virtual camera on entry/exit
🚀 Adds a method to DamageOnTouch to bind a CorgiController to it at runtime
🚀 Points of entry now store the last requested facing direction
🚀 MMHealthBar's gradients now get initialized with default values on creation
🚀 Adds an option to MMHealthBars to nest drawn health bar under the instigator transform, useful when dealing with a ProximityManager for example
🚀 Adds a public SetAim method to MMAim
🚀 Adds an explicit option to Health to apply forces or not on death
🚀 Improves the way MMAim clamps values
🚀 Turns Character, CorgiController, AIBrain off while the timescale is 0 to avoid a tilemap collider bug
🚀 Improves the MMBezierLineRenderer, which now works in editor mode as well
🚀 ButtonActivated zones are now better at tracking multiple colliders
🐎 Reworks the way DamageOnTouch's damage taken knockback system works, adding new direction options
🐎 Improves the loading scene sequence
🐎 AIBrains now force an exit state on death
🐎 The AIBrain now calls EnterState on its initial state on Start
🐎 Removes now useless Update in LevelManager
🐎 Improves performance on ButtonActivated zones by removing an Update loop
🐎 AutoRespawn now resets AIBrains on respawn
🐎 Adds inspector groups to a bunch of classes for improved readability on long inspectors
🐎 Adds debug tools to the MMFlash inspector
🐎 The Health component now exposes the flicker color in its inspector
🐎 Weapon's PreventAllMovementWhileInUse is renamed to PreventHorizontalMovementWhileInUse
🐎 The Weapon inspector now refreshes constantly to display accurate state values
🐎 The CharacterPause ability now checks if the ability is enabled before pausing/unpausing
🐎 Adds a CacheAbilities() method to the Character class. Useful if you decide to add new abilities at runtime. It's recommended to avoid doing so, adding components at runtime is costly, it's best to enable/disable instead, when possible. When not possible, this new method will be useful.
🐎 CharacterJump.JumpAuthorized is now virtual to allow for extension
🐎 CorgiController now checks whether SurfaceModifiers are enabled before applying friction.
🐛 Fixes a few animation transitions on the RetroBoss model
🐛 Fixes a MMCooldown bug that caused wrong refill durations
🐛 Fixes a bug that could cause a falling character to go through a fast one way moving platform
🐛 Fixes a missing sprite bug in the SuperHipsterBros demo scene's bonus block prefab
🐛 Fixes a typo in the CharacterSlopeOrientation's inspector
🐛 Fixes a bug with the Bezier line renderer's loop
🐛 Fixes a typo in a comment of the Checkpoint class
🐛 Fixes a proximity manager frequency issue
🐛 Fixes a bug that could cause button activated zones to keep preventing jumps after exiting them
🐛 Fixes a bug that would cause nested object pools to not initialize correctly
🐛 Fixes a typo in AIShootOnSight's help text
🐛 Fixes a bug that could cause a character to climb a ladder without stopping when tapping quickly to start climbing and releasing instantly
🐛 Fixes a bug that could cause self-knockbacking objects to trigger errors when applying damage to non Corgi controller based objects
🐛 Fixes a CorgiController bug that could cause external forces to be evaluated incorrectly when no set force ability was present
🐛 Fixes a typo in AIActionMoveTowardsTarget's OnExitState method
🐛 Fixes an erroneous z coordinate on the RetroAI's Enemies container
🐛 Fixes a WeaponAim bug that would cause constrained angles to not be taken into account properly when the Character was flipped
🐛 Fixes a typo that would prevent debug draws from disabling correctly when using the Tools menu
🐛 Fixes a bug that would prevent combo weapons to pass animation parameters to other models when using the SwitchModel ability
🐛 Fixes a bug that would let combo animations continue when changing weapons at certain frames
🐛 Fixes a bug that could cause erroneous wall jump force to be applied when ShouldReduceNumberOfJumps was false.
🐛 Fixes a bug that could cause dialogue zones to not reset properly when disable after use was checked.
🐛 Fixes a bug that would prevent the GrabCarryAndThrow ability to grab objects horizontally from the right when facing left.
🐛 Fixes a bug that would prevent the crouch ability to be used on AIs in some contexts
🐛 Fixes a null ref that could happen when CharacterJump's ResetCameraOffsetOnJump was true
🐛 Fixes a bug that could cause AIs to keep shooting despite having exited their shoot state
🐛 Sound feedbacks now don't interrupt prefab mode anymore
🐛 Fixes inverted x and y in the outcome of MMMaths.DirectionFromAngle2D
🐛 Fixes a rounding bug in MMTime.FloatToTimeString
🐛 Fixes a bug that prevented SurfaceModifiers from keeping track of cooldowns correctly
🐛 Fixes a bug that would cause the Airborne state to be false when moving over a bottomless pit
💄 The RetroCorgi's collider is now a bit narrower
💄 DamageOnTouch's DamagedTakenKnockbackDirection field is renamed to DamageTakenKnockbackDirection
💄 ButtonActivated's TriggerButtonAction method now requires an instigator gameobject as parameter
💄 ButtonActivated's _collider is now renamed _buttonActivatedZoneCollider to clear ambiguities
🛠 Requires Unity 2019.3.3f1 or higher
6.5The CrushJune 2020
✨ Adds the MovingPlatformFree component, that lets you turn any object into a (potential) moving platform. You can then drive that object's movement however you like (via a script, physics, or even by dragging it around in the scene view) and any Character that steps on it will follow and behave like it would on any "normal" moving platform
✨ Adds the MinimalMovingPlatforms demo scene to showcase some of the most "extreme" moving platforms the engine can handle
✨ Adds the CharacterFallDamage ability, which lets your characters take damage when falling from a certain height.
✨ Adds the MinimalFallDamage demo scene to showcase that.
✨ Adds the AIActionDash, and a new type of enemy that uses it, the RetroBlobDash in the RetroAI demo scene
✨ Adds CharacterCrushDetection, a new ability that lets you detect when your character gets crushed, and lets you act on it, causing damage or death
✨ Adds the RetroCrusher prefab to demonstrate that new Crush Detection ability, and an example of it in use in RetroVania (first room to the right when entering the level)
✨ Adds the ProximityManager class, a system you can use to dynamically enable/disable ProximityManaged objects in your scene based on their distance to the player, disabling objects that are far from the camera/action to save on performance. Also adds the MinimalPerf demo scene, showcasing the difference between a scene with and without that setup.
✨ Adds AIActionMoveAwayFromTarget, a new action that will make a character move in the opposite direction of its current target
🚀 Adds support for gravity and moving platforms combinations
🚀 Adds a delay option to the FinishLevel class to enable longer end level animations without any external manipulation
🚀 Adds an option to CharacterHandleWeapon to allow shooting from ladders natively (false by default). The RetroCorgi demo character can now shoot from ladders.
🚀 Adds force application modes (set or add, instead of the default add up until now) to SurfaceModifiers
🚀 Adds an option to reset forces on exit to SurfaceModifiers
🚀 Adds a normalized method to MMProgressBar.
🚀 Adds force modes to CharacterWallJump
🚀 Stompable can now be combined with gravity zones and points
🚀 Adds an option to Stompable objects to define whether or not they can be stomped by dead characters. Yes it's quite specific.
🚀 Minimum push speed on the PushCorgiController ability will now be compared with greater or equal (instead of greater before). This makes pull without pushing more obvious to setup, and it's now the default behaviour for this ability
🚀 Adds an option to CharacterJump to opt out of being able to jump down from one way platforms
🚀 Adds an option on Health components to turn gravity off on death
🚀 Adds an option to force a character to stop running/walking when colliding with a wall, regardless of input
🚀 ButtonActivated zones now enforce CanOnlyActivateIfGrounded even in auto mode
🐎 Greatly improves the slope orientation precision, now handling more complex edge cases
🐎 Adds an extra check to InventorySelectionMarker
🐎 Adds extra checks to bind weapon and character animators
🐎 Adds missing RequireComponent attribute to HealthAutoRefill
📚 Adds tooltips to all fields of all classes in the engine
📦 Removes multiple (harmless) missing references throughout the engine
💄 Tweaks the Rectangle demo character's raycast settings to have it appear more aligned with obstacles when colliding with them
🐛 Fixes a bug that could cause an error when using the CharacterPushCorgiController ability on an AI swappable character
🐛 Fixes a bug in the SoundManager that could cause background music to not play again after a certain sequence of enable/exit/disable
🐛 Fixes an incorrect application of the vertical raycast offset of CharacterWallClinging
🐛 Fixes a bug that could cause unwanted flips while using a combo weapon in the air while getting damaged.
🐛 Fixes a bug that could cause wrong freeze frame durations with DamageOnTouch's FreezeFrameOnHitDuration
🐛 Fixes a bug that could cause lateral jumps into one way slopes to result in improper x position offsets
🐛 Fixes a bug that would cause a character to not reset properly after dying from being out of bounds while wallclinging.
🐛 Fixes a bug that would cause SurfaceModifiers to not apply forces correctly when colliding with multiple controllers
🐛 Fixes a bug that would cause pushable blocks to not fall correctly when not in button based push mode
🐛 Fixes a bug that would cause KillPlayerOnTouch objects to kill a player more than once (which is harmless but not ideal) if collisions were set to not disable after death on the Player side
🐛 Fixes a bug that could cause a flying character to not escape gravity correctly after exiting a dialogue zone
🐛 Removes an extra and useless box collider on a few scenes' level start object
🐛 Solves an issue with SlopeOrientation and how it forces additional angles on weapon aim
🐛 Fixes a bug that could prevent weapons from auto equipping
🛠 Requires Unity 2019.3.3f1 or higher
6.4The RunApril 2020
✨ Adds the CharacterAutoMovement ability. It lets you walk or run automatically
✨ Adds the AutoMovementControlZone, a script that lets you define a zone that, when entered, gives you control over CharacterAutoMovement, letting you force a direction change, state change, stop movement, etc.
✨ Adds the MinimalAutoMovement demo scene, showcasing how you can easily setup a level for auto movement
✨ Adds the ForceZone, a new class that lets you simply apply a force to any CorgiController that enter a trigger zone with that component on it
✨ Adds the MMRandomInstantiator, a class that lets you spawn random objects on initialization
✨ Adds the MMAnimatorMirror class, letting you mirror an animator state into another, useful to have a controller or weapon command more than one animator
🚀 Improves the pause sequence, adding a TogglePause event type to the CorgiEngineEvent
🚀 Adds WorldXSpeed and WorldYSpeed, two new animation parameters outputting the current speed of the character relative to the world (ie. 0 if colliding)
🚀 CharacterInventory can now work with extended InventoryEngineWeapons
🐛 Fixes a potential wrong init frame on fader round
🐛 Fixes a wrong axis binding in the InputManager
🐛 Fixes a bug that could result in mobile arrows not being visible if the virtual joystick had been unbound from the GUIManager
🐛 Fixes a bug that could cause an error when hiding a prompt with an inactive parent object
🐛 Fixes a bug that would cause ItemUsed events to be fired too late in some situations
🐛 Fixes a bug that could end a dash too early under certain raycast settings
🐛 Fixes a few Cinemachine issues that could cause a camera to teleport to the wrong target
🐛 Fixes a bug that would prevent the Jumping animation parameter to trigger correctly
🐛 Fixes an animator setup issue that could cause the RetroCorgi to appear as Dead when using CharacterSwitch repeatedly
🐛 Fixes a bug that could cause a Character to flip when getting damage while executing a no movement allowed combo
🐛 Fixes a few comments and typos in ButtonActivation and SecondaryWeapon abilities
🐛 Fixes the way the scale gets saved in the GrabCarryAndThrowObject class
🐛 Fixes the PC demo link
🐎 Adds RequireComponent attributes to all AI Actions and Decisions when needed
📚 Adds comments description for each of the CorgiEngineEventTypes
🛠 Requires Unity 2019.3.3f1 or higher
6.3The PressureMarch 2020
✨ Adds a pressure pad system, letting you trigger actions when stepping on something, and an example of that in the RetroPush demo scene. The system also support non-character objects triggering the mechanism.
✨ Adds the DoubleSpriteMask, an additional way to handle masking between Rooms, that uses two MMSpriteMasks and alternates between them for seamless transitions.
✨ Adds the CharacterGrabCarryAndThrow ability, that lets your Characters grab any GrabCarryAndThrowObject, from any specified direction, carry it around with different modes (parent, follow), and throw it with optional recoil. Adds two examples of such objects in the RetroPush demo scene. You can of course combine this with other abilities or features, to open pressure pad controlled doors for example. The ability comes complete with animation parameters and MMFeedbacks slots
✨ Adds an example of a mobile inventory button in the Retro demo scenes (click on the weapon slot in the top right of the screen to open the inventory)
🚀 Adds a CurrentRoom boolean to Rooms
🚀 Adds air control settings and an option to prevent flip while in the air
🚀 Adds update modes options (process on update, late update, fixed update) to ParallaxElement
🚀 Adds support for multiple controllers to Surface Modifiers
🚀 Adds an option to CharacterHandleWeapon to force a scale reset on weapons when equipped (true by default)
🚀 Adds finer trigger options to moving platforms
🚀 Adds an example of a character that starts in the scene, grounded, in RetroPush
🚀 MMSpriteMasks can now operate on unscaled or scaled time, and now have a scale multiplier setting
🚀 Adds enter and exit feedbacks slots to all ButtonActivated classes
🚀 Adds a new phase to the Teleporter sequence, BetweenFades, where the character teleport now happens. This may have an impact on your teleporter transitions, especially if you were using tweens and not instant teleport, and may require adjusting the sequence delays.
🚀 Adds support for gravity inversion to AIActionPatrol and AIWalk
📦 Adds latest version of MMTools and MMFeedbacks
🐎 Adds an option to Rooms to automatically enable on entry / disable on exit a list of associated game objects
🐎 Rooms now require a Collider2D
🐎 Adds a safe frame to the pause button
🐎 Adds individual cooldowns for x and y force applications of SurfaceModifiers, for complete control over how frequently forces get applied and increased consistency
🐎 Adds assembly definitions covering all engine scripts and all libraries included in the asset
💄 Adds AddComponentMenu entries for all classes that were missing one
🐛 Fixes a typo in the PickableAction class' menu attribute
🐛 Fixes a bug that would cause walk speed to not be reset properly when jumping from a crouch state with crawl disabled
🐛 Fixes a button prompt bug that could result in fades not running properly
🐛 Fixes a bug that would let a character with crawl prevented to move from a crouch state by releasing the run button
🐛 Prevents the Welcome Window from losing its banner when its script is moved to another folder
🐛 Fixes a bug that would cause the Room's "resize confiner automatically" to not work correctly when unchecked
🐛 Clears obsolete component warnings on a few cameras
🐛 Fixes a few minor weapon bugs
🐛 Removes useless dependencies from the PackageManager manifest
🐛 Adds a missing null check in CharacterJump's EvaluateJumpConditions method
🐛 Fixes a bug that would cause rooms cameras to not initialize properly when arriving via a point of entry
🐛 Removes a deprecated component in the LoadingScene
🐛 Fixes a bug that would cause CharacterFollowPath to keep trying to follow its path on death
🐛 Fixes outdated APIs in the character abilities documentation
🐛 Enables the Rectangle prefab's crouch ability, which was mistakenly disabled by default with the last update.
🐛 Fixes a bug that could cause erroneous ground detection in Pushable blocks
🐛 Fixes a bug that could cause a character to end up stuck in the wrong state after jumping into a Teleporter
🐛 Fixes a bug that could cause button activated zones to not exit properly under a certain option combination
✨ Adds a brand new demo, featuring (almost) each individual feedback of the asset, in isolation, as well as in a few combinations. That demo is also available directly on MMFeedback's website.
✨ Adds the Pause feedback, that lets you pause a MMFeedback's feedback stack to delay the start of the next feedbacks in the sequence
✨ Adds the Holding Pause feedback, that will wait until all the feedbacks above it have finished before starting a pause and then proceeding to the next ones
✨ Adds the Loop feedback, that lets you replay all feedbacks that preceed it from the start, a loop start point or the last pause
✨ Adds the Loop Start feedback, that lets you determine a point of origin for your loops (and add an optional pause to it as well)
✨ Adds post processing volume auto blender feedback, letting you pilot a blender that will control the weight of a PP volume over time
✨ Adds auto blender and auto blender feedback for URP
✨ Adds URP bloom feedback and shaker
✨ Adds URP chromatic aberration feedback and shaker
✨ Adds URP color adjustments feedback and shaker
✨ Adds URP depth of field feedback and shaker
✨ Adds URP lens distortion feedback and shaker
✨ Adds URP motion blur feedback and shaker
✨ Adds URP panini projection feedback and shaker
✨ Adds URP vignette feedback and shaker
✨ Adds URP white balance feedback and shaker
✨ Adds URP global volume auto blend feedback and shaker
✨ Adds the AudioSourceVolume feedback and shaker, to control an AS's volume over time
✨ Adds the AudioSourcePitch feedback and shaker, to control an AS's pitch over time
✨ Adds the AudioSourceStereoPan feedback and shaker, to control an AS's stereo pan over time
✨ Adds audio filter distortion feedback and shaker
✨ Adds audio filter high pass feedback and shaker
✨ Adds audio filter low pass feedback and shaker
✨ Adds audio filter echo feedback and shaker
✨ Adds audio filter reverb feedback and shaker
✨ Adds Camera Field of View shaker and feedback, letting you control a camera's FoV over time on demand
✨ Adds camera orthographic size shaker and feedback
✨ Adds camera clipping planes shaker and feedback
✨ Adds clipping planes, field of view and orthographic size shakers for Cinemachine
✨ Adds Cinemachine Transition feedback, letting you transition from one virtual camera to another on demand
🚀 Adds "copy all" function on MMFeedbacks, to copy all feedbacks at once and paste them in another MMFeedbacks
🚀 Adds AutoPlayOnStart option to MMFeedbacks
🚀 Adds specific controller targeting to MMFeedbackHaptics
🚀 Adds remap to position, rotation and scale feedbacks
🚀 Adds better post processing volume autoblender
🚀 Adds better sequencer editor panel
🚀 Adds remap options to the ShaderController
🚀 Adds support for RawImage to the ShaderController
🚀 Adds a better conditional inspector to the ShaderController
🚀 The ShaderController can now be safely enabled/disabled
🚀 The ShaderController now has a global setting to revert to initial value on end (after a one time, when it gets disabled, etc)
🚀 MMFeedbackFlicker can now target shader properties by name
🚀 Adds additive mode to the Scale feedback
🚀 Adds ToDestination mode to the Scale feedback
🚀 MMFeedbacks inspector now shows a progress bar when playing a feedback
🚀 Adds ToDestination mode to the Position feedback, letting you move the target to an additional offset on every play, additive or not (instead of animating values along a curve or from A to B)
🚀 Adds the ToDestination mode to the Rotation feedback, letting you rotate to a specific rotation in either world or local spaces
🚀 Changes the way the Rotation feedback works, increasing its reliability and fixing issues on weird edge cases. AnimateX now rotates on the X axis, AnimateY on the Y axis, and AnimateZ on the Z axis
🚀 Adds remap, enable/disable support, ToDestination to the FloatController
🚀 Adds more position options to InstantiateObject and ParticlesInstantiation feedbacks
🚀 Adds ResetTrigger option to the Animation feedback.
🚀 On the Bloom shaker, default threshold amplitude is now 0
🚀 Adds a OnStateChange delegate to MMStateMachine to listen to state change events locally
🐎 MMFeedbacks now forces a reset of all feedbacks on PlayFeedbacks()
🐎 Improves null string comparisons.
🐎 MMFeedbacks' debug view is now available outside of play mode as well
💄 Adds better inspectors to all PostProcessing feedbacks and shakers, with ranges and cleaner sections
💄 The "add new feedback" list is now alphabetically sorted
💄 Feedbacks now display their duration and Timing info in the inspector header directly
💄 Feedbacks now display a small category based color bar on their left
💄 Adds AddComponent menu entries for all feedbacks and tools
🐛 Removes useless requirement on MMOrbitalCamera
🐛 Fixes a bug in how Float and Shader controllers would add to the initial value
⚠️ MMBlink now requires a -1 repeat count for infinite repeat (instead of 0, which now simply plays once)
⚠️ Fade events now require that you specify a MMTweenType
📦 Reorders feedbacks in a few categories, and adds the Renderer and Transform categories
🛠 Requires Unity 2019.3.2f1 or higher
6.2.1The MaverickJanuary 2020
🚀 Adds an option to freeze time while going through a teleporter/door
🚀 Adds an option to prevent jumpers to be activated from below
🚀 Adds an exit offset to teleporters
🚀 Adds a new option to teleporters to tween position instead of instant teleport
🚀 Adds options to teleporters to maintain entry X and/or Y position on exit
🚀 Characters on moving platforms and moving one way platforms can now cross one way platforms without causing a mini jump
🚀 Adds an option to not put the teleported object on a Teleporter's ignore list to allow for instant re-entry
🚀 Button activated zones can now optionnally define a specific input they can be activated with (either default, a button, or a key)
🚀 Button activated zones can now specify an animation parameter to trigger on the character that activates them
🐎 Caches delays in the Teleporter class
🐛 Fixes the title of Minimal CharacterSwitch's card in the LevelSelection scene
🐛 Fixes an incorrect repositioning of the camera when dying within a Room system
🐛 Fixes an incorrect sorting layer on the RetroCorgiPushableBlock prefab
🐛 Fixes a few teleporters' positioning in RetroVania that could result in improper position on room entry
🛠 Requires Unity 2019.2.9f1 or higher
6.2The Symphony of the NightJanuary 2020
✨ Adds support for stairs (like in Castlevania for example), one-way slopes that the user can decide to go up or down on, or ignore and keep moving forward
✨ Adds the CharacterStairs ability that lets Characters handle the stairways mentioned above
✨ Adds MinimalStairs, a minimal level showcasing how to setup stairs
✨ Adds the CharacterSpeed ability, letting you set specific speed multipliers for each movement state
✨ Adds the Rooms system, which lets you cut your level into isolated sections, each with their own contained camera, and link them together via doors/teleporters/portals/etc, letting you create the same kind of navigation seen in Super Metroid or Hollow Knight for example
✨ Adds the RetroVania demo scene to showcase that Rooms system
🐎 Improves SurfaceModifiers' force application method
🐎 Renames Singletons into MMSingletons to avoid conflicts with other assets that wouldn't properly namespace classes
🐎 Adds more options to the SaveLoadManager, including json and encryption support
🚀 Adds an option to not instantiate characters when a scene starts but rather have them already in the scene before play
🚀 AIActionChangeWeapon can now also be used to unequip the currently equipped weapon
🚀 Adds support for multiple AmmoDisplays
🚀 Adds an option to CharacterMovement that lets you define the duration (in seconds) during which the character has to be airborne before a feedback can be played when touching the ground
🚀 Adds default bindings for xbox dpad for all 4 player input settings
🚀 Adds an option to CharacterCrouch to prevent crouching while in movement
🐛 Fixes the scale of the Mesa2 Heavy Corgi
🐛 Fixes a jump that could lead to jumps on moving platforms not happening correctly when pressing down + jump
🐛 Fixes a bug that could prevent grounded only ButtonActivatedZones from being activated when entering them via the air
🐛 Fixes the size of the HeavyCorgi in Mountains
🐛 Fixes a bug that could result in a wrong state reset after a dash done airborne and parallel to a surface close to the feet of the player character following a jump
🐛 Jumps done during the jump time window now trigger the grounded jump feedback instead of the air jump feedback
🐛 Fixes the crouch resize settings on a few playable character prefabs
🐛 Fixes some improperly setup one way platform colliders
🐛 Fixes a bug in the RetroCorgi's animator that prevented sword animations to play while in the air
🐛 Removes an outdated line in OneWayLevelManager that could cause errors to pop up with certain settings
📚 Adds comments to the Bomb class.
🛠 Requires Unity 2019.2.9f1 or higher
6.1The RefillOctober 2019
✨ Adds a new demo scene, NewCorgi3D, which introduces a brand new, fully animated Corgi3D model, along with a new environment demonstrating how you can use the engine to create 2.5D levels (2D gameplay, 3D assets)
✨ Adds a new AutoScrolling mode for OneWay levels (and completely redesigns and improves the way One Way levels work), complete with crush mechanic, on/off switch and speed control.
✨ Adds a new demo scene, "MinimalOneWayLevelAutoScrolling" showcasing that new mechanic in an auto scrolling level that gradually accelerates and stops when you reach the end, and crushes you to death if you don't jump over obstacles.
✨ Adds HealthAutoRefill, a new class that lets you handle health regen with all the options you'll need to do so
✨ Adds MMPlaylist, a new system to play songs (or any audio really) in sequence, that supports crossfading and other options
✨ Adds the CharacterDamageDash ability, which extends the regular Dash ability to add the possibility to damage stuff as you dash through it
✨ Adds an example of the MM cone of vision class in the PixelLevel demo scene
✨ Adds MMTimedActivation, a new tool to trigger events and state changes after a certain duration
✨ Adds a new feedback, MMFeedbackAudioSource, that lets you play audio sources via the feedback system
🚀 Adds the RetroPinkPlatforms to the Retro tile palette
🚀 Adds new slope tiles to the Retro tile palette
🚀 Adds an option to CharacterWallJump to optionnally reduce the number of jumps left
🚀 Adds a more explicit error message when trying to use a wrongly setup WeaponAim on an AI
🚀 Adds more options to MMSceneRestarter
🚀 Adds a TouchingLevelBounds boolean to the controller state, to (for example) act on that in an ability
🐎 Improves slope management when stick to slopes is active
🐎 Improves the way ladders work and perform. Now also allows for stacked and/or overlapping ladders, and an example of that in the Mesa1 demo scene
🐎 Characters now behave more consistently and elegantly when touching level bounds
🐎 Separates OneWayLevel logic from the LevelManager into its own dedicated class, OneWayLevelManager
🐎 Removes all remaining jpgs and mp3s and replaces them with pngs and wav files to comply with asset store guidances
🐎 Fixes compression settings on a bunch of sprites
🐎 Resets a few prefabs transforms to 0,0,0
🐛 Fixes a bug that could prevent weapon equipped animation parameters to update correctly
🐛 Removes leftover objects in RetroPush
🐛 Fixes a bug where the switch manager wouldn't properly pass current health to the next character
🐛 Prevents a few edge cases where jumping below a moving platform could cause glitches
🐛 RetroPhysicsSparksWhite particles now properly self destroy
🐛 Fixes a bug that could output an error when swapping characters to non horizontal movement ones
🛠 Requires Unity 2019.2.9f1 or higher
6.0The JuiceAugust 2019
✨ Adds the CinemachineCameraController class that provides native support for Cinemachine. All Retro and RetroAdventure demos now use Cinemachine
✨ Adds PickableActions, a new type of pickable items that triggers actions when picked
✨ Adds the ButtonActivator class, that you can put on any objects to activate ButtonActivated classes (that no longer necessarily require a Character), allowing for many puzzle creation options
✨ Adds the AppearDisappear class, that lets you create objects on an appearing / disappearing cycle, usually platforms but can be used for anything, and an example of that at the start of the RetroForest demo scene.
✨ Adds the MMFaderRound class, a new way to transition between scenes, made famous by Mario games
✨ Adds post processing volumes and layers to most scenes (still completely optional).
✨ Adds built-in support for MMFeedbacks, a super easy way to add all sorts of feedbacks (visual, sound, animations, particles, transform based, post processing, screenshakes, etc)
✨ Adds MMFeedbacks (and replaces legacy and limited sfx or particles triggers) for Health, DamageOnTouch, Weapons, ButtonActivatedZones, PickableItems, Teleporters, Jumpers and Character abilities. Need feedbacks anywhere else? Drop me an email, I'll be happy to add more.
✨ Adds a prefab finder in the editor, letting you find prefabs with missing scripts or prefabs of a certain type (useful if you want to port an old project to the MMFeedbacks system)
✨ Adds the CharacterDetector class that lets you know and trigger events when characters (and players) enter/stay/exit an area
🚀 Adds support for stompable in multiplayer games, and an example of that in the Minimal4Players demo scene
🚀 Adds a TargetOffset to AIActionShoot, allowing you to control more finely how AI characters aim at targets
🚀 Adds more options to the MMFPSUnlock component
🚀 Button Activated Zones can now self-disable after their last use.
🚀 Improves button prompts, better architecture and performance, and can't get stuck mid way when entering / exiting a zone quickly anymore
🚀 Adds the Airborne animation parameter, a boolean that gets true when your character gets higher than a customizable height
🚀 Adds a customizable ComboInProgress animation parameter to combo weapons
🚀 Improves ButtonActivated zones by adding more action requirements options, bindable actions on activation, exit and stay, and native MMFeedbacks support.
🚀 Adds more options for key bindings to InventoryInputManager
🚀 Adds an option for moving platforms to start (and keep) moving when a player collides with them, even if the player exits the platform afterwards.
🚀 Adds input buffering to CharacterHandleWeapon, allowing for easier chained attacks.
🚀 Adds scale clamps to MMSquashAndStretch, and adds Squash and Stretch behaviour to the RetroCorgi demo character
🚀 Adds a new animator for the RetroCorgi character, showcasing a different and more traditional way of setting up animations and transitions
🐎 Animation parameter strings are now hashed
🐎 ComboWeapon's ResetCombo method is now public to allow for combo cancel from external abilities
🐎 MMTimeManager now also modifies delta time values to match the new timescale, improving rigidbodies behaviour
🐎 Improves the way items get added to the inventory when existing items are already present
🐎 Adds public bounds dimensions getters to CorgiController
🐎 Moves a small value distance check in the CorgiController that increases accuracy at a small cost
🐎 Improves the accuracy of the controller's stick to slope feature
🐎 Caches a few references across the board for performance
🐎 CharacterAbility's StopAbilityUsedSfx() is now public
🐎 Health now forces any delayed destruction to cancel for added safety
🐎 Adds native support for MMFeedbacks for Weapons
🐎 Adds better fade control across the board (finer control over curves, timescale, etc)
🐎 Adds the SetTransform method to CorgiController, a way for abilities to move the controller "safely" to a new position
🐛 Fixes a bug that could cause erroneous weapon placement when using rotating models, nested weapon attachments and picking weapons from the right
🐛 Fixes a bug that would result in the incorrect force being applied when walljumping input independently on certain walls
🐛 Fixes a wrongly setup xbox axis
🐛 Fixes a few dash plus looking up related bugs
🐛 Removes missing scripts from (very) old prefabs
🐛 Fixes the comments of the Hittable class.
🐛 Fixes a bug that would happen when jumping down a 1way platform while WallClinging was set to InputIndependent
🐛 Fixes a bug that would cause a wrong wall jump when InstantAcceleration was active.
🐛 Fixes a typo in ButtonActivated's UnlimitedActivations
🐛 Prevents a bug that could cause items on a path to be dropped at the wrong position
🐛 Prevents a weapon from still applying a movement modifier after having been destroyed
🐛 Fixes a typo in MMInput
🐛 Prevents a bug that could cause inventory screens from being interactable when hidden under a certain setup
🐛 Fixes a typo in the LevelSelection scene
🐛 Fixes a bug that could prevent properly displaying melee weapons gizmos
🛠 Requires Unity 2019.2.1f1 or higher
5.5The MountaintopMay 2019
✨ Adds the PickableJetpack class, an example of how you can create pickable objects that enable abilities when picked.
✨ Adds the Hittable class, a class you can put on any Health based object, that will allow you to trigger any sort of action when hit (and adds an example of such an object, used as a hittable switch in the FeaturesWeapons demo scene).
✨ Adds a completely reworked dash, more robust, directional (free, 4 or 8 directions), with auto trajectory correction, optional forces reset on exit, and optional auto character flip.
✨ Adds a new decision, AIDecisionTargetIsNull, that returns true if the current target is null, false otherwise
🚀 Adds an option to the CharacterInventory ability to automatically equip the current weapon when switching characters via the CharacterSwitchManager
🚀 Adds an option to the WallClinginging ability to have it trigger independently from input, letting the character cling as long as it faces the wall (making wall jumps much easier if you prefer it that way)
🚀 Adds an option to the CharacterSwitchManager to share a common health through all switch characters
🚀 Adds more options to handle mobile button delay order
🚀 Adds an additional cycle option mode for moving platforms : Stop at Bounds. In that mode, moving platforms will move until they reach the end/start of the path, then wait there until you call their ResetEndReached method.
🚀 Adds frequency options to AIBrains to define separate frequencies to evaluate decisions and perform actions for finer performance control
🚀 Adds an Alive boolean animation parameter to Weapons to trigger specific animations when the character is alive or dead
🚀 Adds an option to define a spawn transform in addition to the pre-existing spawn offset for projectile weapons.
🚀 Makes sure projectiles clear their ignore list properly
🚀 Adds an option to create invulnerable Health based objects, that you can hit forever
🚀 Adds OnHitZero, a new delegate to the Health component triggered when getting damage while invulnerable
🚀 Adds support for treadmills when working with InstantAcceleration
🐛 Fixes a bug that would prevent the proper initialization of a Weapon's character animator under certain conditions
🐛 Fixes a bug that would prevent dash from working properly when instant acceleration was checked on the movement ability
🐛 Fixes erroneous projectile spawn position on non flippable weapons
🐛 Prevents (harmless) jetpack related errors on automatic character creation
🐛 Fixes the lack of a Swim ability on the RetroAdventureCorgi prefab
🐛 Fixes a bug that would prevent from being able to grip multiple Grip objects while in the air
🐛 Fixes a bug that could cause a wrong crouch exit when pushing objects
🐛 Fixes a bug that could cause dialogue zones to not reset prompt settings properly
🐛 Fixes a bug that would cause a spawn at a point of entry to always face right instead of the point's chosen facing direction
🐛 Fixes a bug that would cause inventory slots to not refresh properly when moving to the same slot
🐛 Fixes a bug in MMTriggerAndCollision's custom inspector that could result in changed values on play
🐛 Fixes UnPause events that wouldn't get triggered correctly
🐛 Fixes a bug that would cause the wallclinging sound to persist even after touching the ground
🐎 Auto generated character's rbs will now be set to never sleep by default
🐎 Improves stability for the CharacterHandleWeapon class
🐎 Renames the ability's Reset method to ResetAbility
🐎 Adds inspector test buttons for MovingPlatform's main methods
🐎 Improves performance and behaviour of the object pools
🛠 Requires Unity 2019.1.0f2 or higher
5.4The SwapperFebruary 2019
✨ Adds the zipline, a new prop class allowing you to have your character grab a bar and ride along a path between two poles
✨ Adds the CharacterSwap ability, which, along with the CharacterSwapManager, allows you to swap between multiple characters within a same scene
✨ Adds the MinimalCharacterSwap demo scene, showcasing a setup where you can swap between 5 different characters, all living in the same scene
✨ Adds a new decision, AIDecisionRandom, that randomly returns true or false based on the specified odds.
✨ Adds "Instant Acceleration" option to CharacterHorizontalMovement, allowing raw-axis style movement, like in Megaman for example
✨ Adds CharacterSimpleDive, an example of how you can easily extend an ability to change how it handles input
✨ The RetroCopter now explodes on death, showing an example of how your character can completely disappear when dying
🚀 Improves input reversal for CharacterGravity, removing the need for input reversal colliders when dealing with both gravity points and zones
🚀 Adds support for auto respawn for AIBrain characters
🚀 Improves the stability of the controller when hitting corners
🚀 Adds an Input Threshold setting to CharacterHorizontalMovement to precisely control dead zone
🚀 Adds options on InventoryWeapon picks : nothing, auto equip, or auto equip if no weapon is currently equipped
🚀 Adds new methods on Character and CharacterAbilities to change a Character's linked input manager at runtime
🐛 Fixes a bug that could occur with characters equipped with the CharacterLadder ability but no CharacterHorizontalMovement ability
🐛 Fixes a bug that could happen when unequipping a weapon and would result in the weapon not being unequipped
🐛 Fixes a bug that could prevent jumping from a Grip when certain Jump conditions were selected
🐛 Fixes a bug that prevented the x part of the Death Force to be applied in the Health component
🐛 Prevents a bug that could cause a forbidden double jump to happen when jump was limited to one and two input happened in two consecutive frames
🐛 Fixes a bug that would cause the sprite renderer to not reinitialize properly when FlickerOnHit is disabled
🐛 Fixes a bug that resulted in glitches when pressing the push button, then running, then colliding with a controller pushable object
🐛 Fixes a bug that would not properly disconnect a character from a treadmill on death
🐛 Fixes a bug that would leave an InventoryDisplay in a weird state when dropping an object mid-move
🐛 Fixes a minor typo in inventory that could cause a target equipment inventory not to be found
💄 Adds foldouts to MMTriggerAndCollision
🐎 Improves the way MovementForbidden resets the horizontal speed in CharacterHorizontalMovement
🐎 Prevents the CorgiController from trying to push static rigidbodies, avoiding useless warnings.
📦 Updates Inventory Engine to v1.2
⚠️ All Inventory Engine's Item methods must now return a bool, allowing for way more control over the result of a Use, Pick, Equip, Unequip, Drop operation, but this will force you to modify the signature of your methods if you've extended InventoryItem (just change void to bool and return true).
📦 Renames CharacterAbility's _characterBasicMovement to _characterHorizontalMovement
📦 Adds a missing namespace to the Colors helper
📦 Removes outdated CreateNewPrefab helper
🛠 Requires Unity 2018.3.4 or higher
5.3The ClimberDecember 2018
✨ Adds Ledges and the CharacterLedgeHang ability, allowing you to place ledges in your levels your characters will be able to hang from. You can then jump from that ledge, or pull yourself up.
🚀 Adds an example of a MidHeightOneWayPlatform to the FeaturesPlatforms demo scene.
🚀 Adds an option to reset camera offset on jump
🐎 Improves the reliability of the mobile buttons on certain Android devices
🐛 Fixes a bug that would cause the player to get stuck in an unstable state when dying while climbing up a ladder.
🐛 Fixes a bug that would prevent from triggering button activated zones with certain settings when arriving from the air only
🐛 Fixes the binding of the ResetSaveFiles button in the StartScreen
🐛 Prevents jumping while pushing
🐛 Fixes a bug that could happen when dying inside a Button Activated Zone when controller's collisions were off
🐛 Fixes Pushable's execution order
🐛 Removes a useless object in the StartScreen scene
🐛 Fixes a bug with CharacterPush and weapon speed modifiers
🐛 Fixes a potential null reference exception error in the Pushable class
🐛 Fixes a bug in some levels where health and jetpack bars would be invisible
🐛 Fixes a bug with combo weapons equipped as secondary weapons
🐛 Fixes a bug that would have the treadmills work at the wrong speed on super low fps conditions
🐛 Fixes a bug that wouldn't correctly unequip the current weapon when dropping it
🐛 Fixes a bug that would preventing deleting save files on certain platforms
🛠 Requires Unity 2018.2.6 or higher
5.2The Time LordOctober 2018
✨ Adds new push and pull mechanisms, and a dedicated push/pull button entry
✨ Adds the CharacterTimeControl ability, allowing a character to slow down time (or speed it up) at will at the press of a button
✨ Adds Time Zones, zones where you can define a new timescale for a certain duration, or as long as the player character is inside
✨ Adds a new AI Decision : AIDecisionLineOfSightToTarget
✨ Adds AIDecisionTargetIsAlive, a new AI decision evaluating whether or not the current target is alive
🚀 Adds a better button activation system (and a new button prompt)
🚀 Adds more security measures to the LevelManager's Points of Entry system
🚀 Adds better respawn options for MovingPlatforms
🚀 Adds a new EquippedAnimationParameter to the Weapon class, to let your animator know what weapon is currently equipped, at all times
🚀 Adds more consistency to jump conditions
🚀 Adds a Tolerance attribute to the falling platform component
🐛 Fixes a bug that could happen with long weapon delays
🐛 Fixes a bug with projectile weapon spread with only one projectile
🐛 Fixes an attachment issue with a secondary weapon
🐛 Fixes a few water and death related bugs.
🐛 Fixes a potential null state in weapons when initialized improperly
🐛 Fixes a bug that prevented jumping down from a one way platform when stuck in a tunnel
🐎 Removes GUIManager coupling in Input and Level Managers
🐎 IMButton methods are now nullable
🐎 Improves the way events are triggered.
📦 Adds a welcome window.
📦 Changes the jetpack binding from left ctrl to 2 to avoid conflicts with Unity's native shortcuts in 2018.2.11+
📦 Massive MMTools update
🛠 Requires Unity 2018.2.6 or higher
5.1The ShapeshifterAugust 2018
✨ Adds a new CharacterHandleSecondaryWeapon ability, that allows for easy handling of two weapons at once. Can serve as a basis to handle more than that if needed.
✨ Adds the CharacterFollowPath ability, allowing a character to move while following a path made of multiple nodes. Offers the same settings as a moving platform.
✨ Adds a new AI action : AIActionFlyPatrol, allowing your character to move along a path made of nodes and change direction when hitting a wall/obstacle.
✨ Adds a new class, the CharacterSwitchManager, allowing you to switch between different character prefabs for your playable character at runtime, just by pressing a button.
✨ Adds a new ability, CharacterSwitchModel, allowing you to switch your character's model (not the prefab, just the visuals) at the press of a button, at runtime.
✨ Adds a new scene, the MinimalCharacterSwitch scene, showcasing how you can switch between prefabs by simply pressing P.
✨ Adds a new scene, the MinimalModelSwitch scene. This one showcases how to switch model (not prefab) at runtime.
🚀 Adds an option to rotate a character's model when it changes direction instead of playing on its scale
🚀 Adds an option to have a movement multiplier applied while a Weapon is equipped (and not just used)
🚀 Improves slope stickyness when StickToSlopes is enabled on the Corgi Controller. Now handles "peaks" much better.
🚀 The SoundManager's MusicOn/Off methods now also mute any currently playing music if needed
🚀 Adds overridable methods to determine whether an object can be equipped or used
🚀 Adds bindings on the mobile buttons to trigger interactions.
🚀 Adds default values to some AnimationCurves that didn't have one (MMProgressBars in particular)
🐛 Fixes a case where a weapon's multiplier wouldn't be properly reset if the weapon was in auto mode
🐛 Fixes a bug that could cause erroneous binding to multiple animators with combo weapons
🐛 Prevents a bug that would allow a character to jump while in a tunnel instantly after entering it
🐛 Fixes the mouse cursor setting on the CorgiMachineGun
🐛 Fixes weapon initialization issues in some edge cases
🐛 Forces cursor visibility in the GameManager to prevent cases where the cursor would remain hidden.
🐛 Fixes a case where the melee weapon's setup gizmo wouldn't be shown in scene view
🐛 Fixes a bug where an unequipped weapon wouldn't be removed from the character properly
🐛 Fixes a missing component in the RetroAdventure demo scenes that prevented proper pause management
🛠 Requires Unity 2018.1 or higher
5.0The RevolutionJune 2018
✨ Adds a brand new Advanced AI system, with its own, easy to use state machine. Create complex behaviours, patterns and combine decisions and actions to create your own unique enemies.
✨ Adds new AI decisions : health, hit, raycast target detection, wide cast target detection, area target detection, distance based decision, time, grounded
✨ Adds new AI actions : patrol, patrol within area, move to target, jump, shoot, wait, fly, change weapon
✨ Adds a new demo scene, RetroAI, that showcases various types of AI behaviours
✨ Adds the RetroRabbit boss, the first example of complex boss behaviour in the Corgi Engine. Complete with multiple and destructible weapons, phases and movement.
✨ Adds the RetroGhost, a flying enemy that tracks you if you get close, but will stop and hide if you face it.
✨ Adds the Swordsman, a new enemy with a melee weapon (also comes in an alternate version with a gun - yes, it's a swordsman with a gun)
✨ Adds the possibility to create combo based weapons very easily, while retaining all the advanced functions of the existing weapons systems. You can even combine melee and projectile weapons into a single combo.
✨ Adds the RetroComboSword, a 3 strikes animated sword for the RetroCorgi to use
✨ Adds the CharacterSwim ability, now separate from the Jump ability, and complete with its own animations (idle/swimming) and settings (force, splashes)
✨ Adds the CharacterFly ability, allowing your characters to move freely on the x and y axis. Comes with a bunch of options, such as permanent flight or button based.
✨ Adds the CharacterGlide ability, allowing your character to glide in the air, similarly to old Aladdin games for example.
✨ Adds a new character : the RetroCopter, and its own demo scene, showcasing how the flight ability works
✨ Adds freeze frames support, to freeze the screen for a few frames (or however long you prefer) when certain events happen, such as hits
✨ Adds one up bonuses, allowing you to play with the current amount of lives , adding some, adding containers, and refilling them.
✨ Adds spread (random or not) and projectiles per shot options to weapons
✨ Adds a new HealthBar component (MMHealthBar) with much more display options (delay, bump, etc).
✨ Adds MMFlash, a new component that can be triggered via events to flash the screen (when shooting, getting hit, etc)
🚀 Adds support for placing edge colliders at mid-character height. They'll now be ignored by the controller if it's grounded, allowing your character to pass through them without affecting movement.
🚀 Adds an option allowing the creation of moving dialogue boxes.
🚀 Adds a new FacingRight animation parameter, to use for asymmetrical characters (for example)
🚀 Improves dash accuracy in the air
🚀 Adds an option to link any number of animators to a weapon
🚀 Adds an option to define the GUI's points string pattern.
🚀 Adds an option to customize stompable enemies' stomp detection raycast length.
🚀 Adds an option for forcing a facing direction when climbing ladders (useful for asymmetrical 3D characters).
🚀 Adds an option to reset character state on Gravity zones entry, preventing potential unwanted outcome with Dash for example.
🚀 Adds an option to interrupt attacks when the weapon owner gets hit
🚀 Adds an option to prevent horizontal movement (and flips) while using a weapon
🚀 Adds more extension methods to MMTools
🚀 Adds an option to have certain characters immune to knockback
🚀 Adds an option to specify an offset on Grip objects.
🚀 Improves the Retro tiles bleed to avoid white lines that may appear between tiles in certain resolutions
🚀 Adds a new controller state : ColliderResized, that lets you whether or not the controller's collider is being resized
🚀 Adds option to have the CorgiController cast rays on both sides, instead of just the movement direction.
🚀 Adds a dedicated MMTimeManager class to handle all time scale operations.
🚀 Improves DamageOnTouch's knockback direction options
🚀 Adds a debug display to the Weapon's inspector that displays its current state
🐎 Optimizes draw calls when Flicker on Hit is disabled in the Health component
🐛 Fixes a bug with push ability sounds not stopping properly when jumping out of push
🐛 Prevents healthbar from going below zero in certain situations
🐛 Fixes a missing BoxCollider2D on the default Checkpoint prefab.
🐛 Fixes the way the Health component grabs the animator, as it sometimes couldn't find one if it was nested one level or more below.
🐛 Fixes a few remaining "yield return 0" into "yield return null" to avoid generating garbage.
🐛 Fixes a bug where dropping the grenade launcher wouldn't spawn the right picker, and would cause ammo loss.
🐛 Fixes a bunch of minor crouch related issues.
🐛 Fixes wrongly set item pickers on dropped items in the Retro demo scenes.
🐛 Fixes a case where the run sfx would keep playing while crouching
🐛 Fixes a bug where gravity wouldn't be reset properly after death in a no collision gravity zone.
🐛 Fixes a bug where going off a ladder wouldn't reset the horizontal speed properly.
🐛 Fixes a case where ProjectileWeaponOffset would be applied incorrectly when flipped.
💄 Unifies gizmo colors over all components : vision is yellow, collisions is blue/cyan, force is green, obstacles detection is gray.
💄 Adds area gizmos for DamageOnTouch hurtboxes
💄 Adds better gizmos for melee weapons
📦 Renames a few MMTools classes to add a MM prefix to them, for consistency. ProgressBar becomes MMProgressBar, etc. If you get missing scripts warnings in your project after updating, that's probably the reason, and you just have to bind them again to the renamed script.
🛠 Requires Unity 2018.1 or higher
4.5.1The Animated DeathApril 2018
🚀 Adds damage and death animation parameters
🚀 Adds an option to auto destroy a weapon from the inventory if it's been depleted
🚀 Adds an option to override the default prompt gameobject for button operated zones (and dialogue zones).
🚀 Adds a dedicated interaction button, separate from jump, to use to interact with zones, dialogues, etc
🐛 Fixes the path to add Camera parallax and elements
🐛 Fixes a situation where the push animation wouldn't reset properly
🐛 Fixes a bug where the collider would remain stuck in crouch size while jumping
🐛 Fixes a rare case where the movement multiplier of a weapon would prevent movement incorrectly
🐛 Fixes a bug that could cause the TimeModifier pickup item not to work properly
🐛 Fixes a bug that could prevent from reloading when mixing inputs fast
🐛 Fixes ability sounds on the CharacterPush ability
🐛 Fixes default jump restrictions on all playable character prefabs.
🐛 Fixes a potential error with chests when trying to open them twice under certain conditions
📦 Separates third party libraries into their own folder and updates the Tilemap library
🛠 Requires Unity 2017.3 or higher
4.5The Point of EntryMarch 2018
✨ Adds a new "Entry Points" mechanism. You can now easily define multiple entry points for a scene, and link scenes together by specifying which point you want to enter the target scene at. Long story short, it's Metroid.
✨ Adds two new demo scenes to showcase the entry points system, MultipleRooms 1 and 2. They show how to create rooms inside a single scene, and how to link multiple scenes together with corresponding entry/exit points.
✨ Adds character selection. You can now easily create a character selection scene (or change character between levels, that kind of stuff).
✨ Adds a new demo scene : RetroAdventureCharacterSelection, that allows you to select one character out of four, and get to play him in all the Retro Adventure demo levels
🚀 Adds an option to get smoother jump curves when releasing the jump button early
🚀 Adds better movement speed management when using a weapon
🚀 Improves Fader's reliability and options
🚀 InputManager's ControlsModeDetection() is now public
🚀 Adds an option to mute all sfx on pause
🚀 Adds a new InitiateDash method to the CharacterDash class to make it easier for AI scripts to use dashes
🚀 Adds an option to authorize jumps only on the ground or from ladders
🚀 Adds an option to add items to the inventory before starting a level
🐛 Fixes a bug that could cause erroneous weapon rotation when certain rotation bound values were set
🐛 Fixes a bug that wouldn't reset look up distance when walking left
🐛 Fixes minor lives related bugs
🐛 Fixes the RetroCorgi's death animation
🐛 Fixes a typo that prevented points reset in the LevelManager's SoloModeRestart
🐛 Fixes situations where the RetroAdventure's points counter would be badly positioned on screen
🛠 Requires Unity 2017.3 or higher
4.4The SelectorJanuary 2018
✨ Adds a new complete demo : Retro Adventures. Made of 5 chained levels, a level selection screen, and a game over screen
✨ Adds a complete level selection screen, to gain access to all 50 or so demo levels included in the asset
✨ Adds lives management : define a number of lives, lose them all : game over. Complete with dedicated GUI and management methods to add/lose lives, gain new ones, etc.
✨ Adds stars management : grab collectible stars in level
✨ Adds progress manager : unlock levels as you progress through the game, save that progress, your current number of lives, stars, and more. Super easy to extend to save your own, specific stuff
✨ Adds a new Level End GUI screen
✨ Adds startscreen options popup
✨ Adds a new, better pause screen
🚀 Improves keyboard/gamepad support in menus (pause screen, options, etc)
🚀 Adds options for non persistent inventories
🚀 Adds an option to tweak the crouched raycast length
🚀 Adds an option on the InputManager to turn input detection on and off
🐛 Fixes erroneous Idle state when walking in a wind zone in certain conditions
🐛 Fixes a crouch bug when walking under one way platforms
🐛 Fixes a case where reloading a weapon wouldn't return the right amount of ammo
🐛 Fixes a bug that could cause glitches when using a melee weapon in a wind zone
🐛 Switching a character from AI to Player now automatically clears the PlayerID field.
🐛 An AI Character can't be mistakenly bound to an InputManager anymore
🛠 Requires Unity 2017.3 or higher
4.3The RetroNovember 2017
✨ Adds a new "Retro" environment, that showcases how to use Unity's new Tilemap system along with the Corgi Engine
✨ Adds 3 new scenes : RetroClouds, RetroForest and RetroMountains
✨ Adds a new playable RetroCorgi, complete with 16 animations and 3 new weapons
✨ Adds two new enemies : RetroBlob and RetroSpaceman
✨ Adds timed spawners, that allow you to spawn enemies (and any object you want) regularly or at random time intervals
✨ Adds a new ability : CharacterParticles, that allows you to turn a particle emitter on or off, based on what ability is currently active
✨ Adds a new demo scene : MinimalRooms, that demonstrates how you can build scenes containing multiple rooms and link them with doors, and have smooth transitions between doors.
🚀 Adds a new public method to the CorgiController to cast rays using the built-in configuration from other classes
🚀 Adds an option on Weapons to modify the movement speed while attacking, allowing you to prevent movement, have you character move slower, or even move backwards (heavy machinegun style).
🚀 Adds more options to teleporters, to allow for custom fades when entering a teleporter/door, and the option to teleport the camera to target instantly.
🚀 Adds more options to alter or reset the current controller's speed when entering a volume zone (wind, water, etc).
🚀 Adds an option to instantly reposition the camera to the player character's position on respawn
🚀 Adds an option to set a delay before a character's destroy/or/disable after death
🚀 Adds horizontal input threshold to the LookUp ability, to allow for finer tweaking of when it triggers.
🚀 Adds a public way to check the current achievement's list and access its contents' properties
🚀 Adds more options for pickable items : a new self contained picker class, and more control over picked quantities when inventory is full
🚀 Adds an option to automatically reposition a ladder's platform on start
🚀 Adds an option on AutoRespawn component to reposition to initial position on respawn
🐛 Fixes a bug that could happen when jumping at the exact same frame you start climbing down a ladder
🐛 Fixes collider size bugs that could happen when walking down a ladder from a 1way platform
🐛 Fixes a bug that would cause enemies to glitch in certain situations in one way levels.
🐛 Fixes a few polygon colliders points coordinates for slopes prefabs in the Minimal demo
🐛 Removes an unused animation parameter in the Rectangle's animator
🐛 Fixes a few minor Healthbar display timing related bugs
🐛 Fixes a bug that would sometimes cause automatic doors to open again after a player death instead of staying shut
🐛 Falling platforms now respawn correctly when the player dies while the platform is falling
🐛 Prevents character to remain stuck at crouch speed after death in certain conditions
🐛 Fixes a few respawn related bugs
🐛 Fixes a bug that would prevent the pause menu to be usable via keyboard when using inventory displays
🛠 Requires Unity 2017.2 or higher
4.2The Upside DownOctober 2017
✨ Adds a new ability : CharacterGravity, allowing you to set an individual gravity direction on each character, and interact with Gravity Zones and Points
✨ Adds Gravity Zones : zones where you can define the direction and strength of gravity
✨ Adds Gravity Points : points that will attract characters, acting as gravity sources, basically just like in Mario Galaxy
✨ Adds a new demo level : FeaturesGravity, that showcases all the new gravity related stuff
✨ Adds a new demo level : FeaturesPlatformsGravityFlipped, that showcases how the old stuff still works in gravity altered conditions
🚀 Adds NumberOfActivations and delay between uses to button/key activated zones
🚀 Adds an option to create levels where checkpoints go from right to left, or top to bottom.
🚀 Improves gripping reliability
🚀 Allows health-equipped characters to not be destroyed after death and in that case prevents AIs from remaining active after death
🚀 Adds options to prevent picking an inventory object if the target inventory is full
🐛 Fixes a bug in the OneWayLevelHorizontal where the OneWay mode wasn't set to Left by default
🐛 Fixes an initialization problem in the AIWalk script that could result in a wrong initial direction
🐛 Fixes health bar's initialization if the initial health is below top health level
🐛 Fixes parenting issue when mouse aiming using a reticle
🐛 Fixes a bug that would keep hiding mouse cursor in the Inventory GUI when that option was selected on a WeaponAim component
🐛 Fixes the Minimal one way platforms edge colliders' point positions
🐛 Fixes a bug that would not prevent the player from rotating a weapon while the game was paused
🐛 Fixes a bug that would allow to dash through slopes in certain conditions (high dash force mostly)
🐛 Fixes a bug that could cause wrong camera positioning on respawn in OneWayLevels
🛠 Requires Unity 2017.1.0p4 or higher
4.1The Lock and KeySeptember 2017
✨ Adds the ability to create and store keys, allowing you to open doors, chests, and activate pretty much everything you want.
✨ Adds the ability to create one way levels (ala Mario 1) where you can't go back on one axis. It works in all 4 directions, with the option to kill your character when going back, and various options for setting that up.
✨ Adds the FeaturesKeys demo level, showcasing in the Minimal environment how you can use the new Keys feature to create doors, chests and more.
✨ Adds the OneWayLevelHorizontal demo level, with an example of a left to right only level
✨ Adds the OneWayLevelVertical demo level, with an example of a bottom to top only level
🚀 Adds the possibility to drop or unequip weapons from the active slot
🚀 Adds Auto Respawn after X seconds capability to Falling Platforms
🚀 Adds public methods to the InventoryInputManager API to open/close/toggle the inventory panel, useful to interact with the panel on mobile for example.
🐎 Adds improved version of the item editor
🐛 Fixes a garbage collector issue in the Stompable class, that could cause (tiny) uncollected garbage
🐛 Fixes a path issue that could cause trouble when saving on some Android devices
🐛 Fixes a bug with the y offset on the WeaponLaserSight component
🐛 Fixes a bug that prevented the right speed to be applied when doing crouch > jump > walk.
🐛 Fixes a bug with auto respawnable item pickers.
🐛 Fixes a bug that could cause the follower's animation to get stuck
🐛 Fixes a bug that prevented exiting a ladder when crawling was disabled
🐛 Fixes the raycast's origin in the CharacterPush ability to account for collider offset
🛠 Requires Unity 2017.1.0p4 or higher
4.0The InventoryJuly 2017
✨ Adds the InventoryEngine, a complete inventory management solution, that will allow you to create inventories, store items in them, pick items, use them, equip them, drop them and more.
✨ Adds a new AmmoDisplay class, to display a bar and text elements showcasing the current state of your weapon's ammo
✨ Adds reload, ammunition type, magazines and no ammo left mechanisms to weapons, complete with sfx and animation
✨ Adds a new Character Ability : CharacterInventory, to link inventories to a character (player or AI)
✨ Adds a new shortcut method to switch weapon between all the weapons in your inventory
✨ Adds a new Timed Auto Respawn option, allowing you to respawn an object (enemy, crate, whatever) a certain amount of time after its death
✨ Adds a new demo scene : FeaturesInventory, showcasing how inventories and items work
✨ Adds a new demo scene : FeaturesWeapons, showcasing how weapons and ammo work, and how to combine them with the new InventoryEngine.
🚀 Improves Corgi3D demo scene's camera and enemies
🚀 Adds events to most GameManager methods so other classes can listen to these too
🚀 Characters can now be pushed off a moving platform when hit by an obstacle.
🐎 Objects pools can now mutualize their waiting pools to avoid unnecessary duplicates
🐛 Fixes a platform's collider in Mesa1 that could cause weird glitches
🐛 Fixes an issue with MMDebug.Raycast3D's direction
🛠 Requires Unity 5.6.1f1 or higher
3.3The PixelJune 2017
✨ Adds an option to force a Corgi Controller to stick to the ground when walking down slopes
✨ Adds a pixel perfect option for cameras, and a dedicated demo scene
🚀 Adds an option for moving platforms to reset position when the player respawns
🚀 Unifies animator controller parameters
🚀 Adds flicker on damage support for 3D models
🚀 Adds an option to prevent crawl but still allow crouch.
🚀 Adds a new features page
🐛 Fixes a bug that could cause sounds to keep playing after an enemy's death.
🐛 Fixes a bug with applied forces when dying while climbing a ladder
🐛 Prevents conflicts between jetpacking and gripping
🐛 Prevents the character from getting stuck in the crouch state for a few frames when diving on a moving platform.
🐛 Fixes bug logic when jumping down a platform.
🐛 Fixes a case where the jetpack wouldn't restart if you had died while still pressing the jetpack button after burning all its fuel
🐛 Fixes a typo in the CharacterSlopeOrientation ability
🐛 Fixes the WeaponStop Sfx trigger
🐛 Removes a reference to the Lazer in Mesa1
🐛 Fixes cases where the HorizontalMovement's UsedSfx wouldn't trigger back.
🛠 Requires Unity 5.6.1f1 or higher
3.2The AscentFebruary 2017
✨ Adds a way to automatically manage order in layer for sprites
✨ Adds Fall and Ascent multipliers for the CorgiController, to enable more accurate air acceleration tweaking (basically you can now jump slower and fall faster, or the opposite)
✨ Adds an option on the Health component to revive at the initial point (useful for AI controlled characters).
🚀 Adds a way to enable double jumping without allowing the player to jump anywhere. So you can only make your first jump when grounded only, but can then double jump. It's hard to explain.
🚀 Adds CollindingAbove and CollidingBelow animation parameters (in addition to the Left/Right already there). These are updated via the Character component.
🚀 Adds an option to hide mobile controls in editor, regardless of the current target build or forced mode.
🚀 Adds a new UseAnimationParameter to weapons, different from SingleUseAnimationParameter, and which is true after the weapon starts and until it stops
🚀 Improves jump feeling on pixel, hipster demos, and removes unused character prefab
🐎 Improves the weapon's state machine
🐛 Fixes a bug where CharacterLevelBounds set on an enemy would trigger the player's death/respawn
🐛 Fixes a bug that would cause glitches if the level was smaller than the camera's size.
🐛 Fixes a few bugs on semi auto weapons with delay before use.
🐛 Fixes a bug with button activated zones where AutoActivation and Grounded requirement would conflict.
🐛 Fixes a typo in the CorgiController's physics interface
🐛 Fixes incorrect weapon offset x value when the weapon is flipped.
🐛 Fixes Stompable's damage initiator attribution
🐛 Fixes ability initialization errors in Unity 5.6
🐛 Prevents an error in AIFollow if there's no LevelManager in the scene
🐛 Fixes a possible null exception on progress bars
🐛 Fixes incorrect button binding on the wooden control board at the start of Mesa1
🐛 Fixes a bug that wouldn't take into account collider offset on level bounds behaviours.
📦 Updates PostProcessing Effects to 1.0.1
📦 Switches to forced text asset serialization
📦 Removes a dependency to the CameraController from the LevelManager class.
🛠 Requires Unity 5.6.0f3 or higher
3.1.2The Time WindowFebruary 2017
✨ Adds Jump Time Windows to CharacterJump. It's an optional delay during which, after falling off a cliff/platform/whatever, a jump is still possible without requiring multiple jumps.
🚀 Adds an option to force a Character's spawn facing direction, so you can now set that from code or via the inspector.
🚀 Adds option to reset number of jumps after a stomp.
🚀 Adds font size and alignment settings to DialogueZones. You can now change these dynamically for the whole dialogue or for each dialogue line.
🚀 Adds customizable delay between a character's death and its respawn, which was previously hardcoded.
🚀 Adds a way to set the DebugOnScreen's console font size on demand.
🚀 Improves ceiling detection and generally collisions with things above the character
🐛 The ladder used sfx now stops if you stop climbing the ladder halfway through.
🐛 Fixes the ColliderCenterPosition property
🐛 Fixes a bug that would sometimes cause a character's sprite to remain stuck in its flicker color state on revive
🐛 Fixes an error that would pop when trying to access a healthbar with no healthbar in the scene (pretty uncommon, but still.)
🐛 Fixes AIShootOnSight's offset when flipped
🐛 Removes hardcoded dollar sign in the UICamera's score display.
🐛 Prevents footsteps sfx to be played when climbing a ladder.
🐛 Prevents the jetpack sfx to sometimes keep playing when dashing.
🛠 Requires Unity 5.5.0f3 or higher
3.1.1The PathfinderJanuary 2017
✨ Adds animation curves support for PathMovement's acceleration
✨Adds cycle options to PathMovement. You can now have moving objects (moving platforms mostly, but not necessarily) follow a path once, back and forth, or looping.
✨ Adds a generic version of GetComponentNoAlloc, so you don't have to cast and use typeof
✨ Adds an example of a single sprite based character+weapon rotation.
🚀 Adds better character detection to moving and falling platforms
🚀 Improves AIWalk's reliability when the game is running at low FPS
🚀 The teleporter effect can now be defined from its inspector
🚀 Adds number of jump reset option to CharacterJumpOverrides
🚀 Adds 2 new animator parameters to the core Character class : xSpeed and ySpeed, that give the current absolute speed of the character on both axis. Note that ySpeed replaces the previously used vSpeed.
🚀 Simplifies the various Speed settings, you can now simply define walk, crawl, run speeds.
🚀 Separates PathMovement from the moving platform logic, and introduces the dedicated MovingPlatform class.
🐛 Prevents characters from sometimes remaining invulnerable after death.
🐛 Fixes a bug that would sometimes cause stompable objects to not give knockback force properly
🐛 Fixes a bug in the AchievementsManager that could cause an exception on Android
🐛 Improves/Fixes DamageOnTouch collision detection when colliding with more than one damageable object
🛠 Requires Unity 5.5.0f3 or higher
3.1The AchieverJanuary 2017
✨ Adds a complete achievements system
✨ Adds a new Character Ability : Slope Angle Orientation. Now you can have your character perpendicular to the slopes it's walking on at all times. It can even orient the weapon accordingly.
✨ Adds a new events system, to further improve extendability
✨ Adds custom 5.5 splashscreens
✨ Adds new Post Processing Effects support
✨ Adds delay before use to weapons
✨ Adds OnRespawn delegate to the Health class (which fixes enabling/disabling AI agents repositioning)
✨ Falling platforms can now benefit from the AutoRespawn component too
🐎 Removes all remaining garbage generation from CorgiController, now 0% footprint
🐎 Modularizes the LevelManager class' Start method.
🐎 Changes ObjectPooler's initialization from Start to Awake for consistency
📦 Adds support for Unity 5.5
📦 Separates prefabs from resources for lighter builds.
📦 Removes cinematic effects
🐛 Fixes gravity reset after climbing a ladder while wallclinging
🐛 Fixes projectile's invulnerability when invulnerability duration is zero
🐛 Fixes the Rectangle demo character's slope angle speed factor
🐛 Prevents autodetect moving platforms from moving when jumping onto them from underneath.
🐛 Prevents errors when using singletons in edit mode.
🐛 Prevents DamageOnTouch from triggering a collision if health is below zero
🐛 Fixes a bug that wouldn't detach you from a moving platform when exiting it by walking on another platform
🛠 Requires Unity 5.5.0f3 or higher
3.0.1The DetachmentDecember 2016
✨ Adds a new Character Ability : CharacterPush. It's an optional ability that will allow you to override push settings and have a push animation. For the animation to work, your pushable objects will need to have a Pushable component.
✨ Adds a new option to the CorgiController to select how you want 1way and moving platforms detachment to work : via whole layer or only the exited platform
✨ Adds states to mobile buttons
✨ Adds gamepad and keyboard support to the pause menu
✨ Adds more death options for your characters : enable/disable collisions on death, add a death animation
✨ Adds a native Spine character (you'll need to add the runtimes yourself to be able to use it)
🐎 Improves damage on touch's knockback
🐛 Fixes some edge collisions when walking right on a moving platform
🐛 Fixes the possibility to jump while crawling through a tunnel
🐛 Fixes a state transition when starting to climb a ladder
🐛 Fixes melee weapon's knockback values
🐛 Fixes camera jitter on LevelBackground
📦 Removes a useless meta file
🛠 Requires Unity 5.4.1f1 or higher
3.0The Enemy of the StateNovember 2016
✨ Adds local multiplayer support
✨ Adds TheHunt, a demo 4vs4 multiplayer 3D level
✨ Completely new weapon system. Now you can create any weapon you want, whether melee or projectile based. Aim has been reworked too, with the addition of mouse support, and twin stick mode. You can even add a crosshair to make sure you aim where you want.
✨ Adds laser sight to weapons
✨ Adds bi-directional ladders (think Super Mario World fence)
✨ Adds (optional) health bars, either always visible or only shown after a hit for a custom duration
✨ Adds "Generate Character" button on Characters, that will automatically generate AI or Player Characters, with all settings and components, ready to play
✨ Adds a new simple class you can add to any object and it'll respawn on player's death (and removes the old corresponding system)
✨ Adds an option for bonus blocks to reset on player respawn
✨ Adds a default animation controller, to serve as a basis so you don't have to copy/paste all the animation parameters
✨ Adds WallClingingOverrides : you can now make a particular wall impossible to wallcling to, or more or less slippery than a regular wall.
✨ Adds a new PickableItem class so you can easily create your own coins and stuff
🚀 Improves checkpoints, now collider based, chainable (you define their order), and now working on x, y or z axis for respawns
🚀 Adds an option to set the font on the dialogue zone directly
🚀 Adds an option to force grounded state on button activated elements
🚀 Improved ladders : easier setup, more consistent behaviour
🐎 Complete performance overhaul, now even more mobile friendly
🐎 Adds modular behaviour components for characters
🐎 Adds state machine
🐎 Adds events when entering/exiting states (and more)
🐎 New input manager class, with easier setup and new support for axis as buttons (xbox triggers for example), and direct choice between D-pad or joystick
🐎 Improves progress bars, simplifying setup and use
🐎 Greatly simplifies the health and damage system
🐎 Improves health system : easier setup and more options (invincibility frames duration, knockback force on hit, flicker duration, etc)
🐎 Better dash : now distance based, for more consistent behaviour
🐎 Simplifies AI scripts, combining AISimpleWalk and AIMoveOnSight into AIWalk
📚 Adds a new, complete, functional documentation
📚 Adds lots of help boxes to most components
📚 Adds a menu that allows to hide/show help texts in the inspector, and provides links to documentation, videos etc
📚 Adds 100% comments code coverage
🐛 Fixes a character flicker bug
🐛 The engine will now emit warnings if the level manager is not setup properly
🐛 Moving platforms can now be used and duplicated like regular prefabs, no more need for breaking them
🛠 Requires Unity 5.4.1f1 or higher
2.2.5The Face OffSeptember 2016
🐛 Fixes a bug on the Pixels demo scene
🐛 Fixes a hierarchy issue with the Spine based demo characters
📦 Removes TheHunt, an incomplete level released too soon
🛠 Requires Unity 5.4.0f3 or higher
2.2.4The ReversalSeptember 2016
🐛 Fixes character flips bugs introduced with Unity 5.4
🛠 Requires Unity 5.4.0f3 or higher
2.2.3The Summer PartyAugust 2016
🐛 Fixes a flickering bug
🐛 Fixes a bug that could trigger hurt effects even if the character's health was below zero
🐛 Fixes a bug with AI hole detection and 1-way platforms
🛠 Requires Unity 5.3.5f1 or higher
2.2.2The FixerJuly 2016
🐛 Fixes bugs that could happen when pressing pause while on a moving platform
🐛 Fixes a sync bug between parallax elements and camera
🐛 Fixes a bug with AI hole detection and 1-way platforms
🐛 Fixes a bug that could cause a faster than normal fall when colliding with the ceiling
🐛 Fixes a bug that would prevent interaction when triggering a dialogue zone while falling/dashing
🐛 Fixes a bug that prevented exiting a rope when the player had a max number of jumps of one.
🐛 Prevents the player from jumping while jetpacking, which would trigger the jump sound uselessly
🐛 Prevents the player from bouncing back when jumping near a corner
🐛 Fixes non smooth movement dashes
🐛 Fixes FadeOut on FinishLevel class
🐛 Fixes an animator bug on the Minimal character and ladders
🛠 Requires Unity 5.3.5f1 or higher
2.2.1The MultidirectionalJune 2016
🐛 Fixes a bug that prevented multidirectional shooting on mobile
🛠 Requires Unity 5.3.4f1 or higher
2.2The JoyMay 2016
✨ Removes CrossPlatformInput mobile controls and replaces them with new, faster and simpler mobile controls, with better multi touch support
✨ Adds a mobile joystick in addition to a mobile 4 direction pad
🐎 Improves the InputManager for better extendability
🚀 Adds customizable loading text on the loading screen
🚀 Adds slope angle speed modifier, tweaked via an animation curve in the inspector. Walk faster (or slower) when going down a slope, and slower (or faster) when going up.
🚀 The force applied when the character dies can now be defined in the inspector
🚀 Adds an option to automatically disable camera effects on mobile
🐎 Adds checks for material existence
🐎 Improves crouching : top collision detection is now raycast based (like everywhere else), no need for a HeadCollider anymore, just specify your crouched collider dimensions and the engine will take care of the rest
🐎 Extracts audio playbacks into their own methods
🐎 All movement that was previously handled in FixedUpdate is now handled in Update, which removes stuttering glitches on some devices
📦 Removes old image effects and replaces them with Unity Cinematic Effects
🐛 Fixes situations where dashing in a gravity modified zone would create weird behaviours. Note that GravityActive is now set directly on the CorgiController, not on the CharacterBehaviour anymore.
🐛 Fixes wallclinging issues with some Android devices
🛠 Requires Unity 5.3.4f1 or higher
2.1The Everything EverythingApril 2016
✨ Adds surface modifiers : you can now create slippery surfaces like ice, or sticky ones like mud, and much more!
✨ Adds a whole new environment, perfect for fast prototyping
✨ Adds a new level showcasing all the platform-related features of the engine
✨ Adds treadmills : you can now have surfaces apply forces to your characters. Create treadmills, trampolines, and anything you can think of!
✨ Adds much better moving platform. You can now have them loop, wait for your character, pause at certain points. Plus they're now super easy to setup!
✨ Adds support for a dangling animation when you're close to an edge (detection distance is of course customizable)
✨ Adds an animated scene loading manager
✨ Adds old school ropes, and a new ability to add a grip to any object for your character to hang from
✨ Adds button handled portals
✨ Adds an optional FPS counter
✨ Adds vibration on iOS/Android on death
✨ Adds a new method to debug variables and the likes directly on screen.
🚀 Jetpack now doesn't necessarily require a particle emitter (it'll still look better with one)
🚀 Improves the possibilities to fine tune wall jumps
🐎 Makes level bounds optional for all previous dependencies (less coupling)
🐎 Greatly reduces the weight of all visual assets without losing too much quality, for lighter builds
📦 Removes dependency on material color on CharacterBehavior
📦 Adds MMTools namespace, which regroups various helper classes for cleaner code organization
📦 Adds a much cleaner folder structure to the project, now sorted by demos
📦 Adds a warning when the x offset of a CorgiController’s box collider ain’t set to zero.
🐛 Fixes a bug that could happen when the jetpack force wasn't strong enough to lift the character from the ground
🐛 Fixes a bug that could glue you to a moving platform when jumping up
🐛 Fixes a bug that could happen when jetpacking from a moving platform
🐛 Fixes a bug where a flickering enemy could end up with a wrong color
🐛 Fixes a bug where you could stomp on really small enemies but still get hurt
🐛 Fixes a bug that sometimes prevented playable characters animations now stop walking when colliding with a wall
🐛 Fixes a bug with AutoDestroyParticleSystem introduced in a recent Unity update
🛠 Requires Unity 5.3.4f1 or higher
2.0The Third DimensionFebruary 2016
✨ Adds support for 2.5D games
✨ Adds autoskippable splash screen
✨ Adds proper moving 1-way platforms
✨ Adds new startscreen
✨ Adds a new level selection screen
🚀 Adds a much better proportional jump (the longer you press, the higher you go), with a better feeling than before
🚀 Adds new states for better animations : you can now detect if your character is juming, double jumping, or just started jumping this frame.
🚀 Adds the possibility to offset the shoot origin for AI ShootOnSight enemies
🚀 Adds the possibility to offset the view origin for AI MoveOnSight enemies
🐎 Adds MoreMountains.CorgiEngine namespace to all classes
🐛 Fixes the clamping of CorgiController's velocity
🐛 Removes the outdated maxspeed reference
🐛 Fixes a bug that sometimes happened when firing a weapon and triggering a dialogue zone
🐛 Fixes a bug that could allow to jump through walls from a moving platform
🐛 Fixes a bug that would sometimes prevent a playable character to get hit by a rocket
🐛 Fixes a bug that would sometimes prevent a playable character to get detected by a jumper
🐛 Fixes a bug that could cause higher jumps when walking up a slope
🛠 Requires Unity 5.3.1p1 or higher
1.7.1The Almost ThereDecember 2015
🚀 Adds more customization options to AISimpleWalk, allowing for more varied agents
🚀 Adds an option to draw (or not) collision raycast on CorgiController
📦 Adds support for Unity 5.3
📚 Updates features and documentation links in the readme
🐛 Fixes a bug that could happen when rapid firing dialogue zones
🐛 Prevents a collision bug that could happen when going down a 1-way platform near a wall
🛠 Requires Unity 5.3.0f4 or higher
1.7The ExtendablesOctober 2015
✨ Adds the Super Hipster Bros level, basically a Super Mario-like level
✨ Adds the Brobro level, basically Broforce
✨ Adds a mobile pause button (press the bottom left corner)
✨ Adds a mushroom power up, a la mario, that doubles the size of the player
✨ Adds a behavior that prevents AI agents from falling from platforms if desired
✨ Adds a pause menu (restart level, exit...)
✨ Adds a level selection screen
🚀 Particle effects in CharacterBehavior are now optional
🚀 Adds more control on proportional jumps
🐎 All classes are now extendables, and all methods overridable.
🐎 Adds much more resilience to lag spikes, cpu freezes etc
🐎 Removes coupling, namely dependencies on GUIManager and Animator
🐛 Prevents enemies from scaling back to 1,1,1 after a respawn
🐛 Fixes a bug that prevented proportional jumps to work in some cases
🐛 Fixes a bug with initial health
🐛 Fixes a bug that could happen when exiting a ladder that was not anchored to the ground
🛠 Requires Unity 5.2.0f3 or higher
1.6.1The Camera CrewSeptember 2015
🚀 adds camera offset settings
🚀 adds slope angle to the corgi controller inspector
🐛 fixes a bug that could cause enemies to spawn at weird positions right after a build
🐛 minor level design fixes on the demo levels
🛠 Requires Unity 5.1.2f1 or higher
1.6The PortalsAugust 2015
✨ Adds teleporter system, now you're thinking with portals
✨ Adds pushable blocks, and more generally the ability to interact with physics objects
✨ Adds a UseDefaultMecanim behavior parameter for those of you who want to implement their own animation methods
🐛 Fixes a collision bug that could cause the player to go through the floor while jumping on walls at a certain angle
🐛 Fixes (actually finally takes into account) the GoesRightInitially boolean on AISimpleWalk
🐛 Fixes a bug with the bonus blocks animation
📚 Adds tutorials on YouTube for teleporters and physics
🛠 Requires Unity 5.1.2f1 or higher
1.5.4The WatchJune 2015
✨ Adds bonus blocks that can spawn bonuses when hit from below
✨ Adds a tech demo on the Play Store
✨ Adds a method + inspector checkbox to turn off Sfx
📚 Adds a more detailed FAQ
🐛 Fixes a bug that caused the player to go through a moving platform on Mesa2.
🐛 Prevents the player from going through the ground when jumping down from a 1way platform and then dashing down instantly
🐛 Fixes a bug when jumping vertically to the edge of a block that would sometimes push the character back
🐛 Fixes a bug that could slightly reduce the jump height when jumping from a moving platform
🐛 Fixes a bug that could occur when jumping onto a 1way platform from below while not completely reaching its height, which resulted in the character being pushed up in the air
🐛 Fixes a bug that caused mobile controls to appear really small on some devices
🛠 Requires Unity 5.1.1f1 or higher
1.5.3The BonusJune 2015
✨ Adds basics for a "bonus block". More to come.
📦 Adds support for Unity 5.1
🐛 Fixes a bug that sometimes prevented to jump while on a moving platform going up
🐛 Fixes "end of run" animation on some models
🐛 Fixes compatibility bugs with the recently released Unity 5.1
🛠 Requires Unity 5.1.0f3 or higher
1.5.2The ElevatorJune 2015
✨ Adds vertical moving platforms
✨ Adds falling platforms : walk on them, they start shaking, after a customizable delay, they start falling (or going up, whatever you want).
🐛 Fixes a bug that could happen with ladders when having a tall playable character
🛠 Requires Unity 5.0.1f1 or higher
1.5.1The Stable RockMay 2015
✨ Adds the sandbox level
✨ Adds vertical moving platforms
✨ Adds falling platforms : walk on them, they start shaking, after a customizable delay, they start falling (or going up, whatever you want).
✨ Adds a smooth movement option to the character behavior, that, if set to false, removes the interpolation for horizontal movement
🚀 Removed wall clinging permission on the pixel corgi
🐎 Removes the motion blur effect on all cameras, due to incompatibility with some Intel GPUs
📚 Updates legal mentions on the asset store
🐛 Fixes a bug that caused the player to be pushed fast to the ground when touching the ceiling in certain occasions
🐛 Fixes a bug that would cause the main character to fall through the ground when walking towards certain surfaces
🐛 Prevents from triggering dialogue zones while jumping/dashing/being dead
🐛 Fixes a bug that could happen with ladders when having a tall playable character
🐛 Fixes the "touch the ground" particle effect position on tall characters
🛠 Requires Unity 5.0.1f1 or higher
1.5The FurnaceApril 2015
🐎 Adds tons of improvements to the collision detection, better slope management, and overall even tighter controls
✨ Adds the Stompable class, that you can add to enemies (or chests or whatever you want). An object with the Stompable class can be jumped on. Each jump pushes the player back in the air, and damages the object. This allows for goombas-style enemies.
✨ Adds a new (stompable) enemy : the blob
✨ Adds wind zones, that make your character float up in the air
✨ Adds easily customizable text popups and dialogues
✨ Adds lava level
✨ Adds mountain level
✨ Adds custom inspector for Corgi Controller states
✨ Adds a better level background system : easily add backgrounds, make them follow the camera, even in edit mode
✨ Adds an 8-bit style, tile based level, and a new retro corgi character
✨ Adds spine support
✨ Adds 3 new characters : Space Chicken, Space Pig and Space Cat
✨ Adds new NPCs : Heavy Corgi and The Dude
✨ Adds visual effects (motion blur, bloom, flares and grain) to the camera
✨ Camera now has options to zoom / unzoom according to the character's speed (the faster you run, the further you see)
✨ The player can now move the camera when looking up or crouching
🐛 Fixed a bug that caused the player character to go crazy when on a crate
🐛 Fixed a collision bug that happened when climbing down a ladder
🐛 Fixed a bug that happened when dying underwater and respawning underwater, which messed up the gravity
🐛 Fixed a collision bug that could happen when jetpacking up a steep slope
🐛 Fixed a bug that allowed the player to climb slopes at an angle over the maximum slope angle
🛠 Requires Unity 5.0.0f4 or higher
1.4.1The Sloppy OneMarch 2015
📦 Adds Unity 5 compatibility.
🐛 Fixes a bug when the player pressed down on a slope (caused by a change in Unity5 in the offset of animated collider2D).
🐛 Fixes a bug that caused the player to jetpack through certain slopes.
🐛 Fixes a bug that prevented jumps in certain situations.
🐛 Fixes a bug that allowed the player to still shoot/dash/etc when dead.
🐛 Fixes a bug that prevented the player to climb up a ladder while grounded
🛠 Requires Unity 5.0.0f4 or higher
1.4The RocketeerMarch 2015
✨ Jetpack upgrade, with fuel management. You can now optionally have limited fuel, which triggers a new fuel bar in the HUD, you can customize the fuel duration and cooldown when empty0
✨ Adds current level display to the GUI
🚀 Adds current level display to the GUI
🐎 Replaces the character controller with a brand new one, more robust.
🐎 Jetpack, guns and melee systems are now independent from the character behavior
🐛 Fixes a bug that happened when trying to respawn a dead enemy
🐛 Fixes a bug that caused the characters to slowly move down into platforms
🛠 Requires Unity 4.6 or higher
1.3The ArtificialFebruary 2015
✨ Adds methods to fade the screen to black (or any color of your choice)
✨ Adds bullet time collectible item
✨ Adds bubble-filled water bodies, swimming, and jumps out of water
✨ Adds the possibility to turn character actions on or off (can the player double jump ? dash ? shoot ? etc...)
✨ Adds a new AI : the follower. Basically a clone of the main character, that tries to follow it everywhere.
🚀 Adds better support for 1 way (or 2 ways) slopes
🚀 Adds a "number of jumps" option for the character.
🚀 Enemies now have customizable health by default
🐎 Large refactor of most core classes. Note that this will break retrocompatibility. Also, to avoid confusion, throughout the whole engine, "player" now means the actual (human) player, "character" now means the character on screen
🐎 Adds easier and better sound management. Separate classes for Sfx and Music, options to have music on or off, set music and Sfx volumes independently
📚 Complete documentation
📚 All classes are now filled with tons of comments
🐛 Fixed a bug that happened while jumping down a 1way slope
🐛 Fixed a bug that happened when the player collided with a moving platform
🐛 Fixed a bug that happened when changing weapon while shooting
🐛 Fixed a bug that sometimes happened when launching scene 2 directly
🐛 Fixed a bug with the dash cooldown (that simply didn’t work)
🐛 Fixed a bug - and simplified - the CanJump behaviors
🛠 Requires Unity 4.6 or higher
1.2The LoadedJanuary 2015
✨ Adds a collectible weapon upgrade, which allows the player to switch weapon
✨ Adds a new weapon : the laser gun
✨ Adds independent input management
✨ Adds pause system
✨ Adds melee attacks
✨ Adds 8-way shots, or free 360° shots
✨ Adds the ability to jump down from 1-way platforms
✨ Fixes editor errors at startup
🛠 Requires Unity 4.6 or higher
1.1The MechanicJanuary 2015
✨ Adds better mecanim
✨ Adds button press proportional jump
✨ Adds breakable items
✨ Adds 4.6 GUI support
🛠 Requires Unity 4.6 or higher
1.0Initial ReleaseDecember 2014
✨ Character behavior : jump, dash, shoot, run, crawl, and much more
All More Mountains assets receive regular updates, which always include bug fixes for all known issues at the time of the update, compatibility with new Unity releases,
improvements on existing features, and of course new features. All these updates, for all these assets, have always been free. You can see how often updates get released
in the graph below.
I'm always working on new features. Here's a roadmap for the incoming ones.
Warning : I won't be held responsible if some of these items never make it to a release.
Buy this asset (and anything, really) for what's been released, not what's possibly coming.
(Still, I'll probably be doing most of these.)