TopDownEngineExtensions: community add-ons for More Mountains' TopDown Engine
TopDown Engine extensions created by the community
At a glance
- What is it?
- This repository collects community-written extensions for the TopDown Engine, More Mountains' top down games solution for Unity, as a flat list of self-contained folders per feature. It suits a Unity developer already using the engine who needs one specific behaviour, and it is a curated collection rather than a package with a versioned API.
- Who is it for?
- TopDownEngineExtensions fits a Unity developer who already owns the TopDown Engine and needs one or two specific behaviours that the base engine does not cover, such as angle-based auto-aim, an AI Brain pathfinding action or a prone character state. It does not fit a team that wants a maintained, versioned dependency with a single API, because this is a folder-per-feature collection with no shared release scheme.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 142 days ago.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A folder per feature, and no shared version scheme
The repository contains community-created extensions for the TopDown Engine, More Mountains' bestselling top down games solution, which is available on the Unity Asset Store. The extensions can be anything, from an alternate take on an existing Character Ability, to brand new ones, or new ways to use the engine.
The structure is the whole design. Each extension is its own top-level directory with a name matching the feature, and there are around sixty of them in the listing, from AOEWeapon and AngleBasedAutoAim through to Perspective, RootMotionMovement and Stamina. There is no src/, no package manifest, no build output and no versioning scheme across the collection.
That has a clear consequence for how you use it. You do not add this repository as a dependency. You open the folder for the one extension you want, read it, and copy the scripts into your own project. The absence of a shared build or package structure is not an oversight, it is what makes it possible for sixty people with different coding styles and different engine versions to contribute without anyone having to maintain a unified codebase.
The cost is that nothing tells you whether an extension will work with the engine version you have, or with the other extensions you copied in. Each script extends the engine's own classes, so the compatibility question is really about the base engine API, and the answer is not in the repository. The readme lists an issue tracker link for one particular extension, AdvancedCharacterGridMovement, which suggests that is where to look for problems with a specific piece.
The primary language is C#, the licence is MIT, the default branch is master, the last push was on 2026-06-03, and there are no GitHub releases. The repository description says only that these are extensions created by the community.
The weapon and aiming extensions, and how they differ from the base
The largest group of extensions touches combat, and the readme is precise enough to tell you which base class each one extends.
AngleBasedAutoAim, by AlexanderGheorghe, extends WeaponAutoAim2D and WeaponAutoAim3D so that they aim at the target with the smallest angle between the movement direction and the character-target direction, instead of at the closest target. That is a different question from the one the base class asks, and it is the kind of change you want when the closest enemy is behind you and the one in front is barely off-axis.
AOEWeapon, by Sargorath, is a weapon class aimed specifically at allowing the creation of various projectile weapons, from shotgun to machine gun, via plasma gun or rocket launcher. The base engine has a single weapon behaviour; this generalises it into a family.
Then there are the extensions to the weapons that already exist. DeflectProjectiles makes all projectiles deflect off the objects they deal damage to. ProjectileHoming makes projectiles track. Boomerang makes a projectile decelerate and return to its owner when it stops, and works in both 2D and 3D, and it includes a 3D demo, a unitypackage for easy installation and a model from The Base Mesh. EllipticMotion makes objects follow an elliptic local space path, which the readme says is useful for waving projectile patterns. CharacterWeaponMagazineMemorizer keeps the remaining ammo on a weapon so that switching back to it retains the current ammo instead of a full clip, which is a small quality of life fix that you would otherwise write yourself.
PredictiveAim3D, ForcePush, MMFeedbackVariablePitchSound and MMFeedbackLootDrops round out the combat and feedback group. MMFeedbackLootDrops is an MMFeedback that spawns loot, being item pickers or any object, in a certain radius at weighted chances.
The interesting pattern is that most of these are small, surgical changes to one class with a clear intent, and the readme describes each in one sentence that names the base class and the behavioural difference. That is a good sign for a collection like this, because it means you can tell from the description whether you want the extension before you open the code.
AI extensions, pathfinding and the performance lever
The AI group covers three different things: pathfinding integration, decision logic, and runtime cost.
For pathfinding there are two separate entries. AIAction2DPathFinding, by Gabriel Elkind, is an A* Pathfinding Project integration. AStar Pathfinder3DAiAction, by ZUR1EL, is an AI Action to add to your enemy AI Brain so that A* can control them. The distinction is 2D against 3D, and it reflects the fact that A* Pathfinding Project ships its own 2D and 3D implementations with different APIs.
GridPathfinding, by AlexanderGheorghe, is the grid versions of CharacterPathfinder3D and CharacterPathfindToMouse3D, which is the base engine's own pathfinding used when you want a grid rather than a navmesh.
For decision logic, AIDecisionComposite by AlexanderGheorghe returns based on the values of other AI decisions, and can toggle between AND-ing and OR-ing the decisions together and negating specific decisions. AIDecisionPlayerIsInSameRoom, by Gigacee, returns true if the player is in one of the specified rooms and false otherwise. AIActionMoveTowardsPlayer2D, by Efreeti, makes the character move up to the specified MinimumDistance in the direction of the target. AIActionAlertNearbyEnemies and RoomPlayerTriggerEnter are in the directory listing as well.
The performance entry is the one to highlight. AI Performance Manager, by Force, is a system used to disable AIs based on distance to the player for better performance. That is a specific, measurable technique rather than a vague optimisation: an enemy that the player cannot see does not need to think. On a scene with many agents it is the kind of component that determines whether the frame budget holds.
The AI Brain Extensions are deliberately hosted separately, at a separate GitHub repository under TheBitCave, and provide a way to interact with AI Brains using visual nodes. The readme points there rather than including them, which is the right call for a collection that is already spread across many contributors.
Character extensions, and the ones that change how movement feels
The character and movement group is where the extensions stop being small and start changing how the game plays.
AdvancedCharacterGridMovement, by JCPhlux, is an enhanced version of CharacterGridMovement allowing more control over the movement of the character, as a single script that works for both 2D and 3D. Its options are worth reading because they show how much of grid movement is arbitrary. Diagonal Movement allows diagonal movement when true. Ignore Cardinal Obstacles allows diagonal movement even if blocked by Cardinal Direction Obstacles, and the readme flags that this is still a work in progress for 3D movement while it works for 2D. And Ignore Cardinal Obstacle Movement State is a configurable movement state to set when moving through a cardinal direction obstacle, with the example of setting it to Jumping so the character jumps through the obstacle.
That third option is the interesting one, because it shows the extension was written by someone who cares about how the movement reads rather than just whether it works.
ClimbingController3D, by AlexanderGheorghe, is an extension of TopDownController3D giving the option, activated by default, to have CharacterDash3D climb slopes instead of stopping at obstacles and to move the character downwards while dashing, at a configurable speed. It uses CharacterController.Move(), which the readme explains means you no longer need to put objects to avoid when dashing on the layers of the obstacles layer mask, because the CharacterController handles collisions.
The rest of the character group follows the same surgical pattern. CharacterProne is a duplicate of CharacterCrouch that allows different animations, with the Animator parameters Prone and ProneMoving, and different collider resizing, for making a character prone like in Metal Gear Solid. CharacterRunWhenFaceDirection3D, by Aitor F., extends CharacterRun so the character only runs when facing the movement direction, with a small angular threshold, which is useful with a Weapon using AutoAim or when AimControl is set to Secondary Movement. CharacterInventoryWeaponChanger lets you use the scroll wheel or number keys to change to any weapon in your MainInventory. CharacterMultiButtonActivation extends CharacterButtonActivation so characters can interact with multiple ButtonActivated objects they are touching. CharacterOrientation3DExtensions adds extension methods for forcing character orientation towards a transform. ConveyorBelts provides 3D conveyor belts with implementations for moving Characters and Rigidbodies. RootMotionMovement, ReferenceFrameCharacterMovement, Perspective, ForcePush, SpeedMultipliers and Stamina are in the listing too.
Practical limits, and how to judge an extension before you copy it
Three boundaries are visible from the repository.
The first is that every extension depends on the commercial asset. The TopDown Engine is a paid Unity Asset Store product, and these scripts extend its classes directly, so there is nothing to evaluate here without owning the engine. If you do not have it, the entire repository is inert.
The second is the absence of compatibility information. The readme describes behaviours and features, not engine version requirements. Some extensions even name their own rough edges, such as AdvancedCharacterGridMovement noting that Ignore Cardinal obstacles is still a work in progress for 3D movement. But there is no per-extension version matrix and no CI, because there is no build. So the verification you end up doing is empirical: copy the scripts in, open your scene, and see whether the behaviour is what you expected.
The third is the licence and the authorship. The repository is MIT licensed, and the readme credits each extension to a named author, from AlexanderGheorghe who appears on a large share of the entries through Sargorath, JCPhlux, Efreeti, Dougomite, Aitor F., Force, christougher, ZUR1EL, Gabriel Elkind and Gigacee. Some entries also bring their own assets, such as the boomerang model from The Base Mesh and rope animation for the grappling hook. The readme notes that the Boomerang extension includes a unitypackage for easy installation, which is the most convenient of the installation styles present.
Given that, the sensible evaluation order is narrow. Find the one behaviour you are missing, read its description, open the folder, and check the code against the engine class it extends. The description quality is good enough that most of the time you will know within a minute whether the extension is what you want.
And if what you need is not in the list, the readme frames the point of the collection: the extensions can be anything, from an alternate take on an existing Character Ability to brand new ones or new ways to use the engine. This is a gallery of what other people have needed, and the most common reason to end up here is that you want the same thing and somebody has already written it.
Editorial conclusion
TopDownEngineExtensions fits a Unity developer who already owns the TopDown Engine and needs one or two specific behaviours that the base engine does not cover, such as angle-based auto-aim, an AI Brain pathfinding action or a prone character state. It does not fit a team that wants a maintained, versioned dependency with a single API, because this is a folder-per-feature collection with no shared release scheme. Before copying anything in, check the extension against the engine version you have, since the code targets the engine's own Character and AI Brain classes and each extension was written against whatever version its author was using.
Frequently asked questions
What is TopDownEngineExtensions and what is it for?
It is a collection of community-created extensions for the TopDown Engine, More Mountains' top down games solution for Unity. The extensions can be an alternate take on an existing Character Ability, a brand new ability, or a new way to use the engine, and each lives in its own top-level folder.
Which AI and pathfinding extensions are included?
There is an A* Pathfinding Project integration for 2D, an AI Action for 3D that lets A* control an enemy AI Brain, grid versions of the engine's own pathfinder classes, decision logic including a composite that can AND, OR and negate other decisions, and an AI Performance Manager that disables AIs by distance to the player.
How do I install an extension from TopDownEngineExtensions?
There is no package to install. The repository is a folder per extension, so you copy the scripts for the extension you want into your own Unity project. The Boomerang extension also ships a unitypackage for easier installation.
Does TopDownEngineExtensions need the paid TopDown Engine asset?
Yes. The extensions extend the engine's own classes such as Character, AI Brain and WeaponAutoAim, so the TopDown Engine from the Unity Asset Store is required for any of them to function.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/reunono-topdownengineextensions)Was this useful?