The Problem with Unreal Engine’s Default Kill Plane


Author: Reece Meck
Date: October 17, 2025

During this week of development, I ran into a major issue involving Unreal Engine’s default kill plane. Normally, this feature destroys the player’s actor when they fall below a certain world height — which makes sense for many games. However, in our racing project, this caused unexpected side effects with how our player possession logic worked.

Our game triggers several important functions on player possession, such as the “3, 2, 1, GO!” countdown that starts the race. When a player hit the default kill plane, their actor was destroyed and a new one had to be spawned and possessed. The problem was that the OnPossess function triggered again but failed to run the countdown logic correctly, leaving the player stuck and unable to continue racing. This effectively broke the game loop any time a player fell off the track.


To fix the issue, I created a custom “kill plane” using a trigger box instead of relying on Unreal’s built-in system. Instead of destroying the player actor, the trigger simply relocates them back to the track’s starting position. This keeps the same player instance alive, preventing OnPossess from being retriggered and avoiding all of the countdown logic conflicts.

By handling the reset this way, we retain control over the player state and avoid unnecessary destruction or possession events. The end result is a smoother, more stable experience for players and most importantly falling off the track no longer soft-locks the race, and they can immediately continue from the start without issue.

Leave a comment

Log in with itch.io to leave a comment.