Main Setup

Pro Aim Assist - solution, based on systems used in most AAA shooter games to provide comfortable shooting for users on consoles, PC and mobile devices. It contains 4 subsystems with many customizable parameters.

Main Features:

  • Use C++ or Blueprints to work with system

  • Easy to setup on any actor

  • Aim zones based on mesh sockets

  • 4 subsystems for your perfect shooting mechanics

  • Stickiness - Sight slowdown when aiming at an enemy based on curves

  • Magnetism - In zone the bullet will directed into the enemy

  • Auto Aim - auto camera movement to visible target zone with many parameters

  • Zones scaling based on distance to target

  • Example project based on Advanced Locomotion System

Components Setup

To use Stickiness system enable Enhanced Input plugin

PlayerController

Add UASAimAssistComponent to your player controller

Create aim assist DataAsset from UASAimAssistConfigDataAsset

Add created DA in component

Also you can make it during gameplay

Setup collision profile names for targets detection and obstacles check

Target Setup

Add UASAimAssistTargetComponent to your target actor or character

On BeginPlay set mesh

Setup socket names for aiming

UASAimAssistConfigDataAsset

UpdateTargetsRate

Rate to update targets in visible area

AimAreaExtents

Extents for box trace from camera to determine aim assist target

Stickiness

To use this system enable Enhanced Input plugin

In stickiness area your view input will be slow down by the curve value for pitch and yaw axes

Key for curve - screen distance ratio from screen center to edge of circle. From 0 to 1

By default this system works with Enhanced Input. To use it just add modifier BP_InputModifier_ControlStickiness to your input

But, if you are using the legacy input system - just multiply your inputs with this values from ASAimAssistComponent

Magnetism

This system allow to shoot in nearest target (socket) in the radius

It has 2 circles.

In the start circle crosshair will be directed to nearest target, but it will be clamped by aim zone radius.

i.e. in the start radius you still be miss to target, but bullets will be directed closer to target

You can get direction to current crosshair location by this node.

Trace profile name uses for cases if target out of magnetism zone and you need to shoot in nearest object front of camera.

From - your "muzzle" location.

Auto Aim

It system allow to shift your control view to target

Speed

Interpolation speed. From current control rotation to nearest target location

Auto Aim Zone Radius

Radius of circle. Auto aim will be active in this zone

Activation Distance

Distance to target's actor to activate auto aim

TimeWithoutCameraInputToEnableAutoAim

The time that must pass from last camera input to enable auto aim

TimeWithMovementInputToEnableAutoAim

The time that must pass with movement input to enable auto aim

bUseOnlyWithInactiveMagnetism

If true - auto aim will be working only if target out of magnetism circle

TimeToBlockAfterChangeTarget

After target actor changing auto aim will be blocked on this time

Zones Scaling

You can scale your system zones by this curve. Key - distance to target actor. Value - scaling multiplier

Debug and other notes

  • In AimAssist component you can enable or disable debug for each system

  • You can enalbe/Disable each system from setting from data asset or from AimAssistComponent by functions:

Last updated