Main Setup
Last updated
Last updated
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
To use Stickiness system enable Enhanced Input plugin
Also you can make it during gameplay
Rate to update targets in visible area
Extents for box trace from camera to determine aim assist target
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
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.
It system allow to shift your control view to target
Interpolation speed. From current control rotation to nearest target location
Radius of circle. Auto aim will be active in this zone
Distance to target's actor to activate auto aim
The time that must pass from last camera input to enable auto aim
The time that must pass with movement input to enable auto aim
If true - auto aim will be working only if target out of magnetism circle
After target actor changing auto aim will be blocked on this time
You can scale your system zones by this curve. Key - distance to target actor. Value - scaling multiplier
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: