Unity RTS Engine

The Unity RTS Engine provides all the features required to create your own RTS game and customize it. It handles map creation, factions, AI, buildings, units, combat, tasks, resources, UI, singleplayer, multiplayer and much more!

Available on the Asset Store

Features:

  • Maps & Factions:

  • Create and customize unique maps.

  • Create factions and customize each one by having assigning a unique set of buildings, units, tasks and limitations.

  • Customize NPC factions and control their behavior completely from the inspector to set up multiple difficulty levels and get a different experience each time while playing against NPC factions.

  • Have control over all aspects of the NPC factions decision making process by tweak AI-related components easily from the inspector and set up various AI difficulty levels to provide a different experience within each game.

  • Resources:

  • Create and customize different types of resources for the factions to collect and use them to place buildings, launch tasks and create units.

  • Make resource collectors gather resources automatically or have them drop them off at a building when reaching a certain amount.

  • Add Treasure objects in a map and reward the faction that claim them with resources.

  • Buildings:

  • Create buildings and make each one deliver a different task for the faction: increase the faction slots, attack enemy units, upgrade units/other buildings, generate resources, teleport units, act as a hideout for units and much more.

  • Customize buildings even more by adding health states and construction states which allow the building to display its current health state by hiding/showing special effects and/or different parts of its model.

  • Each faction have borders in the map which allow the faction to exploit resources and place buildings inside the territory defined by the borders.

  • Enable borders in the map to either allow factions to claim territories in the game and be able to exclusively place buildings and collect resources inside their territories or disable borders to allow factions to act freely in the game’s map.

  • Upgrades:

  • Easy to use upgrade components allow to upgrade units and buildings.

  • Any upgrade can trigger other unit/building upgrades allowing you to define upgrades which advances a faction to the next age.

  • Units:

  • Create different types of units that deliver tasks such as constructing buildings, gathering resources, attacking other factions, healing other units, converting enemy units, transporting other units and much more.

  • Enable automatic behavior for units to allow healers and converters to locate target units in a predefined range and exercise their abilities and to allow builders/resource collectors to locate buildings that require construction or resources that can be collected instead of staying idle.

  • Create different types of units the same way: If it’s a simple walking unit, a catapult, a boat, a tank, a plane or even a spacecraft, use the same process to create various and unique units.

  • Move different unit types/groups using different movement formations and define all movement related settings easily from the inspector.

  • Create free units that don’t belong to any faction and place in the map and use them as protectors for treasures and rewards in the map, animals that can be hunted by player and NPC factions or whatever suits your RTS game.

  • Combat/Attack System:

  • Units/buildings can attack enemy units or buildings directly or by using an attack object (bullet, arrow, rocket, etc…). Damage can be applied to a single target or to all targets an area of effect. Other attack settings include: Damage over time, cool downs, damage/attack effects, line of sight, switching between multiple attacks and much much more.

  • Define and assign different attack range types (short range, long range, etc…) and movement/attack formations for attack units easily from the inspector.

  • Task System:

  • Attach the Task Launcher component to a unit or a building and create tasks for it. Task types include: unit creation, research, self-destruction, upgrade triggers and custom casks. Custom tasks are tasks that only trigger delegate/Unity events to your custom components and pass all the task information entered in the Task Launcher allowing you to further customize the asset.

  • Each Task Launcher can trigger events independently when the task is launched, completed and/or cancelled.

  • Camera:

  • RTS Camera providing all the required features: zooming, movement limitations, following units, panning and more.

  • RTS Minimap & Minimap Camera allowing for faster and more efficient navigation through the map and allows to alert the player when their units/buildings are under attack.

  • Define different minimap icons for faction/free unit/building types and resource types allowing the player to have a complete understanding of the events throughout the whole map.

  • Selection:

  • Select single or multiple units, buildings or resources to display information about them and assign them tasks. All selection features that you expect to find in a classic RTS game (double click on unit to select same unit-type in range, select player’s faction idle units and more).

  • Group Selection: Assign a selected group of units to a predefined key and select the same group each time by using the same key.

  • UI:

  • Full UI for the game that includes a task panel, single/multiple selection panels, resource panel, pause menu, win/lose game menu, tool-tip menu, hover health bar (display health when the player’s mouse is over a building/unit) and more.

  • Option to use different UI styles/sprites for different faction types.

  • Missions & Scenarios:

  • Fully dynamic and customizable mission system which allows to create a singleplayer campaign.

  • Built in mission types (resource collection, unit/building production/elimination, survival etc…) and forfeit conditions (time limit, defend units/buildings, faction defeat and more) and custom mission types/forfeit conditions that can be customized through your own components.

  • Each scenario is a series of missions that must be completed by the player in a sequential order and which can be used in any map scene.

  • An example campaign menu is provided allowing you to define a series of scenarios which the player can load, play and complete in order to unlock the next scenario.

  • Singleplayer & Multiplayer:

  • Fully functional singleplayer menu that allows the player to select a map, see its features (max factions, initial population, etc…), pick the the speed modifier, win/lose game conditions, the amount of factions to play, faction colors, set the difficulty level of AI factions and more.

  • Multiplayer mode powered by Mirror

  • Fully functional multiplayer menu that that allows the player to host/join local or internet lobbies, pick their faction type, color and name. Allow a lobby’s host only to pick a map to play in, the win/lose condition and the speed modifier and allow the host only to start the game when all players are marked as ready.

  • Scripting:

  • Nearly everything can customized from the inspector. In any case you want to dig in the code, the comments will guide you in every line.

  • Customize your RTS game furthermore using custom delegate events which allow you to access components of objects that are related to the event. For example one of the events is called when a unit is created, from this event you can access the whole Unit component of the newly created unit and get/set attributes and call methods from within the Unit component.

  • Full list of custom events can be found in this doc page.

  • Create units, buildings, resources and more by calling simple methods from your own components.

Demo:
Standalone Download (Recommended)
WebGL Demo

Documentation:
Online Documentation

Discord:
Join the official RTS Engine Discord.

Third Party Support:

ChangeLog:
Changlog and release notes can be found here.

5 Likes

Screenshots:











5 Likes

Hello George,

  • Each building has two Colliders. One that identifies its frontiers so that no other buildings can be built in a defined distance from it. And another Collider that, when clicked, allows the player to select the building. It looks like the selection collider for some of the building is miss-placed.
  • Can you please explain more what is the exact problem with the current minimap?
  • Tower Defense buildings are on the to-do list. They will be added in the first updates.
  • Upgrading units/buildings is on the to-do list as well.

Alright. Thanks for taking the time and explaining your suggestion. Added to the to-do list as well.

The package has been submitted since the 12th of this month and I’m still awaiting the approval from the asset store team. Hopefully it’ll be available soon.

Do you plan on including “Attack move” like games such as Starctaft 1 and 2 have?

When you select a point on the ground with attack-move, you will begin moving to that point, but stop and attack any hostile unit as soon as it enters your range.

The aim is to have a fully-featured RTS Engine. Features will be added to the asset depending on their importance and demand from users. So yes, any suitable suggestion like this goes directly to the to-do list and will be available in an update.

Sounds great, also one thing I see you mention here but doesn’t seem to be in the demo, how do factions work? It seems to be that in the demo you just let the player rename each faction, can this be adjusted easily so they are set to just a few options (Much like starcraft)

You can have factions in game that have unique buildings and/or units. The faction selection menu still lacks some options. This will be a prioritized thing to change. Thanks for pointing this out!

Just wanted to announce that the asset is now available on the asset store (link in main post)! And to celebrate the release, you can get the RTS Engine with a Special Release Price (40% OFF).

Sounds good, I’d just prefer the option to disable players being able to rename that faction, and rather have it more like most RTS games where the faction just has a name.

That is coming in the next update which will be submitted later on today. I will keep you updated.

Do you have any tutorial videos for this? I don’t see any demo scenes in the package which makes it a little hard to understand how to get started. Am I supposed to just follow the online docs cause just creating a building is pretty complex but when I start the scene after creating a building I can’t see it. Yes, I have it set at a Building layer.

One other suggestion as this is a work in progress. I have another asset and and after verifying our purchase, he gets us beta version direct before uploading to the asset store. This way we can help each other faster while waiting on the asset store posts.

Found the demo scenes but I’d still like to see some demo videos. Thanks!

@SocialFreak As you have already found. There’s a demo scene. Tutorial videos are of course something planned. But first I’d like to get the asset to a state where I won’t have to upload new videos each time I make a small update.
I tried to make the online documentation as simple as possible and broke it down to different parts. Can you please let me know what exactly was not clear while creating a building?

Thanks for the quick reply!

What I’m working on is an RTS game overlayed onto something other than unity terrain since I am using APEX Path wich can be used without Nav baking to handle pathfinding so I am trying to figure out how I can integrate your system into mine.

Sorry for the vaugeness but can’t really give out to many details. Currently, I am starting small and just creating prefabs with some of your components, buildings, etc and bringing them into my scene.

I’ll work awhile with it and post any specfic questions I come up with.

Cheers!

Good luck with your game! I hope the RTS Engine will be as much useful as possible for what you’re trying to achieve.

On another note, I’ve just uploaded a new update. Here’s the update list:

  • Fixed the selection collider for some buildings in the demo scene.
  • Added “faction type definition” in the Game Manager component: Each faction type is defined by a name, code and buildings that can only be placed by that faction.
  • Each map can have a list of possible faction types that can play in it.
  • Added the ability to pick a faction type in the single player and multiplayer menus.
  • Each building can have faction type specific tasks.
  • The faction name and type are now both displayed on the selection menu when a unit/building is selected.

Tested the demo, got an exception on first shot against an enemy. (Heaviest soldier vs worker)

That is unusual. Is this happening each time a unit shoots another unit or a building? Have you edited anything in the demo prior to the appearance of this exception?

The latest update is now available on the asset store. A new demo has been uploaded and the documentation has been updated as well.
Another update will follow soon and will mainly introduce the “Attack Building Component” (for making tower buildings).

Thanks for amazing kit!

I would very much like to see in the future the possibility of buildings to generate resources, and also to place such buildings only in certain places. For example, a mine that can be built only over a field.

Also i found some bugs: the sound effect doesnt play when selecting a building and when gaving an order for unit to attack. Also very annoying when the same sound palying at the same time, it becomes louder several times (order to move for several soldiers at the same time).