Aim Offset
Aim offset is just an animation which turns characters torso where player is aiming at.
Go to AnimStarterPack and create folder “AimPoses”.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_20.png)
Duplicate Aim_Space_Hip and move it to AimPoses.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_21.png)
In AimPoses duplicate Aim_Space_Hip and rename it as Aim_Center.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_22.png)
Duplicate it 8 more times and rename them to what you see in picture below.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_25.png)
Open Aim_Center. Stop the animation and move the red cursor to zero.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_23-1024x887.png)
Right click on red cursor and select “Remove from frame 1 to frame 87”.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_24.png)
Open Aim_Center_Down. Move the cursor to frame 20, right click and Remove from 0 to frame 20.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_26.png)
Move cursor to zero and select Remove from frame 1 to frame 68.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_27.png)
Open Aim_Center_Up.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_28.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_29.png)
Open Aim_Left_Center.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_30.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_31.png)
Open Aim_Left_Up.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_32.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_33.png)
Open Aim_Left_Down.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_34.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_35.png)
Open Aim_Right_Center.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_36.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_37.png)
Open Aim_Right_Up.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_38.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_39.png)
Open Aim_Right_Down.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_40-1024x765.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_41.png)
Select all Aim animations.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_42.png)
Right click them and do Asset Actions -> Bulk Edit via Property Matrix.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_43.png)
In AdditiveSettings set Additive Anim Type to Mesh Space.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_44-1024x414.png)
Change Base Poses Type to Selected animation frame.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_45.png)
Set the animation asset…
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_46.png)
To Idle_Rifle_Hip.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_47.png)
Find the ue4 mannequin skeleton.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_48.png)
Right click it and do Create -> Aim Offset.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_49.png)
Change the Axis Settings…
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_50-1024x891.png)
Drag and drop Aim_Center to center of axis lines.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_51-1024x831.png)
Aim_Center_Up goes to center top.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_52-1024x825.png)
Aim_Center_Down goes to center bottom.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_53-1024x307.png)
Aim_Left_Center.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_54-1024x312.png)
Aim_Right_Center.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_55-1024x307.png)
Aim_Left_Up.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_56-1024x315.png)
Aim_Left_Down.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_57-1024x311.png)
Aim_Right_Up.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_58-1024x304.png)
Aim_Right_Down.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_59-1024x302.png)
Finished.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_60.png)
Change Preview Base Pose to Idle_Rifle_Hip.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_61.png)
Go to Animation Blueprint.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_62.png)
Go to AnimGraph.
Drag and drop AimOffset.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_63-1024x702.png)
Add variables to AimOffset node.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_64.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_65-1024x584.png)
Go to EventGraph.
Right click somewhere and type this, it will give you reference to self.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_66.png)
Then assign it to a variable.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_67.png)
Now you select the variable.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_68.png)
And copy it.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_69.png)
Then go to Character, paste and right click. Select Create variable. And compile.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_70.png)
Now go back to animation blueprint and find Cast To Ue4ASP_Character and from it get the variable you just added into Character. This will set the variable in Animation blueprint.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_71.png)
Also delete variable Ue4CharacterAnim from animation blueprint so you don’t mess up them with Character variable.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_74.png)
Go to Character and create all this.
- AimOffsetYaw and AimOffsetPitch are replicated.
- InputAxisTurn and InputAxisTurn are Run on Server and not Reliable.
- Disableshooting variable stops shooting if character turns too much.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_72-1024x357.png)
In animation blueprint you have to get the values from Character so you do this.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_73-1024x276.png)