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