Possession Stealth Game

Possession Stealth Game

Time: 10 weeks

  • Role: Game Designer, Programmer

  • Software: Unreal Engine 5

  • Date: Started in September 2025 and finished in November 2025

This is a prototype stealth game focused entirely on possessing enemies and using their unique abilities to blend in.

With this project I wanted to create a stealth game that focused entirely on possession.


There are plenty of games that have possession mechanics but not many that focus solely on possession. The only one that comes to mind is the Dishonored franchise which has it as an optional mechanic. When designing this game I took inspiration from the hitman franchise and dishonored franchise.

I designed the game with a decay system and an investigation system similar to the ones found in the Hitman games in mind. I wanted to make sure that the player had to be careful about what they are doing but also on their toes without a moment to relax. I wanted to make the player feel a sense of unease and paranoia. In order to achieve this the player has to swap from body to body while avoiding detection and has to make sure they don't do an action seen as suspicious (like being too close to someone for too long or being in an area where you don't have clearance).

Investigation System

Using Unreal engine's ai perception system enemies will panic when they see the player in their base form or if they see another enemy acting suspiciously. An enemy is considered suspicious if they are either decayed (purple) or if they are in an area they don't belong in.


The first issue I came across was giving the player a reason to hop from body to body. If the player possesses someone they no longer need to worry about hiding and can safely walk around the level assuming they arent seen by an enemy in the wrong area. I fixed this by adding a decay system. When the player possesses an enemy a timer is set. When the timer reaches halfway the enemy decays and becomes suspicious looking. When the timer is completed the enemy dies and the player is ejected from the enemy. This keeps the player moving and on their toes since they cant stay inside of one enemy for too long.

The decay system also allows players to eject from a decayed enemy and turn them into a living distraction. Since enemies will go back to normal behavior once the player ejects from them and once an enemy is decayed they stay decayed the other enemies in the level will attack the decayed enemy giving the player time to escape.

Behavior Trees


This is one of my first experiments with behavior trees. It took me a bit but I was able to learn how they work which allowed me to combine some other systems like Unreal Engine's perception system and Environmental Query system. Behavior trees allow you to make a character perform a variety of different tasks depending on different blackboard keys or the order. Its basically a massive web of if than statements but in a more visual friendly form.

I used a blackboards to make enemies perform certain behaviors depending on the enemies "state". If the enemy saw the player or an enemy that was suspicious looking the enemies enter a hostile state. By default they are in a passive state and will reenter the passive state once they forget about what they saw (after a certain period of time they remove the suspicious target from their memory so they don't chase the player around the entire game).

While in a passive state the enemies will move along a spline.

While in their hostile state depending on the enemy type they would either flee from the player or attack them.
Below is the soldier behavior tree.

The soldier enemies (red) will hunt down the player or a suspicious individual and kill them. They use a blackboard service to check if their current target is dead and if they are they back off. They will also investigate the area if they hear a noise or if they find a body. They will find a point of interest using the environmental query system, move there and then repeat two other times.

The scientist enemies (green) will flee from the player when they see them. They will use the environmental query system to pick a point a certain distance away from the player and they will run there.

EQS or Environmental Query System
This was also my first time learning about the environmental query system which I will now refer to as EQS system. It basically allows you to set a series of tests in order to find an invisible point in the world. For instance the scientists will get the players location and then find a valid point in the world that is a certain distance away from the player. They will then move there using the behavior tree.

Ethan Overcash, 2025. All rights reserved.

Ethan Overcash, 2025. All rights reserved.

Ethan Overcash, 2025. All rights reserved.

Create a free website with Framer, the website builder loved by startups, designers and agencies.