Skip to content
Media 1 for listing Better Homing Projectiles - now with Missile Movement and Collision Avoidance!

Description

Playable Demo | Showcase Video | Documentation | Discord server | Example Project

Better Homing Projectiles features two subclasses of the Projectile Movement Component and a Blueprint Function Library:

BHP_ProjectileMovmentComponent - significantly improves projectile homing performance and adds new targeting capabilities:

  • Drastically improves homing performance with a performant c++ implementation of the proportional navigation homing algorithm. Homing looks better and performs better than it does in the stock PMC.

  • Enables homing on any arbitrary point, which can be attached to an actor or a free point in space. Use this to hit specific points on a target or to set waypoints!

  • Adds an option to inherit the shooter’s velocity

  • Includes OnMissedHomingTarget delegate to trigger logic when the projectile misses its target

  • Adds ability to set a target impact time. When set, the projectile will vary its speed as needed to collide at the specified time.

  • Adds optional collision avoidance. Collision avoidance does not use pathfinding and cannot solve mazes. It simply avoids obstacles in the projectile's path.

BHP_MissileMovementComponent - Subclass of the BHP_ProjectileMovementComponent which adds additional behaviors to help you quickly build guided or unguided missiles, rockets, and bombs:

  • Configurable rocket motor behavior, including:

    • Automatic thrust whenever the rocket motor is active

    • Automatic or manual rocket motor ignition

    • Ignition delay (when using automatic ignition)

    • Infinite or limited rocket motor burn duration

  • Can smoothly rotate the projectile toward the velocity when the rocket motor is off to simulate passive stabilization or homing with control surfaces.

  • Can smoothly rotate the projectile toward the homing acceleration vector when the rocket motor is on to align the missile with the simulated thrust.

  • Allow homing after rocket motor burnout to simulate a missile which continues homing with control surfaces and no thrust or disable homing after motor burnout.

  • OnRocketMotorActive delegate allows you to respond to changes in the rocket motor state to easily trigger particle and sound effects.

UBHP_FunctionLibrary

  • Includes static functions to predict the impact location of a projectile and target and the time until impact.

  • Includes static functions which allow you to calculate homing acceleration for any pursuer and target, which is useful if you want to implement proportional navigation into non-projectile actors.

This plugin strives to provide a highly effective and easy-to-use implementation of proportional navigation in a component you're probably already using. If you are familiar with the projectile movement component, you will be able to get up and running in minutes. And, it is Blueprint friendly! All code is in c++, but all helper functions and important variables are exposed to blueprints. The code is well-commented and the documentation is thorough and meticulous. After purchasing the plugin, you can pick apart the demo project to see how the new components can be used. The projectile homing performance is easily tunable, so you can achieve the desired hit probability with your targets to suit your game design goals. Adding Better Homing Projectiles to your project is the simplest and most affordable way to enhance your game with high-performance homing projectiles!

Included formats

Frequently asked questions