# Table of Contents - [Recoil Settings | PRAS Documentation](#recoil-settings-pras-documentation) - [Getting Set Up | PRAS Documentation](#getting-set-up-pras-documentation) - [Recoil Animation | PRAS Documentation](#recoil-animation-pras-documentation) - [How to implement attachments | PRAS Documentation](#how-to-implement-attachments-pras-documentation) - [Installation | Tactical Shooter Pack Unreal](#installation-tactical-shooter-pack-unreal) - [Overview | Tactical Shooter Pack Unreal](#overview-tactical-shooter-pack-unreal) - [Camera | Tactical Shooter Pack Unreal](#camera-tactical-shooter-pack-unreal) - [How to swap weapon mesh | Tactical Shooter Pack Unreal](#how-to-swap-weapon-mesh-tactical-shooter-pack-unreal) - [GASP Integration | Tactical Shooter Pack Unreal](#gasp-integration-tactical-shooter-pack-unreal) - [Player | Tactical Shooter Pack Unreal](#player-tactical-shooter-pack-unreal) - [Procedural Recoil | Tactical Shooter Pack Unreal](#procedural-recoil-tactical-shooter-pack-unreal) - [How to change character model | Tactical Shooter Pack Unreal](#how-to-change-character-model-tactical-shooter-pack-unreal) - [Weapons | Tactical Shooter Pack Unreal](#weapons-tactical-shooter-pack-unreal) - [Character | Tactical Shooter Pack Unreal](#character-tactical-shooter-pack-unreal) - [Weapons | Tactical Shooter Pack Unreal](#weapons-tactical-shooter-pack-unreal) - [Magazines | Tactical Shooter Pack Unreal](#magazines-tactical-shooter-pack-unreal) - [Attachments | Tactical Shooter Pack Unreal](#attachments-tactical-shooter-pack-unreal) - [Welcome | Tactical Shooter Pack Unreal](#welcome-tactical-shooter-pack-unreal) - [IK Motion Player | Tactical Shooter Pack Unreal](#ik-motion-player-tactical-shooter-pack-unreal) - [First Person Camera | Tactical Shooter Pack Unreal](#first-person-camera-tactical-shooter-pack-unreal) - [Tactical Shooter Animation | Tactical Shooter Pack Unreal](#tactical-shooter-animation-tactical-shooter-pack-unreal) - [Sounds | Tactical Shooter Pack Unreal](#sounds-tactical-shooter-pack-unreal) - [FPS Animation Pack Integration | Tactical Shooter Pack Unreal](#fps-animation-pack-integration-tactical-shooter-pack-unreal) - [Procedural Animation Settings | Tactical Shooter Pack Unreal](#procedural-animation-settings-tactical-shooter-pack-unreal) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Welcome! | PRAS Documentation](#welcome-pras-documentation) - [Unknown](#unknown) - [Unknown](#unknown) - [Getting Set Up | PRAS Documentation](#getting-set-up-pras-documentation) - [Unknown](#unknown) - [Recoil Animation | PRAS Documentation](#recoil-animation-pras-documentation) - [Installation | Tactical Shooter Pack Unreal](#installation-tactical-shooter-pack-unreal) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Character | Tactical Shooter Pack Unreal](#character-tactical-shooter-pack-unreal) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Player | Tactical Shooter Pack Unreal](#player-tactical-shooter-pack-unreal) - [Unknown](#unknown) - [Unknown](#unknown) - [GASP 5.7+ | Tactical Shooter Pack Unreal](#gasp-5-7-tactical-shooter-pack-unreal) - [Unknown](#unknown) --- # Recoil Settings | PRAS Documentation For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/pras-documentation/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings.md) . All settings are located in the **Recoil Data** asset (to create one, right-click and go **Miscellaneous -> Data Asset -> Recoil Data**). This asset contains many sections, and we will cover them one by one. Controller Recoil[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings#controller-recoil) --------------------------------------------------------------------------------------------------------------- ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FtGQzxOdIBDRAdYq8pQoS%252Fimage.png%3Falt%3Dmedia%26token%3Dc7b046fd-95b0-4631-abad-a625cbfb07a5&width=768&dpr=3&quality=100&sign=08decf2b2b1c64f61f9561cd6dc40f8b&sv=3) Controller Recoil. * **Horizontal Recoil Step**: a value will be computed in this range and added to the controller Yaw. * **Vertical Recoil Step**: a value will be computed in this range and added to the controller Pitch. * **Recoil Smoothing**: interpolation speed for X (Yaw) and Y (Pitch). * **Damping**: how fast the both Pitch and Yaw will go to zero, * **Compensation**: how much player input to take into account. 1 - 100%, 0 - 0%. **Controller Recoil** is added directly to the **Player Controller** using _AddPitchInput_ and _AddYawInput_ methods. Curve[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings#curve) --------------------------------------------------------------------------------------- This section contains curves that we covered in the previous chapter: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fuf3hCnpZyMVd7Gru8iuJ%252Fimage.png%3Falt%3Dmedia%26token%3Da0bf6c2d-e352-43b1-a343-f447802bd471&width=768&dpr=3&quality=100&sign=620c9871d93f733f5c8cad9862e003c3&sv=3) Vector curves for translation and rotation, Input[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings#input) --------------------------------------------------------------------------------------- These properties generate main target recoil values: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FgywxkTJIaLKMl08mV8tW%252Fimage.png%3Falt%3Dmedia%26token%3Dfb4e109a-53a2-4465-b70e-a706f073f68a&width=768&dpr=3&quality=100&sign=e31c788f57fc8f29992164964bae209d&sv=3) Input properties. * **Pitch/Yaw/Roll Aim**: a value will be generated in this range and added to the pitch/yaw/roll when aiming. * **Pitch/Yaw/Roll**: a value will be generated in this range and added to the pitch/yaw/roll when hip firing. * **Kick/Kick R/ Kick Up Aim**: a value will be generated in this range and added in the forward/right/up direction when aiming. * **Kick/Kick R/ Kick Up**: a value will be generated in this range and added in the forward/right/up direction when aiming. It's worth noting how the random generation happens in runtime: * For 2D vectors, it will compute a value via FRandRange(X, Y) * For 4D vectors, it will compute a value via FRandRange(FRandRange(X, Y), FRandRange(Z, W)). We do it this way to avoid getting close-to-zero values, which sometimes look horrible. Smoothing[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings#smoothing) ----------------------------------------------------------------------------------------------- This group is only applied when auto/burst firing. ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FsOG9EpgDj4bSl96QdvFv%252Fimage.png%3Falt%3Dmedia%26token%3D0c2cd237-3c00-466e-b57a-14dc4d25d248&width=768&dpr=3&quality=100&sign=da93c3261258179ed5edb97a9e2df91b&sv=3) Smoothing properties. * **Smooth Rot/Loc**: interpolation speed for a rotation/translation axis. If the value is zero - no interpolation will be applied. * **Multi Rot/Loc**: multipliers for a rotation/translation axis. * **Smooth Roll**: if roll sign should change every shot. Keep it true to achieve the best results. Noise Layer[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings#noise-layer) --------------------------------------------------------------------------------------------------- This layer applies translation 2D noise in the YZ plane (right and up movement). ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252F50rKI89ROjnWH6tb1CgQ%252Fimage.png%3Falt%3Dmedia%26token%3Dc24a7703-5104-4920-b427-d7d810ed8f18&width=768&dpr=3&quality=100&sign=0a6f39299c2ff8f0507acce8e1264c81&sv=3) Noise properties. * **Noise 2DTarget**: this value will be added to the translation of every shot. * **Noise 2DAccel**: interpolation speed for right and up axes. * **Noise 2DZero**: how fast each axis will go to zero. * **Noise Aim Scalar**: multiplier applied when aiming. Pushback[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings#pushback) --------------------------------------------------------------------------------------------- This layer is applied on the second shot of a burst or auto sequence. ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FI8PKIOllkjMcm0XKBDlS%252Fimage.png%3Falt%3Dmedia%26token%3D4cc65807-9290-41ec-9bc2-21d4f73254aa&width=768&dpr=3&quality=100&sign=7f27c96c816c7d8ef2c4f1b91e41b213&sv=3) Pushback properties. * **Pushback**: this value will be added to the forward translation. * **Pushback Zero**: how fast the pushback should go to zero. * **Pushback Accel**: pusback interpolation speed. Recoil Sway[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings#recoil-sway) --------------------------------------------------------------------------------------------------- This layer applies sway to simulate a body recoil. ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FCz7TjkOlPPylFGnIIRPp%252Fimage.png%3Falt%3Dmedia%26token%3D085af73f-496f-4f67-9522-f8d2f013557a&width=768&dpr=3&quality=100&sign=968e678530ab9b22d7c95a4e873a0738&sv=3) Recoil Sway properties. * **Pitch Sway**: a value will be randomly generated in this range and added to the pitch. * **Yaw Sway**: a value will be randomly generated in this range and added to the yaw. * **Roll Sway Multiplier**: will multiply the yaw result by this value and add it to the roll. * **Damping**: how fast the sway should go to zero. * **Acceleration**: interpolation sway speed. * **Ads Scale**: this value will scale the recoil sway when aiming. * **Pivot Offset**: will offset the recoil physical pivot. Timeline[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings#timeline) --------------------------------------------------------------------------------------------- These properties control the general animation timeline. ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FY16d7loQdXh201o1zGIC%252Fimage.png%3Falt%3Dmedia%26token%3Da18dec5e-c78a-4531-8c24-f20d68bed40e&width=768&dpr=3&quality=100&sign=785ab2d82c58c33b713d778b119eba43&sv=3) Tineline properties. * **Playback Offset**: will offset the loop time interval. For example, if a weapon fire rate is 600RPM, the loop interval will be 0.1s + Playback Offset. * **Play Rate**: animation speed multiplier. Pivot[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings#pivot) --------------------------------------------------------------------------------------- This section controls the physical recoil pivot point. ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fw1anlwSIrkPt8CRk8wiQ%252Fimage.png%3Falt%3Dmedia%26token%3D2a12b9c3-7377-48ba-b288-1fda5afd4824&width=768&dpr=3&quality=100&sign=9873e1be11c5a84592a575aae77dcb28&sv=3) Pivot settings. * **Pivot Offset**: applied when hip firing. * **Ads Pivot Offset**: applied when aiming. **Tip**: pivot offsets can be useful when we want to apply recoil rotation around a certain point, like a shoulder. [PreviousRecoil Animation](https://kinemation.gitbook.io/pras-documentation/basics/recoil-animation) [NextGetting Set Up](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up) Last updated 1 year ago --- # Getting Set Up | PRAS Documentation For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/pras-documentation/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up.md) . **Tip**: make sure to already implement basic firing logic in your project. Step 1 - Recoil Animation Component[](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up#step-1-recoil-animation-component) --------------------------------------------------------------------------------------------------------------------------------------------------- First, it is essential to add the **Recoil Animation Component** to the character. Blueprints C++ ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252F4wyQRZRa2i08pclSWsQj%252Fimage.png%3Falt%3Dmedia%26token%3Da18eb5bc-9d03-4725-a1d1-6ed14f92dc5a&width=768&dpr=3&quality=100&sign=4c6f80366007eddd0252fe93d4a1d055&sv=3) Copy UCLASS(config=Game) class AYourCharacterClass : public ACharacter { GENERATED_BODY() public: AYourCharacterClass(); protected: UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Recoil") TObjectPtr RecoilComponent; ... }; Then, in your character class click on the RecoilAnimation component and specify the Helper UI: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252F9Gmeeb2aeyrSNgY2rKZT%252Fimage.png%3Falt%3Dmedia%26token%3D19855adf-c124-4b72-8197-61d089727171&width=768&dpr=3&quality=100&sign=35847383bc7ded05047e46d6e5c366ca&sv=3) Select this blueprint. The Helper UI is useful when you want to modify the recoil values in runtime in a very convenient way: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FLRJ92IQm7scBIPm2Ggci%252Fimage.png%3Falt%3Dmedia%26token%3Dca8d9f41-ad58-467a-aaf1-dfe2acf7f97e&width=768&dpr=3&quality=100&sign=3f520ba02da9f6d3a17fd3470885ac03&sv=3) To enable this Helper UI in the game you can use the Blueprint-exposed methods: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FSKhTkMdSkG87OHj1IOBh%252Fimage.png%3Falt%3Dmedia%26token%3Df9e799a4-7c55-4a5c-a947-b6fe0c53a845&width=768&dpr=3&quality=100&sign=3b549b165ade8ecb3c9c903fdc9cef41&sv=3) How to use helper UI. Step 2 - Initialize and Play[](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up#step-2-initialize-and-play) ------------------------------------------------------------------------------------------------------------------------------------- Make sure to call the `Init` method of the **Recoil Animation Component** to initialize the recoil animation: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FNGo3aI0bJbI5aiaxiC3O%252Fimage.png%3Falt%3Dmedia%26token%3D57ca488f-80ac-4be5-84fc-38fe8c8a2d88&width=768&dpr=3&quality=100&sign=7c9e8c45dbe71d7b1ca373e4fe24c03b&sv=3) Init function. * **Data**: **Recoil Data** asset. * **Rate**: fire rate or RPM (Rounds-per-minute). * **Burst:** length of the burst sequence**.** Next, call `Play` and `Stop` methods when firing: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fwwsbla8WWkwDMOerwant%252Fimage.png%3Falt%3Dmedia%26token%3Dde35e9d4-4b22-43d3-ad21-aecf5faefa61&width=768&dpr=3&quality=100&sign=528ede1aa2700312b8c58cebbfedac6d&sv=3) Firing logic. **Note**: Play must be called every shot! Step 3 - Animation Blueprint Integration[](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up#step-3-animation-blueprint-integration) ------------------------------------------------------------------------------------------------------------------------------------------------------------- Make sure to add a **Recoil Animation** node to the Anim Graph: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Ft4NrSaox5umi2XKQr6uv%252Fimage.png%3Falt%3Dmedia%26token%3D9d748092-77ba-4b30-a325-dc644d87c46d&width=768&dpr=3&quality=100&sign=dc3cda920b342d0b9850c1590ea77138&sv=3) This node will apply recoil. If you already have an _IK_ system set up, select the _IK_ or a _VB_ (virtual bone) you want to animate with recoil in the node settings: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FCWI5cErNp3NRPB4rNvaa%252Fimage.png%3Falt%3Dmedia%26token%3Dbdaa648d-13e4-4032-a727-4baf75290c20&width=768&dpr=3&quality=100&sign=944728471fc5a5a5334d4ba2c34188ea&sv=3) Node settings. ### If you need help with IK[](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up#if-you-need-help-with-ik) First, add Virtual Bones to the character head: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FKir2cdAMDEQdfBhHoMeY%252Fimage.png%3Falt%3Dmedia%26token%3D3d830ad4-5599-4786-910b-1e2e8f1f1389&width=768&dpr=3&quality=100&sign=2c4935b0dfc6000a69777917c0d2cd46&sv=3) VB stands for Virtual Bone. * **VB WeaponPivot** targets ik\_hand\_gun. * **VB hand\_r** targets hand\_r. * **VB hand\_l** targets hand\_l. Add **CopyBone** nodes before the **Recoil Animation** nodes: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fw1UK9d1se7me6b0kCKdH%252Fimage.png%3Falt%3Dmedia%26token%3Dd184c38a-565f-4f8c-8c3c-92011158cdea&width=768&dpr=3&quality=100&sign=08dcaa63f03d4a84919dfa322b6c7763&sv=3) These will copy animation from FK bones to VBs. If your animations do not keyframe the **ik\_hand\_gun** bone (it is used for baking gun movement into the character animation), you will have to use **hand\_r** as a source bone in the first **CopyBone** node. You can additionally offset the **VB WeaponPivot** with a custom offset if you want more flexibility. Finally, use **Two Bone IK** after the **Recoil Animation** node: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FAMxlxBIIVVW97C4GAtzV%252Fimage.png%3Falt%3Dmedia%26token%3De38e011e-3271-4b84-a47b-f1e37908cdf9&width=768&dpr=3&quality=100&sign=5e776a4322b16d97b3d5ae38cf8f618c&sv=3) IK pass. ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FGo9YyPxponov5NI7JjCo%252Fimage.png%3Falt%3Dmedia%26token%3Ddc7bee46-946a-4cc7-abe9-72bbf8c12fd7&width=768&dpr=3&quality=100&sign=1b3fb508d31f44445334d0c204c88124&sv=3) Preferred IK settings. * * * At this point, the setup is complete. If recoil is still not playing, double-check the steps above or: * Check if **Recoil Data** has any values. * The correct bone is animated by the **RecoilAnimation**. * **Play** method is called every shot. * The **Fire Rate** is in rounds-per-minute and greater than zero. If the problem persists, feel free to post a ticket on our [Discord](https://discord.gg/kinemation-1027338787958816860) . [PreviousRecoil Settings](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings) [NextHow to implement attachments](https://kinemation.gitbook.io/pras-documentation/tutorials/how-to-implement-attachments) Last updated 1 year ago --- # Recoil Animation | PRAS Documentation For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/pras-documentation/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/pras-documentation/basics/recoil-animation.md) . How Does It Work?[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-animation#how-does-it-work) --------------------------------------------------------------------------------------------------------------- The **PRAS (Procedural Recoil Animation System)** uses an advanced, yet simple way to generate realistic recoil. The system takes Vector Curves for translation and rotation, plays them in runtime, and uses curve values as interpolation alphas to reach the randomly generated targets. > RecoilAnimation = Lerp(0f, TargetValue, CurveValue) where **Target Value** is randomly generated when a shot is fired. ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FbGyBFT8oA2snyTlu8Z2W%252Fimage.png%3Falt%3Dmedia%26token%3Dc597fb21-26e5-4a41-a303-be413e5b20f8&width=768&dpr=3&quality=100&sign=ab012f8512cbba09cb6e79c6e08eded9&sv=3) Example recoil curve. Recoil curves should be in the range \[-1;1\], so a curve value can be used as an interpolation alpha. The curve peaks at 1 and then goes down to 0 with some oscillation. **Tip**: because curves are much simpler in comparison to other methods (e.g. spring interpolation), the recoil animation is frame-rate independent. Single and Auto Fire[](https://kinemation.gitbook.io/pras-documentation/basics/recoil-animation#single-and-auto-fire) ---------------------------------------------------------------------------------------------------------------------- **Recoil Data** is an asset, which contains all information about the recoil animation. This includes curves and other settings: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fuf3hCnpZyMVd7Gru8iuJ%252Fimage.png%3Falt%3Dmedia%26token%3Da0bf6c2d-e352-43b1-a343-f447802bd471&width=768&dpr=3&quality=100&sign=620c9871d93f733f5c8cad9862e003c3&sv=3) Curve section in the Recoil Data. To create a new **Recoil Data**, right-click and go to **Miscellaneous -> Data Asset -> Recoil Data**. This asset includes 4 _Vector Curves_ in total: 2 for translation and 2 for rotation. The PRAS has 2 main fire modes: * Single * Auto/Burst (there's no technical difference animation-wise) **Tip**: we use different curves for single and auto fire because of animation quality. If we use single-fire curves when auto-firing, the animation will look choppy. To make it look smoother and more fluid we use a different set of curves. Let's compare an example single and auto fire curve: Single Auto/Burst ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fj9OuQEgdKvPOsUFSmIo0%252Fimage.png%3Falt%3Dmedia%26token%3D1956567a-ad4c-4338-9664-9a3ea89beab8&width=768&dpr=3&quality=100&sign=3f5992d7868c2638b97e73e9f6f9d0e2&sv=3) ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FS656FcC1900ZLIaUsT2X%252Fimage.png%3Falt%3Dmedia%26token%3D949f1a80-ef7b-4791-a2e3-5cbccb400760&width=768&dpr=3&quality=100&sign=0dce328e36970fda7525342a21b5e7ee&sv=3) The curves are almost identical! The only difference is that auto curve values are very close to 0 at some time - this time equals the fire rate of a weapon (in this case 600RPM = 0.1s). This will ensure that the weapon's main muzzle climbing will be fully preserved when auto-firing. **Tip**: regardless of a fire mode, the first shot is **always** a single fire shot. [PreviousWelcome!](https://kinemation.gitbook.io/pras-documentation) [NextRecoil Settings](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings) Last updated 1 year ago --- # How to implement attachments | PRAS Documentation For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/pras-documentation/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/pras-documentation/tutorials/how-to-implement-attachments.md) . Overview[](https://kinemation.gitbook.io/pras-documentation/tutorials/how-to-implement-attachments#overview) ------------------------------------------------------------------------------------------------------------- To modify the current recoil animation, **PRAS** has the Input Scale feature using these methods: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FONnChPSmiaEpMSgWqprq%252Fimage.png%3Falt%3Dmedia%26token%3D015fe425-65cd-47bf-9d32-95ecd43da4ad&width=768&dpr=3&quality=100&sign=6bbb14836f18c0112e2f868e5aa29fb5&sv=3) Input Scale methods. * **Scale Input**: applies an Input Scale. * **Unscale Input**: reverts an Input Scale. * **Reset Input Scale**: resets any applied modifiers. **Input Scale** is a struct that includes these properties: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fbe7QHNIcM9MlybwhiO1c%252Fimage.png%3Falt%3Dmedia%26token%3D1d6e8b3e-0656-430d-a4d8-347c0b8ddcfd&width=768&dpr=3&quality=100&sign=3beee0d37e2f5f188d21ee68336490c4&sv=3) Input Scale properties. Use-case[](https://kinemation.gitbook.io/pras-documentation/tutorials/how-to-implement-attachments#use-case) ------------------------------------------------------------------------------------------------------------- When attachment is equipped, make sure to update the current Input Scale: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FnSh2cWXb85lRyJ24NYkN%252Fimage.png%3Falt%3Dmedia%26token%3D485fd882-3569-44ff-92f1-f7d357622a4a&width=768&dpr=3&quality=100&sign=0a16645f47bab61f0b2f79ecc0beb8be&sv=3) How to scale recoil. To revert changes of the previous attachment: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fnt7YFCLhUpqAPD7EtkJQ%252Fimage.png%3Falt%3Dmedia%26token%3D06d3d633-5722-4016-af3a-698abfed3e96&width=768&dpr=3&quality=100&sign=70e24beda80ce4551c4d222a1eb0e827&sv=3) How to revert recoil scale. [PreviousGetting Set Up](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up) Last updated 1 year ago --- # Installation | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/installation.md) . Via Launcher[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/installation#via-launcher) -------------------------------------------------------------------------------------------------------------- In the Epic Games Launcher, open your Fab library and add the Tactical Shooter Pack to the target project. Manually[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/installation#manually) ------------------------------------------------------------------------------------------------------ If you have the Tactical Shooter Pack project, unpack it and open it like any other Unreal Engine 5 project. You can switch the engine version (default: 5.0). [PreviousWelcome](https://kinemation.gitbook.io/tactical-shooter-pack-unreal) [NextOverview](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview) Last updated 11 months ago --- # Overview | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview.md) . Content[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview#content) ------------------------------------------------------------------------------------------------ All content - animations, weapons, sounds, and Blueprints - is located in **KINEMATION/TacticalShooterPack**.: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F2CWswtKNyuoYsc2uUF8A%252Fimage.png%3Falt%3Dmedia%26token%3Deaf4fb15-99c7-4182-9b5c-a73b3fa46f01&width=768&dpr=3&quality=100&sign=97b57df659eb718e1ed59cd5b63f42af&sv=3) Tactical Shooter Pack content. The **Common** directory contains general Blueprints used across KINEMATION assets. Its contents are covered later in this section. The Tactical Shooter Pack consists of **11** directories: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FvfWSqdQ3iwmsG9fKLeHo%252Fimage.png%3Falt%3Dmedia%26token%3D1bd9599f-f96a-4e95-8e14-67f64a7de0ec&width=768&dpr=3&quality=100&sign=1ef12585adbeca410e2779b23b9de409&sv=3) Content folders. Let's break down each sub-folder to better explain what you can find there. Animations[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview#animations) ------------------------------------------------------------------------------------------------------ This folder contains camera, character, and weapon animations. It also includes Animation Blueprints for UE4 and UE5 skeletons. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FmcgIcrW0su4fxF2D7wYm%252Fimage.png%3Falt%3Dmedia%26token%3Da095252d-91a6-4968-af98-c24ded538cff&width=768&dpr=3&quality=100&sign=9d426988f30369914219e22e477e8ea5&sv=3) Animation Blueprints for UE5 Mannequin. The main Animation Blueprint is **ABP\_TacticalShooter\_UE5**, which relies on these modules: * **ABP\_UE5\_Sway**: Applies procedural aiming and movement sway. * **ABP\_UE5\_IK\_Ads**: Applies procedural aiming. * **ABP\_UE5\_IK\_Main**: Applies general procedural animation (spine rotation, leaning, recoil, etc.). * **ABP\_UE5\_IK\_Pose**: Positions the weapon and hands via IK. All Animation Blueprints depend on **AC\_TacticalShooterAnimation -** the central component in this asset. It supplies ABPs with key data (e.g., IK settings and firing state). Blueprints[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview#blueprints) ------------------------------------------------------------------------------------------------------ This folder contains all Blueprints used in the pack: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FsS0Q5RBvGtvTvwmyACKq%252Fimage.png%3Falt%3Dmedia%26token%3D72332f16-8379-4cbf-980a-61a2cebe3e6a&width=768&dpr=3&quality=100&sign=1c5c63a5c7fe5cfe3773649ca6ae06c6&sv=3) Blueprint content. * **AdditiveMotions**: Procedural additive animations played when aiming or changing fire mode. * **Attachments**: Blueprint foundation for the attachment system _(work in progress)_. * **Data**: Settings and structs used in the pack (e.g., weapon animation settings). * **Notifies**: Custom Animation Notifies used in the pack. * **Recoil**: Recoil settings for each weapon. * **Weapons**: Game‑ready weapon Blueprints. This folder also contains very important Blueprints, like: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fsv9PzxpVxIiG9amwirf4%252Fimage.png%3Falt%3Dmedia%26token%3Da017477f-9316-4d30-9912-6e8710260514&width=768&dpr=3&quality=100&sign=5fd6bbb2b11670d4245048c017a5bc2d&sv=3) Blueprint content. * **AC\_TacticalShooterAnimation:** Actor Component that connects gameplay and Animation Blueprints; treat it as an interface between the player and the animation system. * **BP\_TacticalShooterCharacter:** Game‑ready player Blueprint. * **BP\_TacticalShooterWeapon:** Base class for all weapons. * **BPI\_TacticalShooterCharacter:** Interface used by weapons and Animation Blueprints. * **BPI\_TacticalShooterWeapon:** Interface that passes data to the animation system. * **TacOperatorSettings** is an asset that contains meshes as well as weapons to use. Camera, Casings, Character and Weapons[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview#camera-casings-character-and-weapons) ------------------------------------------------------------------------------------------------------------------------------------------------------------ This section contains all skeletal and static meshes used in the package. The **Weapons** folder also includes attachments (e.g., magazines). Demo[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview#demo) ------------------------------------------------------------------------------------------ This directory includes a simple demo scene and the UE5 Manny. Inputs[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview#inputs) ---------------------------------------------------------------------------------------------- This folder contains all **Input Actions** and the **Input Mapping Context** used by the player Blueprint. SFX[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview#sfx) ---------------------------------------------------------------------------------------- This folder contains all sound effects and sound Blueprints. Weapon‑specific sounds are divided into two categories: **(1)** Actions (e.g., reloads, inspects, mag checks) and **(2)** Firing. UI[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview#ui) -------------------------------------------------------------------------------------- This folder contains a UMG widget used in the playable demo. It displays the control list and the currently equipped weapon. VFX[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview#vfx) ---------------------------------------------------------------------------------------- This folder contains Data Assets for the Niagara casing system. Each asset is set up for a specific casing (e.g., NATO 5.56, 9 mm). [PreviousInstallation](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/installation) [NextGASP Integration](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration) Last updated 4 months ago --- # Camera | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/camera.md) . How it works[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/camera#how-it-works) ---------------------------------------------------------------------------------------------------------- The camera is animated using three curves: * **Camera\_Pitch** * **Camera\_Yaw** * **Camera\_Roll** ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F5tHHXA6Ql3IqjSzLgQIK%252Fimage.png%3Falt%3Dmedia%26token%3D9850b0db-7a0b-454a-a98f-b08071d36d10&width=768&dpr=3&quality=100&sign=704d572c7a900fe6e6d2567e9057167b&sv=3) Camera animation curves. These curves are on the character skeleton, so whenever a Montage plays at runtime, it animates the character and camera simultaneously. How curves are created[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/camera#how-curves-are-created) ------------------------------------------------------------------------------------------------------------------------------ You can find camera animations in each weapon’s **Camera** folder. These sequences aren’t used directly; they are processed by the extraction tool, which transfers camera curves to the character animation: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F1Aw4pkTl9tjQWS2zu9E9%252Fimage.png%3Falt%3Dmedia%26token%3D9a56e260-3781-456b-a66d-d33a3b5b730f&width=768&dpr=3&quality=100&sign=8ed65f7148878d24c7e2ad7280475dc3&sv=3) Camera Motion Extractor. **Tip**: Use this modifier to re‑extract or adjust the intensity of camera animations.First Person Camera Actor Component applies camera animations by sampling curve values at runtime: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F6Ia3XS28Z0m7A9o1mVE8%252Fimage.png%3Falt%3Dmedia%26token%3D7023f02a-a238-479e-a4fe-f50bf24f392f&width=768&dpr=3&quality=100&sign=d449a736b8a3533bff3cd199a7f50130&sv=3) Camera animation. **Tip**: This component also plays camera recoil shakes. [PreviousMagazines](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/magazines) Last updated 11 months ago --- # How to swap weapon mesh | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-swap-weapon-mesh.md) . > This tutorial is coming soon... [PreviousHow to change character model](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model) [NextPlayer](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player) Last updated 4 months ago --- # GASP Integration | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration.md) . Character meshes[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration#character-meshes) -------------------------------------------------------------------------------------------------------------------------- **Note:** Compatible with GASP **5.4**, **5.5**, **5.6**. Add the latest Tactical Shooter Pack to your GASP project before starting. First, we need to create a base for our integration. Duplicate the **BP\_TacticalShooterCharacter** (**KINEMATION/TacticalShooterPack/Blueprints**): ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FEab8rXK8OhDXL54KTvxw%252Fimage.png%3Falt%3Dmedia%26token%3Dc714e553-ca9d-4ad0-9451-db77fc2c0d1b&width=768&dpr=3&quality=100&sign=0e99b49b5f7a136e1b23f3be5b337a23&sv=3) New blueprint. This will be our main player blueprint. Open it up, go to **Class Settings** and inherit it from the **CBP\_SandboxCharacter**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fej9njSE1kHGzr7E1h8P0%252Fimage.png%3Falt%3Dmedia%26token%3De93a2089-5cdd-4711-aefa-e4163b91969d&width=768&dpr=3&quality=100&sign=4237acec219da1296342de30ace7502f&sv=3) Change the parent class. Next, select the "Mesh" and set its animation blueprint to **ABP\_SandboxCharacter** and skeletal mesh to **SKM\_UEFN\_Mannequin**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fr5EppNs1jsKwyXPw80ZB%252Fimage.png%3Falt%3Dmedia%26token%3D8cc3265c-c994-488a-884e-6fde84cce794&width=768&dpr=3&quality=100&sign=56ffc218f101dcd9b972872ca8d95ed2&sv=3) Default mesh component. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Ft4VuVb99dW9W1m3AmYly%252Fimage.png%3Falt%3Dmedia%26token%3Da22c0580-cf73-4af6-a016-995cef7a38e2&width=768&dpr=3&quality=100&sign=fe5e72d876eec4104759871d370f4889&sv=3) Properties for motion matching. **Note**: The "Mesh" skeletal component will generate a motion-matching pose (full-body movement), which will be blended with our tactical animations. Set **Visible** to **false** and **Visibility Based Anim Tick Option** to **Always Tick Pose and Refresh Bones**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FjImH4DBQ2lHEdM36zZjX%252Fimage.png%3Falt%3Dmedia%26token%3D914992f5-ab39-4a50-8145-768d880d3470&width=768&dpr=3&quality=100&sign=8c80721183c4d4e67d9a8f4aad90e8f0&sv=3) Keep this mesh hidden. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FesRENIZS3aztVB81IvId%252Fimage.png%3Falt%3Dmedia%26token%3Df55a4e1e-ce74-4ae6-8e9b-8ed2a12a69f8&width=768&dpr=3&quality=100&sign=f9ca25ec9dfb912ab4856a4452171777&sv=3) Always update animation, even if mesh is hidden. Now we need to add a skeletal mesh for our character model. Let's call it "Player" and parent the **Camera** component to it: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FbBpzSzRqqTtOjcD2HePE%252Fimage.png%3Falt%3Dmedia%26token%3D42bd1616-2dd1-4655-88fc-0b536f85af9d&width=768&dpr=3&quality=100&sign=8be6bae00053789c7f91dd1ba5c5ef9c&sv=3) Camera is a first-person camera component. In the **Camera** settings, set its parent socket to `FPCamera` and reset its transform: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FvE3UPE8L9WPGqnQgojDe%252Fimage.png%3Falt%3Dmedia%26token%3D0cb2cb09-9da0-491a-84b6-19f09d06ae2d&width=768&dpr=3&quality=100&sign=178b8eb27d4b3a06efc2535e813baaa8&sv=3) Camera settings. Find the `GetPlayerMesh` interface function and return the new "Player" skeletal mesh component: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F1onRx0FGiMkoUHv3eSMN%252Fimage.png%3Falt%3Dmedia%26token%3D4e428402-9353-4ff7-895e-23a79806e706&width=768&dpr=3&quality=100&sign=f85ade8e7861720d148ba3716da62074&sv=3) Open up this function. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F2qz9YPmFycEyCkAJUJFQ%252Fimage.png%3Falt%3Dmedia%26token%3D7255936d-547c-4139-91ef-4ed99bd4ec76&width=768&dpr=3&quality=100&sign=c56f617572bf55a66835c873a38705e7&sv=3) Return the "Player", not the default "Mesh". **Tip**: This interface function is used by weapons and animation blueprints to play animations, so make sure to provide the correct reference here. Cameras[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration#cameras) -------------------------------------------------------------------------------------------------------- The second step is to properly set up cameras in our player blueprint. If you use GASP 5.5 or 5.6, make sure to use this code snippet to disable other cameras: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FlFofXOOMNCO0iv9iWz7G%252Fimage.png%3Falt%3Dmedia%26token%3Dc9920bd1-afc0-4b7f-ba9e-c57788705def&width=768&dpr=3&quality=100&sign=ce24693ea051d33188ea1d61a13272e7&sv=3) Place this in BeginPlay. The **Camera** attached to **Player** is the main first‑person camera. Deactivate all other cameras that may be active at game start. If you are on 5.4, then simply set all other cameras' `Auto Activate` property to **false**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FpCG7SW1wG7PudK3U0ktz%252Fimage.png%3Falt%3Dmedia%26token%3D6c4bb833-fd5e-47cb-8eae-f1e8d53490ca&width=768&dpr=3&quality=100&sign=57069a7645006c3903a4ed5d7a69c163&sv=3) Disable other cameras. Inputs[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration#inputs) ------------------------------------------------------------------------------------------------------ The next step is to properly update GASP inputs at runtime. Open the `Update Player Movement` function (it's called on **Tick**): ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FWUbmsp1zl6dpydDaVtsk%252Fimage.png%3Falt%3Dmedia%26token%3Deaa8b0c9-df35-4253-a837-d72aa411eb0e&width=768&dpr=3&quality=100&sign=e229d844773e3d031a185d6f0d221a97&sv=3) Update movement function. Find some place at the end of the function, and set the value of the Gait property based on Movement State: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FQQYXOyetTFwkXY9xvGo3%252Fimage.png%3Falt%3Dmedia%26token%3D8bc23a45-8d27-450e-a1df-aeb3b365fae7&width=768&dpr=3&quality=100&sign=d6cfa393b5a7419103de5914332c3f3e&sv=3) Updating current Gait. **Note**: `Gait` is from **GASP**, and `Movement State` is a **Tactical Shooter Pack** property. Then, we need to update `bWantsToSprint`, `bWantsToWalk`, `bWantsToAim` and `bWantsToStrafe` properties. **Note:** The setup differs between **5.4** and **5.5/5.6**; refer to the images below. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FMiwEvhh4XXunpS1eDcBy%252Fimage.png%3Falt%3Dmedia%26token%3D379e354d-2951-4c22-8306-5f930851212d&width=768&dpr=3&quality=100&sign=b39f5d17fe213b18101b805f22a8678a&sv=3) 5.4 version also requires the Update Rotation function to be called. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FXNJcaEAl7u7QZVg4QQkn%252Fimage.png%3Falt%3Dmedia%26token%3D28828ddc-609a-40e9-a97a-5ea6db1d67d1&width=768&dpr=3&quality=100&sign=fbf38b3dd8db49085758218ab3d6883d&sv=3) 5.4/5.6 version. Animation blueprint[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration#animation-blueprint) -------------------------------------------------------------------------------------------------------------------------------- Now we need to create an animation blueprint (ABP) that will combine motion-matching pose and animations from the **Tactical Shooter Pack**. Create a new Animation Blueprint using the **UE5 Manny** skeleton from the pack: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FbYPfPtihznedbGRK4oq1%252Fimage.png%3Falt%3Dmedia%26token%3Db1cc08a3-afc6-429b-aa66-1dc940df0aa5&width=768&dpr=3&quality=100&sign=e7e1b312dfc6e1d56c08c34e89fe4e91&sv=3) Creating a new animation blueprint. Go to the Event Graph and use this snippet for initialization: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FOhBRSilQwqqLwJg9wAnq%252Fimage.png%3Falt%3Dmedia%26token%3D0f78eac5-1836-4339-8731-b5672ecdf1b2&width=768&dpr=3&quality=100&sign=4483b7c30383558fa3388483d68bb565&sv=3) Simple initialization logic. **Tip**_:_ Obtain a reference to your player Blueprint here. In the **Anim Graph**, add a **Retarget Pose From Mesh** node. Set the `Retarget From` to **Custom Skeletal Mesh Component**, and `IK Retargeter Asset` to **RTG\_UEFN\_to\_UE5\_Mannequin**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fiu4clvunWjSQStc0XinS%252Fimage.png%3Falt%3Dmedia%26token%3D82b29459-c14a-483d-b208-5fb41277dbc7&width=768&dpr=3&quality=100&sign=ed5c23c65f2b671e134ddbab8e96e734&sv=3) Retargeting settings. After that, bind the `Source Mesh Component` using the "Mesh" property from the player blueprint. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FgC9FZjqvIC0XdFwiNf8Q%252Fimage.png%3Falt%3Dmedia%26token%3D8b3ca6fe-4583-4a1d-b0a7-68e7a2ed7c7d&width=768&dpr=3&quality=100&sign=d6dfe6e2f3ae0e7b8ddbc24032e6b270&sv=3) Bind the "Mesh" here. Next, add the ABP\_TacticalShooter\_UE5 linked anim instance and blend it with the retargeted pose: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FECVoSVrc5T1ewF6R9fi7%252Fimage.png%3Falt%3Dmedia%26token%3D55a4796e-00cc-4db8-8ed5-52a001718858&width=768&dpr=3&quality=100&sign=c789fc16f03b0348ce087c3447a60df3&sv=3) Simple blending setup. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FxGGlTX4W3LB6MbTvsJZR%252Fimage.png%3Falt%3Dmedia%26token%3D145b5ed9-3543-48f6-9a4f-aa46b1c81caa&width=768&dpr=3&quality=100&sign=1021ba0a342656ecc3b9af4443632b12&sv=3) Override the upper body. **Tip**: Feed the retargeted pose into **Base Pose**, and Tactical Shooter animations into **Blend Pose 0**. Parkour adjustments[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration#parkour-adjustments) -------------------------------------------------------------------------------------------------------------------------------- To properly blend parkour animations, we need to adjust our layering. First, create 2 cached poses: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FhJUGVmudxeK418M7f4AK%252Fimage.png%3Falt%3Dmedia%26token%3D64e7ba04-0121-4c16-a462-4150d088f6bf&width=768&dpr=3&quality=100&sign=80ff680f7cb413dd7573b78f4992e60a&sv=3) Cached poses. **UpperBody** carries Tactical Shooter animations; **MotionMatchingPose** carries full‑body motion. Next, add a new **Layered Blend Per Bone** node: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FXoWy5AJlXPxhVBVF77Do%252Fimage.png%3Falt%3Dmedia%26token%3D7119e17a-40b7-42f4-88ee-a5452b306c0f&width=768&dpr=3&quality=100&sign=5c482ebfd265abdd5f236a317819e930&sv=3) This pose will be used when climbing. Add a **Blend by Bool** node and plug the layered result into **True:** ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F7JBnucvb75WwLF9IMxRc%252Fimage.png%3Falt%3Dmedia%26token%3Dcc34a872-f503-40a9-908c-77b55897b519&width=768&dpr=3&quality=100&sign=c622e679ffae568a50c8931c3ae5d917&sv=3) Use the "Upper Body" as a "False Pose". This will blend between parkour and normal poses using the `DoingTraversalAction` boolean from our character blueprint. Finally, blend the result with the "MotionMatchingPose": ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FhRVsxJoyE20zW1PzFijH%252Fimage.png%3Falt%3Dmedia%26token%3Df494d262-1cb6-4834-b144-19f02947fe96&width=768&dpr=3&quality=100&sign=98063b7e9398e3895618d669ea85ebb2&sv=3) Final blending step. [PreviousOverview](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview) [NextGASP 5.7+](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+) Last updated 4 months ago --- # Player | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player.md) . Overview[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player#overview) -------------------------------------------------------------------------------------------------- **BP\_TacticalShooterCharacter** is a game‑ready player Blueprint responsible for managing weapons, inputs, and actions: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FIXA7np59yB2VCQlyoaXK%252Fimage.png%3Falt%3Dmedia%26token%3Dae4e0207-2e6f-471a-8892-db337f861ba1&width=768&dpr=3&quality=100&sign=85847b5a57c68b4735c2b3520dfa3578&sv=3) Tactical Shooter Character. [🔷First Person Camera](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera) [🔷Tactical Shooter Animation](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation) [🔷IK Motion Player](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/ik-motion-player) Character Settings[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player#character-settings) ---------------------------------------------------------------------------------------------------------------------- **TacticalCharacterSettings** is a Data Asset that tells the player Blueprint which meshes, Animation Blueprints, and weapons to use: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F2j5lvCP1eVWXFD785SBG%252Fimage.png%3Falt%3Dmedia%26token%3D3a3e8bf0-c899-4ecb-9a3f-e807491f25ae&width=768&dpr=3&quality=100&sign=3b58183593c7dc0e30d85492448a7afd&sv=3) Character Settings. The pack supports switching between UE4 and UE5 meshes at runtime, so you can specify different skeletons and Animation Blueprints. By default, the UE5 mesh is used. The **Weapons** list contains weapon Blueprint classes used by the character. BPI Tactical Shooter Character[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player#bpi-tactical-shooter-character) ---------------------------------------------------------------------------------------------------------------------------------------------- This Blueprint Interface connects the player with animation systems and third‑party systems: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FdGxpWuJtRLCKxDmjhkPn%252Fimage.png%3Falt%3Dmedia%26token%3D8024b36b-81b3-49c4-b8c6-576ab837b916&width=768&dpr=3&quality=100&sign=5464ed1a689dbc2f7d272806237b5262&sv=3) Interface functions. * **Get Player Mesh:** Returns the player's **Skeletal Mesh Component**. * **Get Primary Weapon:** Returns the currently equipped weapon. When quick‑drawing a **sidearm**, it returns the pistol. * **Get Main Weapon:** Returns the main weapon. * **Get Tactical Shooter Component:** Returns the `AC_TacticalShooterAnimation` component. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FnBlm7SPaxCztlxMC4XFc%252Fimage.png%3Falt%3Dmedia%26token%3Debe94dc9-d721-448b-be70-082333613a60&width=768&dpr=3&quality=100&sign=87895b3f1ecec321af8f22f18508870d&sv=3) Returns the player mesh here. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FkLxdhhit3Kv6k6b0Q2TQ%252Fimage.png%3Falt%3Dmedia%26token%3D19c00b97-4dc5-4ece-a618-843c869f1332&width=768&dpr=3&quality=100&sign=ac368cdd86485d3e9e3aefe278388a31&sv=3) Returns the currently used weapon. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fw4wCxdqSwqNQNfG53qbu%252Fimage.png%3Falt%3Dmedia%26token%3Dc8823f93-4f9e-4b6b-b319-2dc02973b88b&width=768&dpr=3&quality=100&sign=7d748874f9a453a0060bd7859696f096&sv=3) Returns the current weapon. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FoAeXoRj1WTYdLppiHsjY%252Fimage.png%3Falt%3Dmedia%26token%3D1a5828c4-00d7-484f-9bf8-93faf95e2780&width=768&dpr=3&quality=100&sign=8b7cc9c361647c3370be08c7a75009f3&sv=3) Returns a reference to the animation component. Input Actions[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player#input-actions) ------------------------------------------------------------------------------------------------------------ All Input Actions are implemented in this Blueprint. Here is the list of actions used in the pack: * **Weapon-specific** * Reload * Mag Check * Inspect * Fire * **General** * Aiming * Change Weapon * Change Fire Mode * Look * Move * Sprint * Free Look * Pistol Quick Draw * Lean [PreviousHow to swap weapon mesh](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-swap-weapon-mesh) [NextFirst Person Camera](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera) Last updated 11 months ago --- # Procedural Recoil | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil.md) . Recoil Animation[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#recoil-animation) ----------------------------------------------------------------------------------------------------------------------------- This Actor Component generates smooth weapon‑firing animation at runtime: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F2cJKtq71awQ6dVWVy2IK%252Fimage.png%3Falt%3Dmedia%26token%3D91402215-4c60-42d9-b510-973e6d49cb58&width=768&dpr=3&quality=100&sign=d35508a5bc93e575c1dcdc8e80605a39&sv=3) Recoil Animation component. It is typically added to the character Blueprint, but you can also add it to the weapon. Call its methods as described below. ### Init[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#init) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FBqFBP1WfEQA6KxY8tWOI%252Fimage.png%3Falt%3Dmedia%26token%3D90919f99-c495-4389-b0a3-c5652296f078&width=768&dpr=3&quality=100&sign=71da8759cdea6994c4455f0df84a89ba&sv=3) Init method. Use this function to update active recoil settings. It requires a **Recoil Data Asset** and **Fire Rate** (rounds per minute). ### Play/Stop[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#play-stop) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FnfIETHvkFkA3EDxgpCBJ%252Fimage.png%3Falt%3Dmedia%26token%3Dad47378a-b358-4802-9b12-2c9312669246&width=768&dpr=3&quality=100&sign=76be76e03909b2717000db76dc3e11e8&sv=3) Play, Stop functions. Call **Play** whenever a shot is fired, and **Stop** when the fire input is released. ### Set Aiming[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#set-aiming) Use this method to update the current aiming state: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FzZdyRQBjENywlGllIcX0%252Fimage.png%3Falt%3Dmedia%26token%3D172b83bf-25c1-4730-bc0f-172880c7a9ea&width=768&dpr=3&quality=100&sign=9c78163a69f60975d4b4dd8f09ffd2da&sv=3) Set Aiming. ### Set Fire Mode[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#set-fire-mode) Use this method to update the current fire mode: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Flni1JsKFbdxUiEB7tYkE%252Fimage.png%3Falt%3Dmedia%26token%3D42383d96-6e53-47f3-97cd-c6365f3e948b&width=768&dpr=3&quality=100&sign=0adcf55c8218671ab5dd89b7fb9ded9d&sv=3) Set Fire Mode. Three fire modes are supported: * Semi * Burst * Auto **Note:** For Recoil Animation, there is no technical difference between **Burst** and **Auto**. Recoil Animation Data[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#recoil-animation-data) --------------------------------------------------------------------------------------------------------------------------------------- This Data Asset contains recoil properties, from simple inputs to complex layers such as **Sway** and **Pushback**. ### Input values[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#input-values) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fz9Jr2W2fnQDlckv9K82G%252Fimage.png%3Falt%3Dmedia%26token%3D95992f06-7169-4a89-8288-d96e22dbffac&width=768&dpr=3&quality=100&sign=6fe9127e9f49fee78b302f1daca16cfd&sv=3) Input Hip values. **Hip** and **Aim** properties define recoil ranges. For **Yaw** and **Roll**, a `FVector4` avoids values too close to zero. Final value is computed as: Pseudocode Copy Yaw = Random(Random(YawHip.X, YawHip.Y), Random(YawHip.Z, YawHip.W)); ### Controller Recoil[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#controller-recoil) Adds pitch and yaw to the controller rotation: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F7DBKImowRQX00JwwQ5ya%252Fimage.png%3Falt%3Dmedia%26token%3D92bc5d80-b7b6-4553-bf74-6ec7735b5ba4&width=768&dpr=3&quality=100&sign=081ce57f48f9b34fcc906d5a84c8ef0c&sv=3) Controller Recoil * **Horizontal Recoil Step**: Value range for the yaw input. * **Vertical Recoil Step**: Value range for the pitch input. * **Interp Speed**: Recoil smoothing speed. * **Damping**: How fast recoil should recover. * **Compensation**: How much player input is used for compensation. **1** uses all input; **0** uses none (the weapon settles after firing). ### Recoil Noise[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#recoil-noise) Random **Y-Z** (right/up) movement that adds translation noise when firing: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FaKu45EsBf7G1xVBd2Gig%252Fimage.png%3Falt%3Dmedia%26token%3Daebffd1f-dae7-49a3-b332-dedd0ba9fb20&width=768&dpr=3&quality=100&sign=a944a813a8837172a75e8138feae6940&sv=3) Noise layer. * **Target**: Left and Up target values - these will be added every shot. * **Interp Speed**: Smoothing speed. * **Damping**: How fast noise should go to zero. * **Aim Scalar**: Multiplier applied when aiming. ### Pushback[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#pushback) This layer is applied on the second shot of a burst and auto sequence: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Ff00MF32swAmS089tIg5d%252Fimage.png%3Falt%3Dmedia%26token%3D41ef793f-b28d-4bc9-8aa5-51b8311b94ad&width=768&dpr=3&quality=100&sign=0162aa8c0427144b4fe94c78f2807269&sv=3) **Pushback** layer. * **Amount**: How much backward translation to apply. * **Damping**: How fast the value should go to zero. * **Interp Speed**: General smoothing speed. ### Progress[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#progress) Accumulates **pitch** and **upward translation** with every shot: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F0E2pSxP8HPTdvcwPBIsY%252Fimage.png%3Falt%3Dmedia%26token%3Db9065848-253d-4f78-b0c1-a3cbbc8849f4&width=768&dpr=3&quality=100&sign=a175822415012b437d823788317b979c&sv=3) Progress layer. * **Pitch Interp Speed**: Smoothing pitch speed. * **Pitch Damping**: How fast pitch should go to zero. * **Pitch Amount**: How much pitch to add with each shot. * **Up Interp Speed**: Smoothing up speed. * **Up Damping**: How fast the up translation should go to zero. * **Up Amount**: How much up translation to add with each shot. * **Ads Scale**: Multiplier applied when aiming. ### Sway[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#sway) **Recoil Sway** simulates arm offset when firing: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FxV7iltxEmw3UoQV7JWcY%252Fimage.png%3Falt%3Dmedia%26token%3Ddb7602d3-f68c-42b9-9952-f06c04fc150d&width=768&dpr=3&quality=100&sign=4c0519732a257d8e52cc626b809fce1b&sv=3) Sway properties. * **Pitch Sway**: A value from this range will be added to the pitch sway. * **Yaw Sway**: A value from this range will be added to the yaw sway. * **Roll Sway Multiplier**: Roll will be computed by multiplying the pitch sway with this value. * **Damping**: How fast the sway should go to zero. * **Interp Speed**: Sway smoothing speed. * **Ads Scale**: Multiplier applied when aiming. * **Pivot Offset**: Virtual pivot to add translation. Recommended **X = 30-40** units so the pivot is near the character’s shoulder. ### General[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#general) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FidPhUgL1ZPFKOIN95haK%252Fimage.png%3Falt%3Dmedia%26token%3Dbd4dc4a8-d1d2-4938-a721-c4a5b1fd9844&width=768&dpr=3&quality=100&sign=b40a96726f301bf5d13d1034c2e0c2ff&sv=3) General recoil properties. **Tip**: Pivot Offsets apply recoil as if the weapon rotates around a point in world space. For example, with `(-30, 0, 0)`, recoil appears to pivot around the gun offset by that amount. * **Space Rotation**: Use only if animations have a different root orientation. * **Play rate**: Playback speed multiplier. **Playback Offset** applies only to burst or auto fire modes. In these modes, recoil animation length equals the fire delay (`60 / FireRate`). **Playback Offset** adjusts that length to make the sequence longer or shorter. ### Curves[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#curves) Recoil animation is curve‑driven. The solver uses **Vector Curves** for single and auto/burst fire modes: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FEZoH388YNkxVJgnt5tVn%252Fimage.png%3Falt%3Dmedia%26token%3Db38e978a-433e-46ec-8a96-1e3f35255d24&width=768&dpr=3&quality=100&sign=67862513e976981ba018d3a0e5312ebd&sv=3) Recoil curves. **Tip**: For single‑fire‑only weapons, set **AutoRot** and **AutoLoc** to **None**.How to get recoil values To get recoil values, access the `FTransform RecoilAnimation` property: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FnGRQkUAqDbmPZ0Jr6iEC%252Fimage.png%3Falt%3Dmedia%26token%3D10c4d35a-7599-4ddf-94cf-8db0220f08ca&width=768&dpr=3&quality=100&sign=ebc9882283cf7b66be5b336d24992c84&sv=3) Recoil value. **Tip**: For example, plug this value into a **Transform (Modify) Bone** node in the Animation Blueprint. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FI9lRznqkFlgBePMa7Gp7%252Fimage.png%3Falt%3Dmedia%26token%3D8f0dedc3-b042-43f1-91a2-83e37e2b2d2f&width=768&dpr=3&quality=100&sign=23cd9362a084c0e6be4fd276df85cd25&sv=3) How recoil is applied in the Tactial Shooter Pack. [PreviousIK Motion Player](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/ik-motion-player) [NextWeapons](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons) Last updated 11 months ago --- # How to change character model | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model.md) . 1 ### Assign the skeleton[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model#assign-the-skeleton) Right-click on your character mesh and click "Assign Skeleton". Next, pick the **Manny** skeleton from the Tactical Shooter Pack. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fq5LoXo0HpY9BBvovTbba%252Fimage.png%3Falt%3Dmedia%26token%3De47b6188-687f-4127-9d34-9f6dbf734195&width=768&dpr=3&quality=100&sign=e31143eabb527693811d64dcba56d83d&sv=3) **Note**: This will only work with models rigged to the UE5 Mannequin. 2 ### Create a new Animation Blueprint[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model#create-a-new-animation-blueprint) Pick the **Manny** skeleton from the Tactical Shooter Pack. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fn56plOo0FR5il78xBDmA%252Fimage.png%3Falt%3Dmedia%26token%3Db03f9b90-5ea8-4138-8ae1-273d82ee5db9&width=768&dpr=3&quality=100&sign=86bff17addf9ba7c0d5d7667eeacaaa5&sv=3) Open the blueprint, go to "Class Defaults" and set "Parent Class" to "ABP\_CopyPose". ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FOYfZDIKwyob0qOdyl2fq%252Fimage.png%3Falt%3Dmedia%26token%3Dc312e22d-9b00-4b3c-a3dd-f2ea32166655&width=768&dpr=3&quality=100&sign=e2a0d473188d591b29b0cb8796e1d9b0&sv=3) 3 ### Add a new mesh component[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model#add-a-new-mesh-component) Go to the `BP_TacticalShooterCharacter` blueprint, add a new Skeletal Mesh Component and parent it to "Mesh". ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FvcHq5M6rfgMSirlF766z%252Fimage.png%3Falt%3Dmedia%26token%3Dd8b9d167-d2a3-46e7-88b4-e3479d3ceb4b&width=768&dpr=3&quality=100&sign=9f581744a2bdd35ed90ab008b34a7af6&sv=3) 4 ### Assign the mesh and blueprint[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model#assign-the-mesh-and-blueprint) Select the new mesh component and assign your custom character mesh and the animation blueprint. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FGO4WwERXwiLg96yVlGO1%252Fimage.png%3Falt%3Dmedia%26token%3D38d95380-5838-4cce-a406-4acf9b3d6d40&width=768&dpr=3&quality=100&sign=3139d4ba0e05db388454cdb9d0e1140f&sv=3) 5 ### Adjust the main mesh[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model#adjust-the-main-mesh) Finally, select the "Mesh" component and set its visibility flag to false. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FDJGj6usUJSNKDB7K1cm1%252Fimage.png%3Falt%3Dmedia%26token%3D24e988f4-d775-4580-90fe-35a8bcc30d3f&width=768&dpr=3&quality=100&sign=981bdc95e11cb87fe6b11c5089f84ff8&sv=3) Search for "Anim Tick" and set it to "Always Tick Pose and Refresh Bones". ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FniXHEEVYEGt7Lt8uFOPk%252Fimage.png%3Falt%3Dmedia%26token%3Ddd9851e9-c68f-4215-89b4-ea73d81ecd16&width=768&dpr=3&quality=100&sign=d1157305e3239987789f30dd0ee8aea9&sv=3) [PreviousGASP 5.7+](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+) [NextHow to swap weapon mesh](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-swap-weapon-mesh) Last updated 1 month ago --- # Weapons | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons.md) . BP\_TacticalShooterWeapon[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons#bp_tacticalshooterweapon) ------------------------------------------------------------------------------------------------------------------------------------ This is the base weapon Blueprint class. It handles most player actions, including: * Draw/Holster * Firing * Inspecting * Mag Check * Reloading ### View Settings[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons#view-settings) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FwR4wxvH8Urg84R7yayl3%252Fimage.png%3Falt%3Dmedia%26token%3D99766b18-1854-4665-8974-9a659f097b6c&width=768&dpr=3&quality=100&sign=cc1320f462468ccdb1ef82dccb787795&sv=3) UE4 and UE5 settings. Assign view settings for UE4 and UE5 mesh models here. When switching models, all weapons are forced to use the updated mannequin settings. ### Weapon Animations[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons#weapon-animations) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fg9n2kicFkTEu1sHT6mhP%252Fimage.png%3Falt%3Dmedia%26token%3D977564dd-b6c4-4cc4-9089-99252a4d3545&width=768&dpr=3&quality=100&sign=897f62751d7f9e79a37df9c2ec06f797&sv=3) Weapon Anim Montages. Assign all Anim Montages used by this weapon: * Draw * Holster * Reload Tactical * Reload Empty * Reload Start Empty * Reload Start Tactical * Reload Loop * Reload End * Inspect * Mag Check * Deploy Attachment (only used by Herrington 11-87 and SRM-12) * Stow Attachment (only used by Herrington 11-87 and SRM-12) * Fire * Fire Out ### Firing settings[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons#firing-settings) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FOdPm5WNDHBTf4lH9xCe7%252Fimage.png%3Falt%3Dmedia%26token%3D6036cee7-0e62-4c21-9e17-899b6acff562&width=768&dpr=3&quality=100&sign=acb78e7d7da908557a8ab714922a2fbf&sv=3) Recoil settings. Here you can assign the [Recoil Animation Data](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil#recoil-animation-data) and [Camera Shakes](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera#camera-shakes) assets. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FzPSIpqXwDnDDoBWOw7G1%252Fimage.png%3Falt%3Dmedia%26token%3Df533130c-14d0-45f8-9475-7655dd5934d1&width=768&dpr=3&quality=100&sign=861f797ab2f6023e20fbdcbe92cb8a43&sv=3) Weapon properties. * **Max Ammo**: Ammo capacity. * **Fire Rate**: Rounds per minute. * **Burst Length**: Number of rounds per burst. * **Use Bursts**: Enables burst mode. * **Use Full Auto**: Enables full‑auto. * **Is One Handed**: True for all pistols and **sidearms** (guns held with one hand). * **Active Fire Mode**: Default fire mode. BPI Tactical Shooter Weapon[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons#bpi-tactical-shooter-weapon) ----------------------------------------------------------------------------------------------------------------------------------------- This Blueprint Interface is used by Animation Blueprints to get essential weapon info. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FUon7UX1JqFvDdnbkJ6Od%252Fimage.png%3Falt%3Dmedia%26token%3Dfb96652a-418e-4ccf-8d4f-c4a9648dcbcb&width=768&dpr=3&quality=100&sign=6c2314c301063b1eb40aecb7e864e4f6&sv=3) Interface functions. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F5YGqvYWjdHogEyzjuXKU%252Fimage.png%3Falt%3Dmedia%26token%3D1f6efac2-3dc5-42dc-8f80-bfa3b6402e6b&width=768&dpr=3&quality=100&sign=c5fb2757e7a4ca93e3b7da23defb7722&sv=3) Returns current active fire mode. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fxz0pkX7qOY2RQlA7HnX2%252Fimage.png%3Falt%3Dmedia%26token%3D65f8fc16-fd88-4661-8d49-bf2cb62441b6&width=768&dpr=3&quality=100&sign=11827d62a60081e043f695ab112ada27&sv=3) Returns aim point FTransform. **Aim Point** is a socket transform relative to the weapon. In the example above, the default `AimPoint` socket is used; **Component** space means relative to the weapon. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FHqWw0jCJFmpdRnvGDwIN%252Fimage.png%3Falt%3Dmedia%26token%3D5afb6b25-9cd2-4fc6-afe8-812d53021993&width=768&dpr=3&quality=100&sign=894d46f095010d2232f4273f07403e18&sv=3) Resetting the weapon. **Reload Weapon** resets the current weapon ammo (e.g., when the reload animation ends). ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Faz1Rai5Zb0jfSfvUKCki%252Fimage.png%3Falt%3Dmedia%26token%3D73c5e983-d855-4f55-b8cc-6c59b84500c9&width=768&dpr=3&quality=100&sign=9b9369a3c07b770973010b359fe1f5bc&sv=3) Returns current and max ammo. **Get Ammo** returns current and max ammo (used to animate magazine parts: spring, follower, cartridges). Input blocking[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons#input-blocking) --------------------------------------------------------------------------------------------------------------- While an action is playing (e.g., reload, mag check, inspect), weapons block other actions. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FjVFCwqmhJCLqMd76lac2%252Fimage.png%3Falt%3Dmedia%26token%3Db3f74f28-4910-41b7-8dd2-cc3cd5ff0b76&width=768&dpr=3&quality=100&sign=80d6d1fa405934d6fb14ab6b37b7f72b&sv=3) Called when an action starts. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FV6vvKyFOapsat8rRVO94%252Fimage.png%3Falt%3Dmedia%26token%3D14adbe66-71e2-40da-b8a9-07cdacd3652c&width=768&dpr=3&quality=100&sign=9eb0dbfdf160b88b4abcd86f8e1b9c88&sv=3) Called when an action ends. All actions have a check before starting an action: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FKhE7UYwebQ4hgAM4uKS7%252Fimage.png%3Falt%3Dmedia%26token%3D5626da2c-95f4-4887-a992-2a7d2b3dc65d&width=768&dpr=3&quality=100&sign=bdbd2f22889b76e00a01100dc5e7985f&sv=3) Only play actions if no action is playing. [PreviousProcedural Recoil](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil) [NextSounds](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/sounds) Last updated 11 months ago --- # Character | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character.md) . How it's animated[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#how-its-animated) ---------------------------------------------------------------------------------------------------------------------- All animations target the **UE5 Mannequin** skeleton and rely on Epic’s IK bone set: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FteFCaPYTuQupNUA6lYG0%252Fimage.png%3Falt%3Dmedia%26token%3Db0272da6-699f-43ff-a7e8-ebb326dde088&width=768&dpr=3&quality=100&sign=db6bd5a5dc1a1db861a1fb7882d7b8c5&sv=3) IK Bones * **ik\_hand\_gun** drives weapon movement.. * **ik\_hand\_r** contains right‑hand animation data. * **ik\_hand\_l** contains left‑hand animation data. The setup also uses **Virtual Bones (VBs)** for procedural animation: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FQRI7iIwfMZORammsXxmv%252Fimage.png%3Falt%3Dmedia%26token%3D7c554bab-8649-4039-8b7e-441d44a3b1bf&width=768&dpr=3&quality=100&sign=b5e0e2741bb79aabeeaec061679e1044&sv=3) Virtual Bone setup. * **VB ik\_hand\_gun** (targets **ik\_hand\_gun**): Used to position the pistol during quick draw so the **sidearm** is correctly placed relative to the **right hand**. * **VB ik\_hand\_gun\_pivot** (targets **ik\_hand\_gun**): All weapons are attached to this bone. * **VB hand\_r/l** (targets **hand\_r/l**): IK targets for the right/left hand. * **VB lowerarm\_r/l** (targets **lowerarm\_r/l**): Hint/pole targets for the right/left arm. * **VB recoil\_hand\_r** (targets **root**): Preserves right‑hand recoil when holding a pistol one‑handed. * **VB ik\_hand\_gun\_pose** (targets **root**): Used to compute the aiming pose. **Tip**: Weapons are not parented to the right hand; they attach to **VB ik\_hand\_gun\_pivot**. This bone is blended in the Animation Blueprints so the final pose looks correct. Animation Blueprints[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#animation-blueprints) ----------------------------------------------------------------------------------------------------------------------------- The pack uses modular **Animation Blueprints**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FmcgIcrW0su4fxF2D7wYm%252Fimage.png%3Falt%3Dmedia%26token%3Da095252d-91a6-4968-af98-c24ded538cff&width=768&dpr=3&quality=100&sign=9d426988f30369914219e22e477e8ea5&sv=3) Animation Blueprints used in the pack. ### ABP\_TacticalShooter\_UE5[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#abp_tacticalshooter_ue5) This is the main Animation Blueprint; it incorporates the other animation assets. Here’s how it works: #### Base character pose[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#base-character-pose) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FXnrP6nGOxoaIhZOmhwRm%252Fimage.png%3Falt%3Dmedia%26token%3D0014cd33-1f50-489b-ae00-30e7adb328a1&width=768&dpr=3&quality=100&sign=3d1d0e3790061cfc57fc210b92d814cf&sv=3) Base pose. The base combines a static idle **Anim Sequence** with the main **Anim Montage** (**DefaultSlot**). #### Curve-based animations[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#curve-based-animations) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FOCVpGAIxteihqPng5HTU%252Fimage.png%3Falt%3Dmedia%26token%3Dc076e6fc-2dcb-4248-8897-fad3c0b0a715&width=768&dpr=3&quality=100&sign=1982a2e4f00b1bc5cedcbf258a656eca&sv=3) Procedural movement graph. General movement (idle, walk, sprint, jump) is curve‑driven and procedural, applied primarily via **Apply Additive** nodes. The **Grounded** and **InAir** states provide animation curves such as: * **IK\_X**/**Y**/**Z**: position. * **IK\_Pitch**/**Yaw**/**Roll**: rotation. * **Camera Pitch**/**Yaw**/**Roll**: camera animation. These curves are layered on top of the base pose. Finally, we blend **curve values** (not poses) using a helper bone: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FoSIRBVEn1M5hegrKwRDq%252Fimage.png%3Falt%3Dmedia%26token%3D952ccfcd-afb1-4eec-b9f0-ba28002456e6&width=768&dpr=3&quality=100&sign=215011a257ec16810d2f7d6af1762302&sv=3) Procedural movement blending. **VB Curves** is a dummy bone used solely to blend curve values - not to animate a pose. #### Pistol quick draw[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#pistol-quick-draw) This layer applies quick‑draw and holster animations additively on top of the character pose: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FPLEbS1y6h7btJI1t63yt%252Fimage.png%3Falt%3Dmedia%26token%3D265ace4c-42fc-4d27-81c4-28148ed5d1b1&width=768&dpr=3&quality=100&sign=06d55b4f7768b666cca78585ae866b63&sv=3) Pistol Quick Draw layer. Computes an additive pose per weapon, letting a single animation work across different poses. **Tip**: Originally authored for **TR15**, but reused across weapons via this layer.Left hand actions Apply left‑hand actions (e.g., take an item, push a door): ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fgbpgz18dV2feZcPyxbKp%252Fimage.png%3Falt%3Dmedia%26token%3D05059ab1-f1b7-43a7-bde0-b30e28be7722&width=768&dpr=3&quality=100&sign=3637f91a11db9902720eedc1a6a53086&sv=3) Left Hand Actions layer. #### Finger firing motion[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#finger-firing-motion) Animate the right index finger while firing: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FfVytG91Su08JLFkOOVLg%252Fimage.png%3Falt%3Dmedia%26token%3D93f910f7-e272-4230-8b3a-669bb2943449&width=768&dpr=3&quality=100&sign=59929c9a810519120606b81297896341&sv=3) Finger firing motion. A float smoothly interpolates to **1** while firing to rotate the finger, then returns to **0** afterward. ### ABP\_IK\_Pose[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#abp_ik_pose) Positions the weapon and hands before the main procedural pass. It works in stages: #### VB ik\_hand\_gun\_r[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#vb-ik_hand_gun_r) First, override **VB ik\_hand\_gun\_r** with the base idle pose when quick‑draw is enabled: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FtveIWOu52DCtPdFysVmr%252Fimage.png%3Falt%3Dmedia%26token%3D5906911d-8425-499e-855c-2a7fe7f6e08f&width=768&dpr=3&quality=100&sign=079ef8579c8db8cb6bbf77bdb0c36e28&sv=3) VB ik\_hand\_gun\_r override. This is important for positioning the pistol properly. #### Copying the animation data[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#copying-the-animation-data) Copy the animation data from real bones to VBs. This lets us apply IK additively instead of **overriding** and breaking the pose: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F7NcgJMO1deugVmHvlCHX%252Fimage.png%3Falt%3Dmedia%26token%3D323cf87a-49fe-4cdd-90aa-f5327eb29580&width=768&dpr=3&quality=100&sign=3e308b24882516203910dcd267e39009&sv=3) Copying the animation data. Then override **VB hand\_r** and **VB hand\_l** with the current grip pose: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F4OPAgw3wK61k1X36qvM9%252Fimage.png%3Falt%3Dmedia%26token%3D9005c312-0e59-4ef4-aa85-11257100dda7&width=768&dpr=3&quality=100&sign=6135d584f346dbbc36062d0eb91b90db&sv=3) Left hand pose override. By default, all weapons attach the left hand to the gun. You can smoothly disable this via a curve - for example, many animations **do this** to let the left hand move freely: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FbCEUaL8mUAfpvMYFlw0U%252Fimage.png%3Falt%3Dmedia%26token%3Df0e3322c-7cb9-475b-91ae-e1002dd7c9aa&width=768&dpr=3&quality=100&sign=ece127df684cb3d191becf890112ea41&sv=3) **Mask\_Grip** can disable the left‑hand attachment. #### Offsets[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#offsets) Finally, apply **FTransform** offsets to all IK bones. ### ABP\_IK\_Ads[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#abp_ik_ads) Applies procedural aiming in two steps: 1. Snap the weapon to the camera socket. 2. Apply the **Aim Point** local transform. Note: The **FPCamera** socket is attached to **neck\_02**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F5lcTv1csf35Ao0EcnKez%252Fimage.png%3Falt%3Dmedia%26token%3Da8f2512c-8356-420b-8059-127042b5e1f2&width=768&dpr=3&quality=100&sign=adcd6995ebd6e37684f82814ecb51918&sv=3) Camera socket. ### ABP\_IK\_Sway[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#abp_ik_sway) Applies aiming and movement sway to **VB ik\_hand\_gun**. Sway is computed in **AC\_TacticalShooterAnimation**; this layer simply **retrieves** the **FTransform** and applies it to the bone: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FWIbsxkZaACOwbfc7R4hp%252Fimage.png%3Falt%3Dmedia%26token%3D8a4af3e6-814a-4e21-9531-c2ad0b999715&width=768&dpr=3&quality=100&sign=ac7f4e097b9448616715de0596be174c&sv=3) Sway layer. ### ABP\_IK\_Main[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#abp_ik_main) The final Animation Blueprint, responsible for: 1. Recoil 2. IK Motions 3. Leaning and Aim Offset 4. IK 5. Hiding the head bone #### Recoil[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#recoil) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FmAzRV3NZfD6qz7crVBpl%252Fimage.png%3Falt%3Dmedia%26token%3D302ecf71-fc85-4852-8c71-46f4349cced0&width=768&dpr=3&quality=100&sign=6794eef1d6e609e108c04ffc6bd61ab6&sv=3) How recoil is applied. Recoil animation values are **retrieved** from the **Recoil Animation** component and applied via **Transform (Modify) Bone**. We preserve the right‑hand pose before applying recoil (needed for pistol quick draw). #### IK Motions[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#ik-motions) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FemltrqMCE7gUd1SDWzoU%252Fimage.png%3Falt%3Dmedia%26token%3Da88ffa44-6b7c-46fe-86b0-86f1cdd33d57&width=768&dpr=3&quality=100&sign=a64c7d802e9db96fc3b5d84a44463ef7&sv=3) Additive motions IK Motions are applied similarly to recoil. Motions include aiming and fire‑mode transitions ("boop"/"jiggle" animations). #### Leaning[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#leaning) Leaning distributes the angle evenly across spine bones: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fn3tZISYjGXhMOrOTW6ep%252Fimage.png%3Falt%3Dmedia%26token%3De6cd8f26-cd3c-4267-8fb3-43e23df2dda5&width=768&dpr=3&quality=100&sign=5e3f3ec4fe006edab816aac6b2421edc&sv=3) Leaning rotation. #### Curve-based animations[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#curve-based-animations-1) Movement (idle, walk, sprint, jumping) is applied directly to **VB ik\_hand\_gun**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FWEOaugYOs7UTZEbJ5yqp%252Fimage.png%3Falt%3Dmedia%26token%3D8edb89ed-b65d-419e-85dd-ffa0bd416db2&width=768&dpr=3&quality=100&sign=df2b380552de138abd632005c742ba96&sv=3) Curve-based animations. Curve values (**IK\_X/Y/Z**, **IK\_Pitch/Yaw/Roll**) are **retrieved** here and plugged into the respective translation and rotation axes. #### Aim Offset[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#aim-offset) Like leaning, **Pitch** is applied across spine bones to make the character look up and down: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F6AIv3qvYBu4adEoCKbkS%252Fimage.png%3Falt%3Dmedia%26token%3D61d8e352-52c9-4637-a9b4-38be1d8ff901&width=768&dpr=3&quality=100&sign=20baac32647a39fdf1a4b2c238d68e2c&sv=3) Spine bone rotation. #### IK and head bone[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character#ik-and-head-bone) Finally, **Two‑Bone IK** nodes apply IK using **VB hand\_r** and **VB hand\_l** as targets. We also scale the head bone to zero if `HideHeadMesh` is **true**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Ftw9KKtj5ac0UtK3IvAhn%252Fimage.png%3Falt%3Dmedia%26token%3Ddf2b098b-40ec-493b-9e5f-3bec7c5af3ce&width=768&dpr=3&quality=100&sign=3b9a53e6777fddd47a1e344e5670691f&sv=3) Final steps. [PreviousSounds](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/sounds) [NextProcedural Animation Settings](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings) Last updated 11 months ago --- # Weapons | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons.md) . Weapon ABPs[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons#weapon-abps) --------------------------------------------------------------------------------------------------------- All guns have their own Animation Blueprint in **/Animations/UE5/**. Each has a simple structure consisting of a reference pose and a main **Montage** slot. ### WK-11 Viper ABP[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons#wk-11-viper-abp) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FOXksF8xh2giO5WLakUKe%252Fimage.png%3Falt%3Dmedia%26token%3D38f72a25-299d-439c-8f5c-fbc47a5fde0f&width=768&dpr=3&quality=100&sign=ad3a495b50f3c233ed51455cadb1db4d&sv=3) ABP\_WK-11\_Viper. * **DefaultSlot:** Plays animations that animate the **bolt slide**. * **MagSlot:** Plays mag‑check and inspect animations to preserve the bolt‑slide state. **Tip**: Bolt-slide state can change depending on the ammo state. For example, when out of ammo, the bolt will be locked back. ### TR15[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons#tr15) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FbTkLP4JjW1uWHefF2Tj0%252Fimage.png%3Falt%3Dmedia%26token%3Dbeece76d-3a28-4f9c-b8fd-b6cc46ed8884&width=768&dpr=3&quality=100&sign=d7242c5915f0261d4dca66cea6f99204&sv=3) ABP\_TR15. Similar to the WK‑11 Viper, **TR15** also preserves its bolt state. * **BoltSlot:** Plays all animations that animate the bolt. * **DefaultSlot:** Used for all other animations. ### Herrington 11-87[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons#herrington-11-87) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FnyskUk3MapmiU6tzmn1w%252Fimage.png%3Falt%3Dmedia%26token%3D8ef895df-7474-4964-857d-872259606df8&width=768&dpr=3&quality=100&sign=c0deeabcc6bd36f0f5c45d1c253df3e3&sv=3) ABP\_Herrington\_11-87. * **DefaultSlot:** Used for the inspect motion. * **DefaultReload:** Used for reload and firing motions. ### SRM-12[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons#srm-12) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F01uMBtBSNdBRm4U9CHrg%252Fimage.png%3Falt%3Dmedia%26token%3D16bf8ba1-40c5-4718-a8b8-fb876721dc2d&width=768&dpr=3&quality=100&sign=9adfe1374ed539eeee2f260e659d693a&sv=3) ABP\_SRM-12. * **DefaultSlot:** Used for animations that do not animate bipods. * **BipodSlot:** Used for bipod stow and deploy motions. [PreviousProcedural Animation Settings](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings) [NextAttachments](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/attachments) Last updated 11 months ago --- # Magazines | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/magazines.md) . Mag meshes[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/magazines#mag-meshes) --------------------------------------------------------------------------------------------------------- Magazine‑fed weapons (WK‑11 Viper, TR15, and SRM‑12) use separate Skeletal Meshes for magazines: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FMTfbsEcNnNtDTN3ZuSyi%252Fimage.png%3Falt%3Dmedia%26token%3D2a0e006c-35ad-48cb-b6f0-42463b12be78&width=768&dpr=3&quality=100&sign=cf5effad316b4e532f83eb76bbb5f408&sv=3) TR15 base mesh. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FDttguHhyCQLJdRzpkBfK%252Fimage.png%3Falt%3Dmedia%26token%3D85de6c30-691a-4170-a565-978b06d2c2e8&width=768&dpr=3&quality=100&sign=12c37f8cf25e6c929cc7951e657e1752&sv=3) TR15 magazine mesh. Magazine skeletons each have their own Animation Blueprint, based on the **ABP\_Magazine** template. ABPs[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/magazines#abps) --------------------------------------------------------------------------------------------- This Blueprint samples the current magazine ammo to drive animation: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fpm4HwKtpUy41NGmm029X%252Fimage.png%3Falt%3Dmedia%26token%3De41f4a1e-3aba-4799-b80c-f664516b5c18&width=768&dpr=3&quality=100&sign=a180abadf9b7ee8ccefd0c075c1926fe&sv=3) How mags are animated. Weapon‑specific Blueprints override only these essential properties: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F7aP8trvpc4rYGDcl4Ivs%252Fimage.png%3Falt%3Dmedia%26token%3Df0a692ed-ab87-4fac-be2e-310ec5fb2e84&width=768&dpr=3&quality=100&sign=77c7e09f3af29da7f8b6da73dbe4725c&sv=3) Mag ABP properties. * **Magazine Animation**: Anim Sequence that animates the spring, follower, and cartridges. * **Mag Capacity**: Maximum ammo count for the magazine. * **Anim Time Step**: How much time (in seconds) it takes to process a single bullet. [PreviousAttachments](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/attachments) [NextCamera](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/camera) Last updated 11 months ago --- # Attachments | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/attachments.md) . > This section is in progres... [PreviousWeapons](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons) [NextMagazines](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/magazines) Last updated 11 months ago --- # Welcome | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/welcome.md) . The pack includes realistic weapon animations, a full‑body operator character, procedural animation, and sounds. [NextInstallation](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/installation) Last updated 11 months ago --- # IK Motion Player | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/ik-motion-player.md) . Component[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/ik-motion-player#component) -------------------------------------------------------------------------------------------------------------- **AC\_IKMotionPlayer** generates procedural shakes when aiming or changing fire mode. It exposes a single method: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FoiGucBmLG5pzlJkypyG0%252Fimage.png%3Falt%3Dmedia%26token%3D2305c31d-9adf-4981-afec-805973a67505&width=768&dpr=3&quality=100&sign=4cd04e427ec8649ff5dc4e1631275905&sv=3) Use it to play a motion. To extract the animation **values** (translation & rotation), access the `IKMotion` property: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FT8jD7sk7fmPpXD3xUPU4%252Fimage.png%3Falt%3Dmedia%26token%3Dd5befd0a-7ce7-4412-b23f-3c6190f519bc&width=768&dpr=3&quality=100&sign=41e262e263df312507bf9753aeaf6fe8&sv=3) IK additive animation. IK Motion[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/ik-motion-player#ik-motion) -------------------------------------------------------------------------------------------------------------- This Data Asset contains motion settings. To create a new IK Motion, right‑click and select **Misc → Data Asset → IK Motion**. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F1o5j1uYFSZ2aEj83kvzn%252Fimage.png%3Falt%3Dmedia%26token%3D8261fcd5-495a-486a-9f86-028d4d9b23ea&width=768&dpr=3&quality=100&sign=c18b892043541a9446dae995cbbed5e6&sv=3) IK Motion data asset. * **Position** and **Rotation**: Curves that define the animation for each translation and rotation axis. * **Position/Rotation Scale:** Controls the motion magnitude. * **Blend Time**: How long (in seconds) it takes to blend in a new motion. * **Play Rate:** Playback speed multiplier. [PreviousTactical Shooter Animation](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation) [NextProcedural Recoil](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil) Last updated 11 months ago --- # First Person Camera | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera.md) . **AC\_FirstPersonCamera** is an Actor Component used to apply camera animations, recoil shakes, free look, and FOV updates at runtime. Initialization[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera#initialization) --------------------------------------------------------------------------------------------------------------------------- ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FXUwzJzqCjlRr6k24nnLP%252Fimage.png%3Falt%3Dmedia%26token%3D0cc5ab13-1114-46fe-9d2a-37802fa5f94b&width=768&dpr=3&quality=100&sign=a29795352e8a69c581f3174513e4c026&sv=3) Updating the target camera component. First, specify that the **Camera** will be animated. Use the default `Camera` component that comes with `ACharacter`. Then, update the player mesh reference: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FIXUXkKcOHuMCULTZIrqx%252Fimage.png%3Falt%3Dmedia%26token%3D493c60f7-5c37-49d6-8c08-018950b44725&width=768&dpr=3&quality=100&sign=6b80388c35e618b54aad048eaea7ffb0&sv=3) Updating the character mesh. Free Look[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera#free-look) ----------------------------------------------------------------------------------------------------------------- Free look is implemented by calling these methods on the Tactical Camera: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FiZGZ2EwAhZTgJ8wCmm37%252Fimage.png%3Falt%3Dmedia%26token%3D70097474-fdef-496a-86ae-3e23680cb579&width=768&dpr=3&quality=100&sign=27210adc3254095d6ff7d7483cdfd58a&sv=3) Handling free look. And by controlling player look input: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FZIaEQZnqOxO2cGqfmh2T%252Fimage.png%3Falt%3Dmedia%26token%3Dec904c5e-e783-49c3-a3ae-40c8169a476c&width=768&dpr=3&quality=100&sign=187e65387655cf887900674932c50d68&sv=3) Taking free look input into account. **Note:** During free look, only the camera should receive look input. FOV[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera#fov) ----------------------------------------------------------------------------------------------------- The camera also updates the FOV when aiming: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Ff4MrR3r7f998AWfE39wb%252Fimage.png%3Falt%3Dmedia%26token%3D28d89bf3-dd3e-4917-8f3a-6abd8c78b533&width=768&dpr=3&quality=100&sign=c53829e964eac227c63aa3cc80c1fc58&sv=3) Updating FOV. This logic switches between aiming and non‑aiming FOV states; the component handles FOV interpolation under the hood. Camera Shakes[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera#camera-shakes) ------------------------------------------------------------------------------------------------------------------------- The `Play Camera Shake` function is used to play shakes when firing: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FiKplA9gmN9os8sDo2NuX%252Fimage.png%3Falt%3Dmedia%26token%3D4e26d630-7838-4ba3-b173-5c30264bbf8f&width=768&dpr=3&quality=100&sign=6ecf56f9bbb9e1e203e1b4695bc4800e&sv=3) How to play a camera shake. `DA_FirstPersonCameraShake` is a Data Asset that contains shake settings: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FleVxuCWiOIngpSoAre5t%252Fimage.png%3Falt%3Dmedia%26token%3De9579923-f3f8-49d6-946f-d2c7b692fbed&width=768&dpr=3&quality=100&sign=006df1d3c6e676a98d94707fa5c4f072&sv=3) Camera Shake settings. * **Rotation Curve**: Camera rotation animation. * **Pitch**/**Yaw**/**Roll**: Range of the pitch/yaw/roll value. * **Smoothing**: Interpolation speed. * **Play Rate**: Playback speed multiplier. [PreviousPlayer](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player) [NextTactical Shooter Animation](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation) Last updated 11 months ago --- # Tactical Shooter Animation | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation.md) . **AC\_TacticalShooterAnimation** is a central Actor Component that serves as an interface between gameplay and animation. It stores and updates weapon settings and input values (e.g., leaning angle, current gait). Tactical View Settings[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation#tactical-view-settings) -------------------------------------------------------------------------------------------------------------------------------------------------- This data asset is covered in detail here: [Procedural Animation Settings](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings) . To update the current settings, it's necessary to directly update the reference: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FKABA2KLdcq7OJGP1Pnzu%252Fimage.png%3Falt%3Dmedia%26token%3D8255bc16-8435-4345-86ea-b2eb625ac4b4&width=768&dpr=3&quality=100&sign=bcfee56ac2cfa12160a35a4a53e549f4&sv=3) Updating settings when equipping a new weapon. Inputs[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation#inputs) ------------------------------------------------------------------------------------------------------------------ This component also **stores** player input information, specifically: ### Leaning Input[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation#leaning-input) Controls how much the player can rotate left and right to **peek** around corners: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FH4LWAQrZg3vQK2gBCeFM%252Fimage.png%3Falt%3Dmedia%26token%3Dd364a831-0120-4577-b00c-8d2f4f58a5cc&width=768&dpr=3&quality=100&sign=f3c5a024c53d55dd1fca42a36c592801&sv=3) Updating leaning angle. ### Gait[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation#gait) Represents the current movement state in the range **\[0–2\]**, where: * 0 stands for idle * 1 stands for walk * 2 stands for sprint Used to control the blending of idle, walk, and sprint animations: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FXTJHV0VY2qz7KhzjM97w%252Fimage.png%3Falt%3Dmedia%26token%3D224b7211-7c80-473d-a963-fe54c2db9d92&width=768&dpr=3&quality=100&sign=f5f8e18d2c3bbb0c890e7342feef33ae&sv=3) Updating movement gait. ### Is Aiming[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation#is-aiming) Used to control procedural aiming: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F0v9xgwBgjxabX5y1LjxM%252Fimage.png%3Falt%3Dmedia%26token%3De0926fd4-f3ec-431b-a4a9-cd04ea349998&width=768&dpr=3&quality=100&sign=f8ece169d0d012fd108ca5d4077c5999&sv=3) Updating aiming. ### Is Firing[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation#is-firing) This flag has two applications in Animation Blueprints: 1. Rotating the right index finger to press the trigger. 2. Controlling the idle sway intensity when firing. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F9pwSfMWEA0T2Y8faNhd1%252Fimage.png%3Falt%3Dmedia%26token%3D19590f3a-0445-445a-810c-637ee319d018&width=768&dpr=3&quality=100&sign=533c8d0c229a77290b203f046c7c32c8&sv=3) Whether firing is active or not. [PreviousFirst Person Camera](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera) [NextIK Motion Player](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/ik-motion-player) Last updated 11 months ago --- # Sounds | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/sounds.md) . All action sounds are played using the **Play Sound** notify attached to weapon animations: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F68ximqBHP0sRpaSfmWLC%252Fimage.png%3Falt%3Dmedia%26token%3D5a3d85ee-5ed5-404d-ac04-74f576fb39d2&width=768&dpr=3&quality=100&sign=80fb11be277cb053006b6ed623822d45&sv=3) Play Sound notify. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fcpw6qORMB8VVyMvy7vOY%252Fimage.png%3Falt%3Dmedia%26token%3D47b70e53-7640-4dce-905c-15e9d4a1881c&width=768&dpr=3&quality=100&sign=cee6d3b3a2e0c8acabdafab1723be6c4&sv=3) Sound settings. The only exception is firing sounds, which are played via the weapon Blueprint: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FMBKj4CPwarBwIpRn52Xp%252Fimage.png%3Falt%3Dmedia%26token%3Dd74e036c-2bfa-4dab-ab33-cdb811780f5a&width=768&dpr=3&quality=100&sign=d4ff33dd3d100e552ac5a544dc2c5562&sv=3) Firing sounds. [PreviousWeapons](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons) [NextCharacter](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character) Last updated 11 months ago --- # FPS Animation Pack Integration | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/fps-animation-pack-integration.md) . > This tutorial is in progress... Last updated 11 months ago --- # Procedural Animation Settings | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings.md) . Tactical Shooter View Settings[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings#tactical-shooter-view-settings) --------------------------------------------------------------------------------------------------------------------------------------------------------------------- Data Asset that contains animation properties used by gameplay and **Animation Blueprints**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F0fzlKXmwF3vWG7Qujdbq%252Fimage.png%3Falt%3Dmedia%26token%3D6c98ce8d-e0a5-4cdd-ae11-1d878f7723e3&width=768&dpr=3&quality=100&sign=f89779283059fa3f437830c72fa876c7&sv=3) Tactical Shooter View settings. ### General[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings#general) * **Idle Pose**: Base idle pose for the weapon. * **Character Animations**: Struct listing all **Anim Montages** used by the Blueprints. ### Procedural[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings#procedural) * **Viewmodel**: Contains offsets for first‑person view. * **Pivot Offset**: Weapon position offset. * **Pose Offset**: FTransform offset for weapon and arms. * **Sprint Offset**: FTransform offset, applied only when sprinting. * **Right**/**Left Hand Offset**: Position offset for the right/left hand. * LeftElbowSprintOffset: Left elbow offset applied only when sprinting. * **Pistol Quick Draw Viewmodel**: Has the same exact properties as the Viewmodel. * **Aiming**/**Movement Sway** * **Stiffness**: Oscillation factor in range \[0;1\]. * **Damping**: Critical damping factor in range \[0;1\]. * **Interp Speed**: Smoothing speed. * **Smoothing Speed**: How fast the value should go to zero. * **Clamp Value**: Max allowed value. Locomotion[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings#locomotion) ----------------------------------------------------------------------------------------------------------------------------- * **Walk** and **Sprint Intensity**: Controls the influence of walk and sprint animations. How these assets are used[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings#how-these-assets-are-used) ----------------------------------------------------------------------------------------------------------------------------------------------------------- ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FFK10ynKSsKHHbKKpURUO%252Fimage.png%3Falt%3Dmedia%26token%3De7629298-ccb1-4a3e-8821-d470933f1676&width=768&dpr=3&quality=100&sign=e69ab5256d938f7c4b26d1a979f73942&sv=3) All View Settings used in the package. **Tactical Shooter View Settings** are used in both gameplay and **Animation Blueprints**. Each weapon has two settings assets: one for **UE5** animations and one for **UE4** animations. **Tip**: The Tactical Shooter Pack allows switching **UE4** and **UE5** meshes at runtime. [PreviousCharacter](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character) [NextWeapons](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons) Last updated 11 months ago --- # Unknown \# PRAS Documentation ## PRAS Documentation - \[Welcome!\](https://kinemation.gitbook.io/pras-documentation/welcome.md): This is Procedural Recoil Animation System documentation. - \[Recoil Animation\](https://kinemation.gitbook.io/pras-documentation/basics/recoil-animation.md): In this section we will cover the recoil animation details. - \[Recoil Settings\](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings.md): In this section we will cover all recoil-related properties. - \[Getting Set Up\](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up.md): In this tutorial you will learn how to set up the plugin. - \[How to implement attachments\](https://kinemation.gitbook.io/pras-documentation/tutorials/how-to-implement-attachments.md): In this tutorial, we will cover how to influence recoil on the fly. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/pras-documentation/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings.md). # Recoil Settings All settings are located in the \*\*Recoil Data\*\* asset (to create one, right-click and go \*\*Miscellaneous -> Data Asset -> Recoil Data\*\*). This asset contains many sections, and we will cover them one by one. ## Controller Recoil

Controller Recoil.

\* \*\*Horizontal Recoil Step\*\*: a value will be computed in this range and added to the controller Yaw. \* \*\*Vertical Recoil Step\*\*: a value will be computed in this range and added to the controller Pitch. \* \*\*Recoil Smoothing\*\*: interpolation speed for X (Yaw) and Y (Pitch). \* \*\*Damping\*\*: how fast the both Pitch and Yaw will go to zero, \* \*\*Compensation\*\*: how much player input to take into account. 1 - 100%, 0 - 0%. \*\*Controller Recoil\*\* is added directly to the \*\*Player Controller\*\* using \*AddPitchInput\* and \*AddYawInput\* methods. ## Curve This section contains curves that we covered in the previous chapter:

Vector curves for translation and rotation,

## Input These properties generate main target recoil values:

Input properties.

\* \*\*Pitch/Yaw/Roll Aim\*\*: a value will be generated in this range and added to the pitch/yaw/roll when aiming. \* \*\*Pitch/Yaw/Roll\*\*: a value will be generated in this range and added to the pitch/yaw/roll when hip firing. \* \*\*Kick/Kick R/ Kick Up Aim\*\*: a value will be generated in this range and added in the forward/right/up direction when aiming. \* \*\*Kick/Kick R/ Kick Up\*\*: a value will be generated in this range and added in the forward/right/up direction when aiming. It's worth noting how the random generation happens in runtime: \* For 2D vectors, it will compute a value via FRandRange(X, Y) \* For 4D vectors, it will compute a value via FRandRange(FRandRange(X, Y), FRandRange(Z, W)). We do it this way to avoid getting close-to-zero values, which sometimes look horrible. ## Smoothing This group is only applied when auto/burst firing.

Smoothing properties.

\* \*\*Smooth Rot/Loc\*\*: interpolation speed for a rotation/translation axis. If the value is zero - no interpolation will be applied. \* \*\*Multi Rot/Loc\*\*: multipliers for a rotation/translation axis. \* \*\*Smooth Roll\*\*: if roll sign should change every shot. Keep it true to achieve the best results. ## Noise Layer This layer applies translation 2D noise in the YZ plane (right and up movement).

Noise properties.

\* \*\*Noise 2DTarget\*\*: this value will be added to the translation of every shot. \* \*\*Noise 2DAccel\*\*: interpolation speed for right and up axes. \* \*\*Noise 2DZero\*\*: how fast each axis will go to zero. \* \*\*Noise Aim Scalar\*\*: multiplier applied when aiming. ## Pushback This layer is applied on the second shot of a burst or auto sequence.

Pushback properties.

\* \*\*Pushback\*\*: this value will be added to the forward translation. \* \*\*Pushback Zero\*\*: how fast the pushback should go to zero. \* \*\*Pushback Accel\*\*: pusback interpolation speed. ## Recoil Sway This layer applies sway to simulate a body recoil.

Recoil Sway properties.

\* \*\*Pitch Sway\*\*: a value will be randomly generated in this range and added to the pitch. \* \*\*Yaw Sway\*\*: a value will be randomly generated in this range and added to the yaw. \* \*\*Roll Sway Multiplier\*\*: will multiply the yaw result by this value and add it to the roll. \* \*\*Damping\*\*: how fast the sway should go to zero. \* \*\*Acceleration\*\*: interpolation sway speed. \* \*\*Ads Scale\*\*: this value will scale the recoil sway when aiming. \* \*\*Pivot Offset\*\*: will offset the recoil physical pivot. ## Timeline These properties control the general animation timeline.

Tineline properties.

\* \*\*Playback Offset\*\*: will offset the loop time interval. For example, if a weapon fire rate is 600RPM, the loop interval will be 0.1s + Playback Offset. \* \*\*Play Rate\*\*: animation speed multiplier. ## Pivot This section controls the physical recoil pivot point.

Pivot settings.

\* \*\*Pivot Offset\*\*: applied when hip firing. \* \*\*Ads Pivot Offset\*\*: applied when aiming. {% hint style="success" %} \*\*Tip\*\*: pivot offsets can be useful when we want to apply recoil rotation around a certain point, like a shoulder. {% endhint %} --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/pras-documentation/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/pras-documentation/basics/recoil-animation.md). # Recoil Animation ## How Does It Work? The \*\*PRAS (Procedural Recoil Animation System)\*\* uses an advanced, yet simple way to generate realistic recoil. The system takes Vector Curves for translation and rotation, plays them in runtime, and uses curve values as interpolation alphas to reach the randomly generated targets. > RecoilAnimation = Lerp(0f, TargetValue, CurveValue) where \*\*Target Value\*\* is randomly generated when a shot is fired.

Example recoil curve.

Recoil curves should be in the range \\\[-1;1\], so a curve value can be used as an interpolation alpha. The curve peaks at 1 and then goes down to 0 with some oscillation. {% hint style="success" %} \*\*Tip\*\*: because curves are much simpler in comparison to other methods (e.g. spring interpolation), the recoil animation is frame-rate independent. {% endhint %} ## Single and Auto Fire \*\*Recoil Data\*\* is an asset, which contains all information about the recoil animation. This includes curves and other settings:

Curve section in the Recoil Data.

To create a new \*\*Recoil Data\*\*, right-click and go to \*\*Miscellaneous -> Data Asset -> Recoil Data\*\*. This asset includes 4 \*Vector Curves\* in total: 2 for translation and 2 for rotation. The PRAS has 2 main fire modes: \* Single \* Auto/Burst (there's no technical difference animation-wise) {% hint style="success" %} \*\*Tip\*\*: we use different curves for single and auto fire because of animation quality. If we use single-fire curves when auto-firing, the animation will look choppy. To make it look smoother and more fluid we use a different set of curves. {% endhint %} Let's compare an example single and auto fire curve: {% tabs %} {% tab title="Single" %}
{% endtab %} {% tab title="Auto/Burst" %}
{% endtab %} {% endtabs %} The curves are almost identical! The only difference is that auto curve values are very close to 0 at some time - this time equals the fire rate of a weapon (in this case 600RPM = 0.1s). This will ensure that the weapon's main muzzle climbing will be fully preserved when auto-firing. {% hint style="danger" %} \*\*Tip\*\*: regardless of a fire mode, the first shot is \*\*always\*\* a single fire shot. {% endhint %} --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/pras-documentation/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up.md). # Getting Set Up {% hint style="success" %} \*\*Tip\*\*: make sure to already implement basic firing logic in your project. {% endhint %} ## Step 1 - Recoil Animation Component First, it is essential to add the \*\*Recoil Animation Component\*\* to the character. {% tabs %} {% tab title="Blueprints" %}
{% endtab %} {% tab title="C++" %} \`\`\`cpp UCLASS(config=Game) class AYourCharacterClass : public ACharacter { GENERATED\_BODY() public: AYourCharacterClass(); protected: UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Recoil") TObjectPtr RecoilComponent; ... }; \`\`\` {% endtab %} {% endtabs %} Then, in your character class click on the RecoilAnimation component and specify the Helper UI:

Select this blueprint.

The Helper UI is useful when you want to modify the recoil values in runtime in a very convenient way:
To enable this Helper UI in the game you can use the Blueprint-exposed methods:

How to use helper UI.

## Step 2 - Initialize and Play Make sure to call the \`Init\` method of the \*\*Recoil Animation Component\*\* to initialize the recoil animation:

Init function.

\* \*\*Data\*\*: \*\*Recoil Data\*\* asset. \* \*\*Rate\*\*: fire rate or RPM (Rounds-per-minute). \* \*\*Burst:\*\* length of the burst sequence\*\*.\*\* Next, call \`Play\` and \`Stop\` methods when firing:

Firing logic.

{% hint style="danger" %} \*\*Note\*\*: Play must be called every shot! {% endhint %} ## Step 3 - Animation Blueprint Integration Make sure to add a \*\*Recoil Animation\*\* node to the Anim Graph:

This node will apply recoil.

If you already have an \*IK\* system set up, select the \*IK\* or a \*VB\* (virtual bone) you want to animate with recoil in the node settings:

Node settings.

### If you need help with IK First, add Virtual Bones to the character head:

VB stands for Virtual Bone.

\* \*\*VB WeaponPivot\*\* targets ik\\\_hand\\\_gun. \* \*\*VB hand\\\_r\*\* targets hand\\\_r. \* \*\*VB hand\\\_l\*\* targets hand\\\_l. Add \*\*CopyBone\*\* nodes before the \*\*Recoil Animation\*\* nodes:

These will copy animation from FK bones to VBs.

If your animations do not keyframe the \*\*ik\\\_hand\\\_gun\*\* bone (it is used for baking gun movement into the character animation), you will have to use \*\*hand\\\_r\*\* as a source bone in the first \*\*CopyBone\*\* node. You can additionally offset the \*\*VB WeaponPivot\*\* with a custom offset if you want more flexibility. Finally, use \*\*Two Bone IK\*\* after the \*\*Recoil Animation\*\* node:

IK pass.

Preferred IK settings.

\*\*\* At this point, the setup is complete. If recoil is still not playing, double-check the steps above or: \* Check if \*\*Recoil Data\*\* has any values. \* The correct bone is animated by the \*\*RecoilAnimation\*\*. \* \*\*Play\*\* method is called every shot. \* The \*\*Fire Rate\*\* is in rounds-per-minute and greater than zero. If the problem persists, feel free to post a ticket on our \[Discord\](https://discord.gg/kinemation-1027338787958816860). --- # Welcome! | PRAS Documentation For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/pras-documentation/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/pras-documentation/welcome.md) . **Latest version**: 2024.1.0 as of December 3d, 2024. [**Showcase**](https://redirect.epicgames.com/?redirectTo=https://youtu.be/EFNfkMBUuCA) **•** [**Free Demo**](https://drive.google.com/file/d/1cAFou2Gf5_HhbfHjrHpKBdxLD9vAP1Ch/view?usp=drive_link) **•** [**Discord**](https://discord.gg/kinemation-1027338787958816860) **Procedural Recoil Animation System (PRAS)** is the most advanced recoil solution for Unreal Engine. This documentation will provide you with essential info on how the system works and how to implement it in your Unreal project. **Tip**: make sure to join our [Discord](https://discord.gg/kinemation-1027338787958816860) and [YouTube](https://www.youtube.com/@kinemationstudio) to stay tuned! Video showcase. [NextRecoil Animation](https://kinemation.gitbook.io/pras-documentation/basics/recoil-animation) Last updated 1 year ago --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/pras-documentation/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/pras-documentation/tutorials/how-to-implement-attachments.md). # How to implement attachments ## Overview To modify the current recoil animation, \*\*PRAS\*\* has the Input Scale feature using these methods:

Input Scale methods.

\* \*\*Scale Input\*\*: applies an Input Scale. \* \*\*Unscale Input\*\*: reverts an Input Scale. \* \*\*Reset Input Scale\*\*: resets any applied modifiers. \*\*Input Scale\*\* is a struct that includes these properties:

Input Scale properties.

## Use-case When attachment is equipped, make sure to update the current Input Scale:

How to scale recoil.

To revert changes of the previous attachment:

How to revert recoil scale.

--- # Unknown \# Tactical Shooter Pack Unreal ## Tactical Shooter Pack Unreal - \[Welcome\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/welcome.md): This is the official documentation for the Tactical Shooter Pack (Unreal Engine 5). - \[Installation\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/installation.md): On this page you will learn how to install the Tactical Shooter Pack. - \[Overview\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview.md): This page provides an overview of the pack contents. - \[GASP Integration\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration.md): This tutorial shows how to integrate the Tactical Shooter Pack with GASP. - \[GASP 5.7+\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+.md): This tutorial shows how to integrate the Tactical Shooter Pack with GASP based on UE5.7. - \[How to change character model\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model.md): This tutorial explains how to swap character meshes. - \[How to swap weapon mesh\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-swap-weapon-mesh.md): This tutorial explains how to replace weapon meshes using Blender. - \[FPS Animation Pack Integration\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/fps-animation-pack-integration.md): This tutorial explains how to use this asset with the FPS Animation Pack. - \[Player\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player.md): This section explains how the character Blueprint works. - \[First Person Camera\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera.md): This page explains how the FPS camera works in the pack. - \[Tactical Shooter Animation\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation.md): This page explains how this Actor Component works. - \[IK Motion Player\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/ik-motion-player.md): This page explains how to use IK motions. - \[Procedural Recoil\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil.md): This section explains how to use the pack’s procedural recoil. - \[Weapons\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons.md): This section explains how weapons work in the pack. - \[Sounds\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/sounds.md): This section explains how sound effects are used in the pack. - \[Character\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character.md): This section explains how the character is animated. - \[Procedural Animation Settings\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings.md): This page explains the animation settings. - \[Weapons\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons.md): This section explains how weapons are animated. - \[Attachments\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/attachments.md): This page explains attachment animations. - \[Magazines\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/magazines.md): This page explains how magazines are animated. - \[Camera\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/camera.md): This page explains how the camera is animated. --- # Getting Set Up | PRAS Documentation For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/pras-documentation/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/pras-documentation/tutorials/getting-set-up.md) . **Tip**: make sure to already implement basic firing logic in your project. Step 1 - Recoil Animation Component[](https://kinemation.gitbook.io/pras-documentation/tutorials#step-1-recoil-animation-component) ------------------------------------------------------------------------------------------------------------------------------------ First, it is essential to add the **Recoil Animation Component** to the character. Blueprints C++ ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252F4wyQRZRa2i08pclSWsQj%252Fimage.png%3Falt%3Dmedia%26token%3Da18eb5bc-9d03-4725-a1d1-6ed14f92dc5a&width=768&dpr=3&quality=100&sign=4c6f80366007eddd0252fe93d4a1d055&sv=3) Copy UCLASS(config=Game) class AYourCharacterClass : public ACharacter { GENERATED_BODY() public: AYourCharacterClass(); protected: UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Recoil") TObjectPtr RecoilComponent; ... }; Then, in your character class click on the RecoilAnimation component and specify the Helper UI: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252F9Gmeeb2aeyrSNgY2rKZT%252Fimage.png%3Falt%3Dmedia%26token%3D19855adf-c124-4b72-8197-61d089727171&width=768&dpr=3&quality=100&sign=35847383bc7ded05047e46d6e5c366ca&sv=3) Select this blueprint. The Helper UI is useful when you want to modify the recoil values in runtime in a very convenient way: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FLRJ92IQm7scBIPm2Ggci%252Fimage.png%3Falt%3Dmedia%26token%3Dca8d9f41-ad58-467a-aaf1-dfe2acf7f97e&width=768&dpr=3&quality=100&sign=3f520ba02da9f6d3a17fd3470885ac03&sv=3) To enable this Helper UI in the game you can use the Blueprint-exposed methods: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FSKhTkMdSkG87OHj1IOBh%252Fimage.png%3Falt%3Dmedia%26token%3Df9e799a4-7c55-4a5c-a947-b6fe0c53a845&width=768&dpr=3&quality=100&sign=3b549b165ade8ecb3c9c903fdc9cef41&sv=3) How to use helper UI. Step 2 - Initialize and Play[](https://kinemation.gitbook.io/pras-documentation/tutorials#step-2-initialize-and-play) ---------------------------------------------------------------------------------------------------------------------- Make sure to call the `Init` method of the **Recoil Animation Component** to initialize the recoil animation: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FNGo3aI0bJbI5aiaxiC3O%252Fimage.png%3Falt%3Dmedia%26token%3D57ca488f-80ac-4be5-84fc-38fe8c8a2d88&width=768&dpr=3&quality=100&sign=7c9e8c45dbe71d7b1ca373e4fe24c03b&sv=3) Init function. * **Data**: **Recoil Data** asset. * **Rate**: fire rate or RPM (Rounds-per-minute). * **Burst:** length of the burst sequence**.** Next, call `Play` and `Stop` methods when firing: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fwwsbla8WWkwDMOerwant%252Fimage.png%3Falt%3Dmedia%26token%3Dde35e9d4-4b22-43d3-ad21-aecf5faefa61&width=768&dpr=3&quality=100&sign=528ede1aa2700312b8c58cebbfedac6d&sv=3) Firing logic. **Note**: Play must be called every shot! Step 3 - Animation Blueprint Integration[](https://kinemation.gitbook.io/pras-documentation/tutorials#step-3-animation-blueprint-integration) ---------------------------------------------------------------------------------------------------------------------------------------------- Make sure to add a **Recoil Animation** node to the Anim Graph: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Ft4NrSaox5umi2XKQr6uv%252Fimage.png%3Falt%3Dmedia%26token%3D9d748092-77ba-4b30-a325-dc644d87c46d&width=768&dpr=3&quality=100&sign=dc3cda920b342d0b9850c1590ea77138&sv=3) This node will apply recoil. If you already have an _IK_ system set up, select the _IK_ or a _VB_ (virtual bone) you want to animate with recoil in the node settings: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FCWI5cErNp3NRPB4rNvaa%252Fimage.png%3Falt%3Dmedia%26token%3Dbdaa648d-13e4-4032-a727-4baf75290c20&width=768&dpr=3&quality=100&sign=944728471fc5a5a5334d4ba2c34188ea&sv=3) Node settings. ### If you need help with IK[](https://kinemation.gitbook.io/pras-documentation/tutorials#if-you-need-help-with-ik) First, add Virtual Bones to the character head: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FKir2cdAMDEQdfBhHoMeY%252Fimage.png%3Falt%3Dmedia%26token%3D3d830ad4-5599-4786-910b-1e2e8f1f1389&width=768&dpr=3&quality=100&sign=2c4935b0dfc6000a69777917c0d2cd46&sv=3) VB stands for Virtual Bone. * **VB WeaponPivot** targets ik\_hand\_gun. * **VB hand\_r** targets hand\_r. * **VB hand\_l** targets hand\_l. Add **CopyBone** nodes before the **Recoil Animation** nodes: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fw1UK9d1se7me6b0kCKdH%252Fimage.png%3Falt%3Dmedia%26token%3Dd184c38a-565f-4f8c-8c3c-92011158cdea&width=768&dpr=3&quality=100&sign=08dcaa63f03d4a84919dfa322b6c7763&sv=3) These will copy animation from FK bones to VBs. If your animations do not keyframe the **ik\_hand\_gun** bone (it is used for baking gun movement into the character animation), you will have to use **hand\_r** as a source bone in the first **CopyBone** node. You can additionally offset the **VB WeaponPivot** with a custom offset if you want more flexibility. Finally, use **Two Bone IK** after the **Recoil Animation** node: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FAMxlxBIIVVW97C4GAtzV%252Fimage.png%3Falt%3Dmedia%26token%3De38e011e-3271-4b84-a47b-f1e37908cdf9&width=768&dpr=3&quality=100&sign=5e776a4322b16d97b3d5ae38cf8f618c&sv=3) IK pass. ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FGo9YyPxponov5NI7JjCo%252Fimage.png%3Falt%3Dmedia%26token%3Ddc7bee46-946a-4cc7-abe9-72bbf8c12fd7&width=768&dpr=3&quality=100&sign=1b3fb508d31f44445334d0c204c88124&sv=3) Preferred IK settings. * * * At this point, the setup is complete. If recoil is still not playing, double-check the steps above or: * Check if **Recoil Data** has any values. * The correct bone is animated by the **RecoilAnimation**. * **Play** method is called every shot. * The **Fire Rate** is in rounds-per-minute and greater than zero. If the problem persists, feel free to post a ticket on our [Discord](https://discord.gg/kinemation-1027338787958816860) . [PreviousRecoil Settings](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings) [NextHow to implement attachments](https://kinemation.gitbook.io/pras-documentation/tutorials/how-to-implement-attachments) Last updated 1 year ago --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/installation.md). # Installation ## Via Launcher In the Epic Games Launcher, open your Fab library and add the Tactical Shooter Pack to the target project. ## Manually If you have the Tactical Shooter Pack project, unpack it and open it like any other Unreal Engine 5 project. You can switch the engine version (default: 5.0). --- # Recoil Animation | PRAS Documentation For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/pras-documentation/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/pras-documentation/basics/recoil-animation.md) . How Does It Work?[](https://kinemation.gitbook.io/pras-documentation/basics#how-does-it-work) ---------------------------------------------------------------------------------------------- The **PRAS (Procedural Recoil Animation System)** uses an advanced, yet simple way to generate realistic recoil. The system takes Vector Curves for translation and rotation, plays them in runtime, and uses curve values as interpolation alphas to reach the randomly generated targets. > RecoilAnimation = Lerp(0f, TargetValue, CurveValue) where **Target Value** is randomly generated when a shot is fired. ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FbGyBFT8oA2snyTlu8Z2W%252Fimage.png%3Falt%3Dmedia%26token%3Dc597fb21-26e5-4a41-a303-be413e5b20f8&width=768&dpr=3&quality=100&sign=ab012f8512cbba09cb6e79c6e08eded9&sv=3) Example recoil curve. Recoil curves should be in the range \[-1;1\], so a curve value can be used as an interpolation alpha. The curve peaks at 1 and then goes down to 0 with some oscillation. **Tip**: because curves are much simpler in comparison to other methods (e.g. spring interpolation), the recoil animation is frame-rate independent. Single and Auto Fire[](https://kinemation.gitbook.io/pras-documentation/basics#single-and-auto-fire) ----------------------------------------------------------------------------------------------------- **Recoil Data** is an asset, which contains all information about the recoil animation. This includes curves and other settings: ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fuf3hCnpZyMVd7Gru8iuJ%252Fimage.png%3Falt%3Dmedia%26token%3Da0bf6c2d-e352-43b1-a343-f447802bd471&width=768&dpr=3&quality=100&sign=620c9871d93f733f5c8cad9862e003c3&sv=3) Curve section in the Recoil Data. To create a new **Recoil Data**, right-click and go to **Miscellaneous -> Data Asset -> Recoil Data**. This asset includes 4 _Vector Curves_ in total: 2 for translation and 2 for rotation. The PRAS has 2 main fire modes: * Single * Auto/Burst (there's no technical difference animation-wise) **Tip**: we use different curves for single and auto fire because of animation quality. If we use single-fire curves when auto-firing, the animation will look choppy. To make it look smoother and more fluid we use a different set of curves. Let's compare an example single and auto fire curve: Single Auto/Burst ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252Fj9OuQEgdKvPOsUFSmIo0%252Fimage.png%3Falt%3Dmedia%26token%3D1956567a-ad4c-4338-9664-9a3ea89beab8&width=768&dpr=3&quality=100&sign=3f5992d7868c2638b97e73e9f6f9d0e2&sv=3) ![](https://kinemation.gitbook.io/pras-documentation/~gitbook/image?url=https%3A%2F%2F3651122009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FmWlhCRI70uShLRiOey3T%252Fuploads%252FS656FcC1900ZLIaUsT2X%252Fimage.png%3Falt%3Dmedia%26token%3D949f1a80-ef7b-4791-a2e3-5cbccb400760&width=768&dpr=3&quality=100&sign=0dce328e36970fda7525342a21b5e7ee&sv=3) The curves are almost identical! The only difference is that auto curve values are very close to 0 at some time - this time equals the fire rate of a weapon (in this case 600RPM = 0.1s). This will ensure that the weapon's main muzzle climbing will be fully preserved when auto-firing. **Tip**: regardless of a fire mode, the first shot is **always** a single fire shot. [PreviousWelcome!](https://kinemation.gitbook.io/pras-documentation) [NextRecoil Settings](https://kinemation.gitbook.io/pras-documentation/basics/recoil-settings) Last updated 1 year ago --- # Installation | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/installation.md) . Via Launcher[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial#via-launcher) ------------------------------------------------------------------------------------------------- In the Epic Games Launcher, open your Fab library and add the Tactical Shooter Pack to the target project. Manually[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial#manually) ----------------------------------------------------------------------------------------- If you have the Tactical Shooter Pack project, unpack it and open it like any other Unreal Engine 5 project. You can switch the engine version (default: 5.0). [PreviousWelcome](https://kinemation.gitbook.io/tactical-shooter-pack-unreal) [NextOverview](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview) Last updated 11 months ago --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/camera.md). # Camera ## How it works The camera is animated using three curves: \* \*\*Camera\\\_Pitch\*\* \* \*\*Camera\\\_Yaw\*\* \* \*\*Camera\\\_Roll\*\*

Camera animation curves.

These curves are on the character skeleton, so whenever a Montage plays at runtime, it animates the character and camera simultaneously. ## How curves are created You can find camera animations in each weapon’s \*\*Camera\*\* folder. These sequences aren’t used directly; they are processed by the extraction tool, which transfers camera curves to the character animation:

Camera Motion Extractor.

{% hint style="success" %} \*\*Tip\*\*: Use this modifier to re‑extract or adjust the intensity of camera animations.First Person Camera {% endhint %} Actor Component applies camera animations by sampling curve values at runtime:

Camera animation.

{% hint style="success" %} \*\*Tip\*\*: This component also plays camera recoil shakes. {% endhint %} --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/overview.md). # Overview ## Content All content - animations, weapons, sounds, and Blueprints - is located in \*\*KINEMATION/TacticalShooterPack\*\*.:

Tactical Shooter Pack content.

The \*\*Common\*\* directory contains general Blueprints used across KINEMATION assets. Its contents are covered later in this section. The Tactical Shooter Pack consists of \*\*11\*\* directories:

Content folders.

Let's break down each sub-folder to better explain what you can find there. ## Animations This folder contains camera, character, and weapon animations. It also includes Animation Blueprints for UE4 and UE5 skeletons.

Animation Blueprints for UE5 Mannequin.

The main Animation Blueprint is \*\*ABP\\\_TacticalShooter\\\_UE5\*\*, which relies on these modules: \* \*\*ABP\\\_UE5\\\_Sway\*\*: Applies procedural aiming and movement sway. \* \*\*ABP\\\_UE5\\\_IK\\\_Ads\*\*: Applies procedural aiming. \* \*\*ABP\\\_UE5\\\_IK\\\_Main\*\*: Applies general procedural animation (spine rotation, leaning, recoil, etc.). \* \*\*ABP\\\_UE5\\\_IK\\\_Pose\*\*: Positions the weapon and hands via IK. All Animation Blueprints depend on \*\*AC\\\_TacticalShooterAnimation -\*\* the central component in this asset. It supplies ABPs with key data (e.g., IK settings and firing state). ## Blueprints This folder contains all Blueprints used in the pack:

Blueprint content.

\* \*\*AdditiveMotions\*\*: Procedural additive animations played when aiming or changing fire mode. \* \*\*Attachments\*\*: Blueprint foundation for the attachment system \*(work in progress)\*. \* \*\*Data\*\*: Settings and structs used in the pack (e.g., weapon animation settings). \* \*\*Notifies\*\*: Custom Animation Notifies used in the pack. \* \*\*Recoil\*\*: Recoil settings for each weapon. \* \*\*Weapons\*\*: Game‑ready weapon Blueprints. This folder also contains very important Blueprints, like:

Blueprint content.

\* \*\*AC\\\_TacticalShooterAnimation:\*\* Actor Component that connects gameplay and Animation Blueprints; treat it as an interface between the player and the animation system. \* \*\*BP\\\_TacticalShooterCharacter:\*\* Game‑ready player Blueprint. \* \*\*BP\\\_TacticalShooterWeapon:\*\* Base class for all weapons. \* \*\*BPI\\\_TacticalShooterCharacter:\*\* Interface used by weapons and Animation Blueprints. \* \*\*BPI\\\_TacticalShooterWeapon:\*\* Interface that passes data to the animation system. \* \*\*TacOperatorSettings\*\* is an asset that contains meshes as well as weapons to use. ## Camera, Casings, Character and Weapons This section contains all skeletal and static meshes used in the package. The \*\*Weapons\*\* folder also includes attachments (e.g., magazines). ## Demo This directory includes a simple demo scene and the UE5 Manny. ## Inputs This folder contains all \*\*Input Actions\*\* and the \*\*Input Mapping Context\*\* used by the player Blueprint. ## SFX This folder contains all sound effects and sound Blueprints. Weapon‑specific sounds are divided into two categories: \*\*(1)\*\* Actions (e.g., reloads, inspects, mag checks) and \*\*(2)\*\* Firing. ## UI This folder contains a UMG widget used in the playable demo. It displays the control list and the currently equipped weapon. ## VFX This folder contains Data Assets for the Niagara casing system. Each asset is set up for a specific casing (e.g., NATO 5.56, 9 mm). --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-swap-weapon-mesh.md). # How to swap weapon mesh > This tutorial is coming soon... --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player.md). # Player ## Overview \*\*BP\\\_TacticalShooterCharacter\*\* is a game‑ready player Blueprint responsible for managing weapons, inputs, and actions:

Tactical Shooter Character.

{% content-ref url="/pages/5quB0w7sPcANQ6yZowKV" %} \[First Person Camera\](/tactical-shooter-pack-unreal/blueprints/first-person-camera.md) {% endcontent-ref %} {% content-ref url="/pages/F7XaHTeRkZMkzwoseNWU" %} \[Tactical Shooter Animation\](/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation.md) {% endcontent-ref %} {% content-ref url="/pages/l4Zujom9GysG7rVYThgR" %} \[IK Motion Player\](/tactical-shooter-pack-unreal/blueprints/ik-motion-player.md) {% endcontent-ref %} ## Character Settings \*\*TacticalCharacterSettings\*\* is a Data Asset that tells the player Blueprint which meshes, Animation Blueprints, and weapons to use:

Character Settings.

The pack supports switching between UE4 and UE5 meshes at runtime, so you can specify different skeletons and Animation Blueprints. By default, the UE5 mesh is used. The \*\*Weapons\*\* list contains weapon Blueprint classes used by the character. ## BPI Tactical Shooter Character This Blueprint Interface connects the player with animation systems and third‑party systems:

Interface functions.

\* \*\*Get Player Mesh:\*\* Returns the player's \*\*Skeletal Mesh Component\*\*. \* \*\*Get Primary Weapon:\*\* Returns the currently equipped weapon. When quick‑drawing a \*\*sidearm\*\*, it returns the pistol. \* \*\*Get Main Weapon:\*\* Returns the main weapon. \* \*\*Get Tactical Shooter Component:\*\* Returns the \`AC\_TacticalShooterAnimation\` component.

Returns the player mesh here.

Returns the currently used weapon.

Returns the current weapon.

Returns a reference to the animation component.

## Input Actions All Input Actions are implemented in this Blueprint. Here is the list of actions used in the pack: \* \*\*Weapon-specific\*\* \* Reload \* Mag Check \* Inspect \* Fire \* \*\*General\*\* \* Aiming \* Change Weapon \* Change Fire Mode \* Look \* Move \* Sprint \* Free Look \* Pistol Quick Draw \* Lean --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration.md). # GASP Integration ## Character meshes {% hint style="info" %} \*\*Note:\*\* Compatible with GASP \*\*5.4\*\*, \*\*5.5\*\*, \*\*5.6\*\*. Add the latest Tactical Shooter Pack to your GASP project before starting. {% endhint %} First, we need to create a base for our integration. Duplicate the \*\*BP\\\_TacticalShooterCharacter\*\* (\*\*KINEMATION/TacticalShooterPack/Blueprints\*\*):

New blueprint.

This will be our main player blueprint. Open it up, go to \*\*Class Settings\*\* and inherit it from the \*\*CBP\\\_SandboxCharacter\*\*:

Change the parent class.

Next, select the "Mesh" and set its animation blueprint to \*\*ABP\\\_SandboxCharacter\*\* and skeletal mesh to \*\*SKM\\\_UEFN\\\_Mannequin\*\*:

Default mesh component.

Properties for motion matching.

{% hint style="info" %} \*\*Note\*\*: The "Mesh" skeletal component will generate a motion-matching pose (full-body movement), which will be blended with our tactical animations. {% endhint %} Set \*\*Visible\*\* to \*\*false\*\* and \*\*Visibility Based Anim Tick Option\*\* to \*\*Always Tick Pose and Refresh Bones\*\*:

Keep this mesh hidden.

Always update animation, even if mesh is hidden.

Now we need to add a skeletal mesh for our character model. Let's call it "Player" and parent the \*\*Camera\*\* component to it:

Camera is a first-person camera component.

In the \*\*Camera\*\* settings, set its parent socket to \`FPCamera\` and reset its transform:

Camera settings.

Find the \`GetPlayerMesh\` interface function and return the new "Player" skeletal mesh component:

Open up this function.

Return the "Player", not the default "Mesh".

{% hint style="success" %} \*\*Tip\*\*: This interface function is used by weapons and animation blueprints to play animations, so make sure to provide the correct reference here. {% endhint %} ## Cameras The second step is to properly set up cameras in our player blueprint. If you use GASP 5.5 or 5.6, make sure to use this code snippet to disable other cameras:

Place this in BeginPlay.

The \*\*Camera\*\* attached to \*\*Player\*\* is the main first‑person camera. Deactivate all other cameras that may be active at game start. If you are on 5.4, then simply set all other cameras' \`Auto Activate\` property to \*\*false\*\*:

Disable other cameras.

## Inputs The next step is to properly update GASP inputs at runtime. Open the \`Update Player Movement\` function (it's called on \*\*Tick\*\*):

Update movement function.

Find some place at the end of the function, and set the value of the Gait property based on Movement State:

Updating current Gait.

{% hint style="success" %} \*\*Note\*\*: \`Gait\` is from \*\*GASP\*\*, and \`Movement State\` is a \*\*Tactical Shooter Pack\*\* property. {% endhint %} Then, we need to update \`bWantsToSprint\`, \`bWantsToWalk\`, \`bWantsToAim\` and \`bWantsToStrafe\` properties. {% hint style="info" %} \*\*Note:\*\* The setup differs between \*\*5.4\*\* and \*\*5.5/5.6\*\*; refer to the images below. {% endhint %}

5.4 version also requires the Update Rotation function to be called.

5.4/5.6 version.

## Animation blueprint Now we need to create an animation blueprint (ABP) that will combine motion-matching pose and animations from the \*\*Tactical Shooter Pack\*\*. Create a new Animation Blueprint using the \*\*UE5 Manny\*\* skeleton from the pack:

Creating a new animation blueprint.

Go to the Event Graph and use this snippet for initialization:

Simple initialization logic.

{% hint style="success" %} \*\*Tip\*\*\*:\* Obtain a reference to your player Blueprint here. {% endhint %} In the \*\*Anim Graph\*\*, add a \*\*Retarget Pose From Mesh\*\* node. Set the \`Retarget From\` to \*\*Custom Skeletal Mesh Component\*\*, and \`IK Retargeter Asset\` to \*\*RTG\\\_UEFN\\\_to\\\_UE5\\\_Mannequin\*\*:

Retargeting settings.

After that, bind the \`Source Mesh Component\` using the "Mesh" property from the player blueprint.

Bind the "Mesh" here.

Next, add the ABP\\\_TacticalShooter\\\_UE5 linked anim instance and blend it with the retargeted pose:

Simple blending setup.

Override the upper body.

{% hint style="info" %} \*\*Tip\*\*: Feed the retargeted pose into \*\*Base Pose\*\*, and Tactical Shooter animations into \*\*Blend Pose 0\*\*. {% endhint %} ## Parkour adjustments To properly blend parkour animations, we need to adjust our layering. First, create 2 cached poses:

Cached poses.

\*\*UpperBody\*\* carries Tactical Shooter animations; \*\*MotionMatchingPose\*\* carries full‑body motion. Next, add a new \*\*Layered Blend Per Bone\*\* node:

This pose will be used when climbing.

Add a \*\*Blend by Bool\*\* node and plug the layered result into \*\*True:\*\*

Use the "Upper Body" as a "False Pose".

This will blend between parkour and normal poses using the \`DoingTraversalAction\` boolean from our character blueprint. Finally, blend the result with the "MotionMatchingPose":

Final blending step.

--- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character.md). # Character ## How it's animated All animations target the \*\*UE5 Mannequin\*\* skeleton and rely on Epic’s IK bone set:

IK Bones

\* \*\*ik\\\_hand\\\_gun\*\* drives weapon movement.. \* \*\*ik\\\_hand\\\_r\*\* contains right‑hand animation data. \* \*\*ik\\\_hand\\\_l\*\* contains left‑hand animation data. The setup also uses \*\*Virtual Bones (VBs)\*\* for procedural animation:

Virtual Bone setup.

\* \*\*VB ik\\\_hand\\\_gun\*\* (targets \*\*ik\\\_hand\\\_gun\*\*): Used to position the pistol during quick draw so the \*\*sidearm\*\* is correctly placed relative to the \*\*right hand\*\*. \* \*\*VB ik\\\_hand\\\_gun\\\_pivot\*\* (targets \*\*ik\\\_hand\\\_gun\*\*): All weapons are attached to this bone. \* \*\*VB hand\\\_r/l\*\* (targets \*\*hand\\\_r/l\*\*): IK targets for the right/left hand. \* \*\*VB lowerarm\\\_r/l\*\* (targets \*\*lowerarm\\\_r/l\*\*): Hint/pole targets for the right/left arm. \* \*\*VB recoil\\\_hand\\\_r\*\* (targets \*\*root\*\*): Preserves right‑hand recoil when holding a pistol one‑handed. \* \*\*VB ik\\\_hand\\\_gun\\\_pose\*\* (targets \*\*root\*\*): Used to compute the aiming pose. {% hint style="success" %} \*\*Tip\*\*: Weapons are not parented to the right hand; they attach to \*\*VB ik\\\_hand\\\_gun\\\_pivot\*\*. This bone is blended in the Animation Blueprints so the final pose looks correct. {% endhint %} ## Animation Blueprints The pack uses modular \*\*Animation Blueprints\*\*:

Animation Blueprints used in the pack.

### ABP\\\_TacticalShooter\\\_UE5 This is the main Animation Blueprint; it incorporates the other animation assets. Here’s how it works: #### Base character pose

Base pose.

The base combines a static idle \*\*Anim Sequence\*\* with the main \*\*Anim Montage\*\* (\*\*DefaultSlot\*\*). #### Curve-based animations

Procedural movement graph.

General movement (idle, walk, sprint, jump) is curve‑driven and procedural, applied primarily via \*\*Apply Additive\*\* nodes. The \*\*Grounded\*\* and \*\*InAir\*\* states provide animation curves such as: \* \*\*IK\\\_X\*\*/\*\*Y\*\*/\*\*Z\*\*: position. \* \*\*IK\\\_Pitch\*\*/\*\*Yaw\*\*/\*\*Roll\*\*: rotation. \* \*\*Camera Pitch\*\*/\*\*Yaw\*\*/\*\*Roll\*\*: camera animation. These curves are layered on top of the base pose. Finally, we blend \*\*curve values\*\* (not poses) using a helper bone:

Procedural movement blending.

\*\*VB Curves\*\* is a dummy bone used solely to blend curve values - not to animate a pose. #### Pistol quick draw This layer applies quick‑draw and holster animations additively on top of the character pose:

Pistol Quick Draw layer.

Computes an additive pose per weapon, letting a single animation work across different poses. {% hint style="success" %} \*\*Tip\*\*: Originally authored for \*\*TR15\*\*, but reused across weapons via this layer.Left hand actions {% endhint %} Apply left‑hand actions (e.g., take an item, push a door):

Left Hand Actions layer.

#### Finger firing motion Animate the right index finger while firing:

Finger firing motion.

A float smoothly interpolates to \*\*1\*\* while firing to rotate the finger, then returns to \*\*0\*\* afterward. ### ABP\\\_IK\\\_Pose Positions the weapon and hands before the main procedural pass. It works in stages: #### VB ik\\\_hand\\\_gun\\\_r First, override \*\*VB ik\\\_hand\\\_gun\\\_r\*\* with the base idle pose when quick‑draw is enabled:

VB ik\_hand\_gun\_r override.

This is important for positioning the pistol properly. #### Copying the animation data Copy the animation data from real bones to VBs. This lets us apply IK additively instead of \*\*overriding\*\* and breaking the pose:

Copying the animation data.

Then override \*\*VB hand\\\_r\*\* and \*\*VB hand\\\_l\*\* with the current grip pose:

Left hand pose override.

By default, all weapons attach the left hand to the gun. You can smoothly disable this via a curve - for example, many animations \*\*do this\*\* to let the left hand move freely:

Mask\_Grip can disable the left‑hand attachment.

#### Offsets Finally, apply \*\*FTransform\*\* offsets to all IK bones. ### ABP\\\_IK\\\_Ads Applies procedural aiming in two steps: 1. Snap the weapon to the camera socket. 2. Apply the \*\*Aim Point\*\* local transform. Note: The \*\*FPCamera\*\* socket is attached to \*\*neck\\\_02\*\*:

Camera socket.

### ABP\\\_IK\\\_Sway Applies aiming and movement sway to \*\*VB ik\\\_hand\\\_gun\*\*. Sway is computed in \*\*AC\\\_TacticalShooterAnimation\*\*; this layer simply \*\*retrieves\*\* the \*\*FTransform\*\* and applies it to the bone:

Sway layer.

### ABP\\\_IK\\\_Main The final Animation Blueprint, responsible for: 1. Recoil 2. IK Motions 3. Leaning and Aim Offset 4. IK 5. Hiding the head bone #### Recoil

How recoil is applied.

Recoil animation values are \*\*retrieved\*\* from the \*\*Recoil Animation\*\* component and applied via \*\*Transform (Modify) Bone\*\*. We preserve the right‑hand pose before applying recoil (needed for pistol quick draw). #### IK Motions

Additive motions

IK Motions are applied similarly to recoil. Motions include aiming and fire‑mode transitions ("boop"/"jiggle" animations). #### Leaning Leaning distributes the angle evenly across spine bones:

Leaning rotation.

#### Curve-based animations Movement (idle, walk, sprint, jumping) is applied directly to \*\*VB ik\\\_hand\\\_gun\*\*:

Curve-based animations.

Curve values (\*\*IK\\\_X/Y/Z\*\*, \*\*IK\\\_Pitch/Yaw/Roll\*\*) are \*\*retrieved\*\* here and plugged into the respective translation and rotation axes. #### Aim Offset Like leaning, \*\*Pitch\*\* is applied across spine bones to make the character look up and down:

Spine bone rotation.

#### IK and head bone Finally, \*\*Two‑Bone IK\*\* nodes apply IK using \*\*VB hand\\\_r\*\* and \*\*VB hand\\\_l\*\* as targets. We also scale the head bone to zero if \`HideHeadMesh\` is \*\*true\*\*:

Final steps.

--- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/procedural-recoil.md). # Procedural Recoil ## Recoil Animation This Actor Component generates smooth weapon‑firing animation at runtime:

Recoil Animation component.

It is typically added to the character Blueprint, but you can also add it to the weapon. Call its methods as described below. ### Init

Init method.

Use this function to update active recoil settings. It requires a \*\*Recoil Data Asset\*\* and \*\*Fire Rate\*\* (rounds per minute). ### Play/Stop

Play, Stop functions.

Call \*\*Play\*\* whenever a shot is fired, and \*\*Stop\*\* when the fire input is released. ### Set Aiming Use this method to update the current aiming state:

Set Aiming.

### Set Fire Mode Use this method to update the current fire mode:

Set Fire Mode.

Three fire modes are supported: \* Semi \* Burst \* Auto {% hint style="info" %} \*\*Note:\*\* For Recoil Animation, there is no technical difference between \*\*Burst\*\* and \*\*Auto\*\*. {% endhint %} ## Recoil Animation Data This Data Asset contains recoil properties, from simple inputs to complex layers such as \*\*Sway\*\* and \*\*Pushback\*\*. ### Input values

Input Hip values.

\*\*Hip\*\* and \*\*Aim\*\* properties define recoil ranges. For \*\*Yaw\*\* and \*\*Roll\*\*, a \`FVector4\` avoids values too close to zero. Final value is computed as: {% code title="Pseudocode" overflow="wrap" %} \`\`\`csharp Yaw = Random(Random(YawHip.X, YawHip.Y), Random(YawHip.Z, YawHip.W)); \`\`\` {% endcode %} ### Controller Recoil Adds pitch and yaw to the controller rotation:

Controller Recoil

\* \*\*Horizontal Recoil Step\*\*: Value range for the yaw input. \* \*\*Vertical Recoil Step\*\*: Value range for the pitch input. \* \*\*Interp Speed\*\*: Recoil smoothing speed. \* \*\*Damping\*\*: How fast recoil should recover. \* \*\*Compensation\*\*: How much player input is used for compensation. \*\*1\*\* uses all input; \*\*0\*\* uses none (the weapon settles after firing). ### Recoil Noise Random \*\*Y-Z\*\* (right/up) movement that adds translation noise when firing:

Noise layer.

\* \*\*Target\*\*: Left and Up target values - these will be added every shot. \* \*\*Interp Speed\*\*: Smoothing speed. \* \*\*Damping\*\*: How fast noise should go to zero. \* \*\*Aim Scalar\*\*: Multiplier applied when aiming. ### Pushback This layer is applied on the second shot of a burst and auto sequence:

Pushback layer.

\* \*\*Amount\*\*: How much backward translation to apply. \* \*\*Damping\*\*: How fast the value should go to zero. \* \*\*Interp Speed\*\*: General smoothing speed. ### Progress Accumulates \*\*pitch\*\* and \*\*upward translation\*\* with every shot:

Progress layer.

\* \*\*Pitch Interp Speed\*\*: Smoothing pitch speed. \* \*\*Pitch Damping\*\*: How fast pitch should go to zero. \* \*\*Pitch Amount\*\*: How much pitch to add with each shot. \* \*\*Up Interp Speed\*\*: Smoothing up speed. \* \*\*Up Damping\*\*: How fast the up translation should go to zero. \* \*\*Up Amount\*\*: How much up translation to add with each shot. \* \*\*Ads Scale\*\*: Multiplier applied when aiming. ### Sway \*\*Recoil Sway\*\* simulates arm offset when firing:

Sway properties.

\* \*\*Pitch Sway\*\*: A value from this range will be added to the pitch sway. \* \*\*Yaw Sway\*\*: A value from this range will be added to the yaw sway. \* \*\*Roll Sway Multiplier\*\*: Roll will be computed by multiplying the pitch sway with this value. \* \*\*Damping\*\*: How fast the sway should go to zero. \* \*\*Interp Speed\*\*: Sway smoothing speed. \* \*\*Ads Scale\*\*: Multiplier applied when aiming. \* \*\*Pivot Offset\*\*: Virtual pivot to add translation. Recommended \*\*X = 30-40\*\* units so the pivot is near the character’s shoulder. ### General

General recoil properties.

{% hint style="success" %} \*\*Tip\*\*: Pivot Offsets apply recoil as if the weapon rotates around a point in world space. For example, with \`(-30, 0, 0)\`, recoil appears to pivot around the gun offset by that amount. {% endhint %} \* \*\*Space Rotation\*\*: Use only if animations have a different root orientation. \* \*\*Play rate\*\*: Playback speed multiplier. \*\*Playback Offset\*\* applies only to burst or auto fire modes. In these modes, recoil animation length equals the fire delay (\`60 / FireRate\`). \*\*Playback Offset\*\* adjusts that length to make the sequence longer or shorter. ### Curves Recoil animation is curve‑driven. The solver uses \*\*Vector Curves\*\* for single and auto/burst fire modes:

Recoil curves.

{% hint style="success" %} \*\*Tip\*\*: For single‑fire‑only weapons, set \*\*AutoRot\*\* and \*\*AutoLoc\*\* to \*\*None\*\*.How to get recoil values {% endhint %} To get recoil values, access the \`FTransform RecoilAnimation\` property:

Recoil value.

{% hint style="success" %} \*\*Tip\*\*: For example, plug this value into a \*\*Transform (Modify) Bone\*\* node in the Animation Blueprint. {% endhint %}

How recoil is applied in the Tactial Shooter Pack.

--- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/weapons.md). # Weapons ## BP\\\_TacticalShooterWeapon This is the base weapon Blueprint class. It handles most player actions, including: \* Draw/Holster \* Firing \* Inspecting \* Mag Check \* Reloading ### View Settings

UE4 and UE5 settings.

Assign view settings for UE4 and UE5 mesh models here. When switching models, all weapons are forced to use the updated mannequin settings. ### Weapon Animations

Weapon Anim Montages.

Assign all Anim Montages used by this weapon: \* Draw \* Holster \* Reload Tactical \* Reload Empty \* Reload Start Empty \* Reload Start Tactical \* Reload Loop \* Reload End \* Inspect \* Mag Check \* Deploy Attachment (only used by Herrington 11-87 and SRM-12) \* Stow Attachment (only used by Herrington 11-87 and SRM-12) \* Fire \* Fire Out ### Firing settings

Recoil settings.

Here you can assign the \[Procedural Recoil\](/tactical-shooter-pack-unreal/blueprints/procedural-recoil.md#recoil-animation-data) and \[First Person Camera\](/tactical-shooter-pack-unreal/blueprints/first-person-camera.md#camera-shakes) assets.

Weapon properties.

\* \*\*Max Ammo\*\*: Ammo capacity. \* \*\*Fire Rate\*\*: Rounds per minute. \* \*\*Burst Length\*\*: Number of rounds per burst. \* \*\*Use Bursts\*\*: Enables burst mode. \* \*\*Use Full Auto\*\*: Enables full‑auto. \* \*\*Is One Handed\*\*: True for all pistols and \*\*sidearms\*\* (guns held with one hand). \* \*\*Active Fire Mode\*\*: Default fire mode. ## BPI Tactical Shooter Weapon This Blueprint Interface is used by Animation Blueprints to get essential weapon info.

Interface functions.

Returns current active fire mode.

Returns aim point FTransform.

\*\*Aim Point\*\* is a socket transform relative to the weapon. In the example above, the default \`AimPoint\` socket is used; \*\*Component\*\* space means relative to the weapon.

Resetting the weapon.

\*\*Reload Weapon\*\* resets the current weapon ammo (e.g., when the reload animation ends).

Returns current and max ammo.

\*\*Get Ammo\*\* returns current and max ammo (used to animate magazine parts: spring, follower, cartridges). ## Input blocking While an action is playing (e.g., reload, mag check, inspect), weapons block other actions.

Called when an action starts.

Called when an action ends.

All actions have a check before starting an action:

Only play actions if no action is playing.

--- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/magazines.md). # Magazines ## Mag meshes Magazine‑fed weapons (WK‑11 Viper, TR15, and SRM‑12) use separate Skeletal Meshes for magazines:

TR15 base mesh.

TR15 magazine mesh.

Magazine skeletons each have their own Animation Blueprint, based on the \*\*ABP\\\_Magazine\*\* template. ## ABPs This Blueprint samples the current magazine ammo to drive animation:

How mags are animated.

Weapon‑specific Blueprints override only these essential properties:

Mag ABP properties.

\* \*\*Magazine Animation\*\*: Anim Sequence that animates the spring, follower, and cartridges. \* \*\*Mag Capacity\*\*: Maximum ammo count for the magazine. \* \*\*Anim Time Step\*\*: How much time (in seconds) it takes to process a single bullet. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model.md). # How to change character model {% stepper %} {% step %} ### Assign the skeleton Right-click on your character mesh and click "Assign Skeleton". Next, pick the \*\*Manny\*\* skeleton from the Tactical Shooter Pack.
{% hint style="info" %} \*\*Note\*\*: This will only work with models rigged to the UE5 Mannequin. {% endhint %} {% endstep %} {% step %} ### Create a new Animation Blueprint Pick the \*\*Manny\*\* skeleton from the Tactical Shooter Pack.
Open the blueprint, go to "Class Defaults" and set "Parent Class" to "ABP\\\_CopyPose".
{% endstep %} {% step %} ### Add a new mesh component Go to the \`BP\_TacticalShooterCharacter\` blueprint, add a new Skeletal Mesh Component and parent it to "Mesh".
{% endstep %} {% step %} ### Assign the mesh and blueprint Select the new mesh component and assign your custom character mesh and the animation blueprint.
{% endstep %} {% step %} ### Adjust the main mesh Finally, select the "Mesh" component and set its visibility flag to false.
Search for "Anim Tick" and set it to "Always Tick Pose and Refresh Bones".
{% endstep %} {% endstepper %} --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/attachments.md). # Attachments > This section is in progres... --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/weapons.md). # Weapons ## Weapon ABPs All guns have their own Animation Blueprint in \*\*/Animations/UE5/\*\*. Each has a simple structure consisting of a reference pose and a main \*\*Montage\*\* slot. ### WK-11 Viper ABP

ABP\_WK-11\_Viper.

\* \*\*DefaultSlot:\*\* Plays animations that animate the \*\*bolt slide\*\*. \* \*\*MagSlot:\*\* Plays mag‑check and inspect animations to preserve the bolt‑slide state. {% hint style="success" %} \*\*Tip\*\*: Bolt-slide state can change depending on the ammo state. For example, when out of ammo, the bolt will be locked back. {% endhint %} ### TR15

ABP\_TR15.

Similar to the WK‑11 Viper, \*\*TR15\*\* also preserves its bolt state. \* \*\*BoltSlot:\*\* Plays all animations that animate the bolt. \* \*\*DefaultSlot:\*\* Used for all other animations. ### Herrington 11-87

ABP\_Herrington\_11-87.

\* \*\*DefaultSlot:\*\* Used for the inspect motion. \* \*\*DefaultReload:\*\* Used for reload and firing motions. ### SRM-12

ABP\_SRM-12.

\* \*\*DefaultSlot:\*\* Used for animations that do not animate bipods. \* \*\*BipodSlot:\*\* Used for bipod stow and deploy motions. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/welcome.md). # Welcome The pack includes realistic weapon animations, a full‑body operator character, procedural animation, and sounds. {% embed url="" %} --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera.md). # First Person Camera \*\*AC\\\_FirstPersonCamera\*\* is an Actor Component used to apply camera animations, recoil shakes, free look, and FOV updates at runtime. ## Initialization

Updating the target camera component.

First, specify that the \*\*Camera\*\* will be animated. Use the default \`Camera\` component that comes with \`ACharacter\`. Then, update the player mesh reference:

Updating the character mesh.

## Free Look Free look is implemented by calling these methods on the Tactical Camera:

Handling free look.

And by controlling player look input:

Taking free look input into account.

{% hint style="success" %} \*\*Note:\*\* During free look, only the camera should receive look input. {% endhint %} ## FOV The camera also updates the FOV when aiming:

Updating FOV.

This logic switches between aiming and non‑aiming FOV states; the component handles FOV interpolation under the hood. ## Camera Shakes The \`Play Camera Shake\` function is used to play shakes when firing:

How to play a camera shake.

\`DA\_FirstPersonCameraShake\` is a Data Asset that contains shake settings:

Camera Shake settings.

\* \*\*Rotation Curve\*\*: Camera rotation animation. \* \*\*Pitch\*\*/\*\*Yaw\*\*/\*\*Roll\*\*: Range of the pitch/yaw/roll value. \* \*\*Smoothing\*\*: Interpolation speed. \* \*\*Play Rate\*\*: Playback speed multiplier. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/ik-motion-player.md). # IK Motion Player ## Component \*\*AC\\\_IKMotionPlayer\*\* generates procedural shakes when aiming or changing fire mode. It exposes a single method:

Use it to play a motion.

To extract the animation \*\*values\*\* (translation & rotation), access the \`IKMotion\` property:

IK additive animation.

## IK Motion This Data Asset contains motion settings. To create a new IK Motion, right‑click and select \*\*Misc → Data Asset → IK Motion\*\*.

IK Motion data asset.

\* \*\*Position\*\* and \*\*Rotation\*\*: Curves that define the animation for each translation and rotation axis. \* \*\*Position/Rotation Scale:\*\* Controls the motion magnitude. \* \*\*Blend Time\*\*: How long (in seconds) it takes to blend in a new motion. \* \*\*Play Rate:\*\* Playback speed multiplier. --- # Character | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/character.md) . How it's animated[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#how-its-animated) ------------------------------------------------------------------------------------------------------------ All animations target the **UE5 Mannequin** skeleton and rely on Epic’s IK bone set: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FteFCaPYTuQupNUA6lYG0%252Fimage.png%3Falt%3Dmedia%26token%3Db0272da6-699f-43ff-a7e8-ebb326dde088&width=768&dpr=3&quality=100&sign=db6bd5a5dc1a1db861a1fb7882d7b8c5&sv=3) IK Bones * **ik\_hand\_gun** drives weapon movement.. * **ik\_hand\_r** contains right‑hand animation data. * **ik\_hand\_l** contains left‑hand animation data. The setup also uses **Virtual Bones (VBs)** for procedural animation: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FQRI7iIwfMZORammsXxmv%252Fimage.png%3Falt%3Dmedia%26token%3D7c554bab-8649-4039-8b7e-441d44a3b1bf&width=768&dpr=3&quality=100&sign=b5e0e2741bb79aabeeaec061679e1044&sv=3) Virtual Bone setup. * **VB ik\_hand\_gun** (targets **ik\_hand\_gun**): Used to position the pistol during quick draw so the **sidearm** is correctly placed relative to the **right hand**. * **VB ik\_hand\_gun\_pivot** (targets **ik\_hand\_gun**): All weapons are attached to this bone. * **VB hand\_r/l** (targets **hand\_r/l**): IK targets for the right/left hand. * **VB lowerarm\_r/l** (targets **lowerarm\_r/l**): Hint/pole targets for the right/left arm. * **VB recoil\_hand\_r** (targets **root**): Preserves right‑hand recoil when holding a pistol one‑handed. * **VB ik\_hand\_gun\_pose** (targets **root**): Used to compute the aiming pose. **Tip**: Weapons are not parented to the right hand; they attach to **VB ik\_hand\_gun\_pivot**. This bone is blended in the Animation Blueprints so the final pose looks correct. Animation Blueprints[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#animation-blueprints) ------------------------------------------------------------------------------------------------------------------- The pack uses modular **Animation Blueprints**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FmcgIcrW0su4fxF2D7wYm%252Fimage.png%3Falt%3Dmedia%26token%3Da095252d-91a6-4968-af98-c24ded538cff&width=768&dpr=3&quality=100&sign=9d426988f30369914219e22e477e8ea5&sv=3) Animation Blueprints used in the pack. ### ABP\_TacticalShooter\_UE5[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#abp_tacticalshooter_ue5) This is the main Animation Blueprint; it incorporates the other animation assets. Here’s how it works: #### Base character pose[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#base-character-pose) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FXnrP6nGOxoaIhZOmhwRm%252Fimage.png%3Falt%3Dmedia%26token%3D0014cd33-1f50-489b-ae00-30e7adb328a1&width=768&dpr=3&quality=100&sign=3d1d0e3790061cfc57fc210b92d814cf&sv=3) Base pose. The base combines a static idle **Anim Sequence** with the main **Anim Montage** (**DefaultSlot**). #### Curve-based animations[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#curve-based-animations) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FOCVpGAIxteihqPng5HTU%252Fimage.png%3Falt%3Dmedia%26token%3Dc076e6fc-2dcb-4248-8897-fad3c0b0a715&width=768&dpr=3&quality=100&sign=1982a2e4f00b1bc5cedcbf258a656eca&sv=3) Procedural movement graph. General movement (idle, walk, sprint, jump) is curve‑driven and procedural, applied primarily via **Apply Additive** nodes. The **Grounded** and **InAir** states provide animation curves such as: * **IK\_X**/**Y**/**Z**: position. * **IK\_Pitch**/**Yaw**/**Roll**: rotation. * **Camera Pitch**/**Yaw**/**Roll**: camera animation. These curves are layered on top of the base pose. Finally, we blend **curve values** (not poses) using a helper bone: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FoSIRBVEn1M5hegrKwRDq%252Fimage.png%3Falt%3Dmedia%26token%3D952ccfcd-afb1-4eec-b9f0-ba28002456e6&width=768&dpr=3&quality=100&sign=215011a257ec16810d2f7d6af1762302&sv=3) Procedural movement blending. **VB Curves** is a dummy bone used solely to blend curve values - not to animate a pose. #### Pistol quick draw[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#pistol-quick-draw) This layer applies quick‑draw and holster animations additively on top of the character pose: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FPLEbS1y6h7btJI1t63yt%252Fimage.png%3Falt%3Dmedia%26token%3D265ace4c-42fc-4d27-81c4-28148ed5d1b1&width=768&dpr=3&quality=100&sign=06d55b4f7768b666cca78585ae866b63&sv=3) Pistol Quick Draw layer. Computes an additive pose per weapon, letting a single animation work across different poses. **Tip**: Originally authored for **TR15**, but reused across weapons via this layer.Left hand actions Apply left‑hand actions (e.g., take an item, push a door): ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fgbpgz18dV2feZcPyxbKp%252Fimage.png%3Falt%3Dmedia%26token%3D05059ab1-f1b7-43a7-bde0-b30e28be7722&width=768&dpr=3&quality=100&sign=3637f91a11db9902720eedc1a6a53086&sv=3) Left Hand Actions layer. #### Finger firing motion[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#finger-firing-motion) Animate the right index finger while firing: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FfVytG91Su08JLFkOOVLg%252Fimage.png%3Falt%3Dmedia%26token%3D93f910f7-e272-4230-8b3a-669bb2943449&width=768&dpr=3&quality=100&sign=59929c9a810519120606b81297896341&sv=3) Finger firing motion. A float smoothly interpolates to **1** while firing to rotate the finger, then returns to **0** afterward. ### ABP\_IK\_Pose[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#abp_ik_pose) Positions the weapon and hands before the main procedural pass. It works in stages: #### VB ik\_hand\_gun\_r[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#vb-ik_hand_gun_r) First, override **VB ik\_hand\_gun\_r** with the base idle pose when quick‑draw is enabled: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FtveIWOu52DCtPdFysVmr%252Fimage.png%3Falt%3Dmedia%26token%3D5906911d-8425-499e-855c-2a7fe7f6e08f&width=768&dpr=3&quality=100&sign=079ef8579c8db8cb6bbf77bdb0c36e28&sv=3) VB ik\_hand\_gun\_r override. This is important for positioning the pistol properly. #### Copying the animation data[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#copying-the-animation-data) Copy the animation data from real bones to VBs. This lets us apply IK additively instead of **overriding** and breaking the pose: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F7NcgJMO1deugVmHvlCHX%252Fimage.png%3Falt%3Dmedia%26token%3D323cf87a-49fe-4cdd-90aa-f5327eb29580&width=768&dpr=3&quality=100&sign=3e308b24882516203910dcd267e39009&sv=3) Copying the animation data. Then override **VB hand\_r** and **VB hand\_l** with the current grip pose: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F4OPAgw3wK61k1X36qvM9%252Fimage.png%3Falt%3Dmedia%26token%3D9005c312-0e59-4ef4-aa85-11257100dda7&width=768&dpr=3&quality=100&sign=6135d584f346dbbc36062d0eb91b90db&sv=3) Left hand pose override. By default, all weapons attach the left hand to the gun. You can smoothly disable this via a curve - for example, many animations **do this** to let the left hand move freely: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FbCEUaL8mUAfpvMYFlw0U%252Fimage.png%3Falt%3Dmedia%26token%3Df0e3322c-7cb9-475b-91ae-e1002dd7c9aa&width=768&dpr=3&quality=100&sign=ece127df684cb3d191becf890112ea41&sv=3) **Mask\_Grip** can disable the left‑hand attachment. #### Offsets[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#offsets) Finally, apply **FTransform** offsets to all IK bones. ### ABP\_IK\_Ads[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#abp_ik_ads) Applies procedural aiming in two steps: 1. Snap the weapon to the camera socket. 2. Apply the **Aim Point** local transform. Note: The **FPCamera** socket is attached to **neck\_02**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F5lcTv1csf35Ao0EcnKez%252Fimage.png%3Falt%3Dmedia%26token%3Da8f2512c-8356-420b-8059-127042b5e1f2&width=768&dpr=3&quality=100&sign=adcd6995ebd6e37684f82814ecb51918&sv=3) Camera socket. ### ABP\_IK\_Sway[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#abp_ik_sway) Applies aiming and movement sway to **VB ik\_hand\_gun**. Sway is computed in **AC\_TacticalShooterAnimation**; this layer simply **retrieves** the **FTransform** and applies it to the bone: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FWIbsxkZaACOwbfc7R4hp%252Fimage.png%3Falt%3Dmedia%26token%3D8a4af3e6-814a-4e21-9531-c2ad0b999715&width=768&dpr=3&quality=100&sign=ac7f4e097b9448616715de0596be174c&sv=3) Sway layer. ### ABP\_IK\_Main[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#abp_ik_main) The final Animation Blueprint, responsible for: 1. Recoil 2. IK Motions 3. Leaning and Aim Offset 4. IK 5. Hiding the head bone #### Recoil[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#recoil) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FmAzRV3NZfD6qz7crVBpl%252Fimage.png%3Falt%3Dmedia%26token%3D302ecf71-fc85-4852-8c71-46f4349cced0&width=768&dpr=3&quality=100&sign=6794eef1d6e609e108c04ffc6bd61ab6&sv=3) How recoil is applied. Recoil animation values are **retrieved** from the **Recoil Animation** component and applied via **Transform (Modify) Bone**. We preserve the right‑hand pose before applying recoil (needed for pistol quick draw). #### IK Motions[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#ik-motions) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FemltrqMCE7gUd1SDWzoU%252Fimage.png%3Falt%3Dmedia%26token%3Da88ffa44-6b7c-46fe-86b0-86f1cdd33d57&width=768&dpr=3&quality=100&sign=a64c7d802e9db96fc3b5d84a44463ef7&sv=3) Additive motions IK Motions are applied similarly to recoil. Motions include aiming and fire‑mode transitions ("boop"/"jiggle" animations). #### Leaning[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#leaning) Leaning distributes the angle evenly across spine bones: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fn3tZISYjGXhMOrOTW6ep%252Fimage.png%3Falt%3Dmedia%26token%3De6cd8f26-cd3c-4267-8fb3-43e23df2dda5&width=768&dpr=3&quality=100&sign=5e3f3ec4fe006edab816aac6b2421edc&sv=3) Leaning rotation. #### Curve-based animations[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#curve-based-animations-1) Movement (idle, walk, sprint, jumping) is applied directly to **VB ik\_hand\_gun**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FWEOaugYOs7UTZEbJ5yqp%252Fimage.png%3Falt%3Dmedia%26token%3D8edb89ed-b65d-419e-85dd-ffa0bd416db2&width=768&dpr=3&quality=100&sign=df2b380552de138abd632005c742ba96&sv=3) Curve-based animations. Curve values (**IK\_X/Y/Z**, **IK\_Pitch/Yaw/Roll**) are **retrieved** here and plugged into the respective translation and rotation axes. #### Aim Offset[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#aim-offset) Like leaning, **Pitch** is applied across spine bones to make the character look up and down: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F6AIv3qvYBu4adEoCKbkS%252Fimage.png%3Falt%3Dmedia%26token%3D61d8e352-52c9-4637-a9b4-38be1d8ff901&width=768&dpr=3&quality=100&sign=20baac32647a39fdf1a4b2c238d68e2c&sv=3) Spine bone rotation. #### IK and head bone[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations#ik-and-head-bone) Finally, **Two‑Bone IK** nodes apply IK using **VB hand\_r** and **VB hand\_l** as targets. We also scale the head bone to zero if `HideHeadMesh` is **true**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Ftw9KKtj5ac0UtK3IvAhn%252Fimage.png%3Falt%3Dmedia%26token%3Ddf2b098b-40ec-493b-9e5f-3bec7c5af3ce&width=768&dpr=3&quality=100&sign=3b9a53e6777fddd47a1e344e5670691f&sv=3) Final steps. [PreviousSounds](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/sounds) [NextProcedural Animation Settings](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings) Last updated 11 months ago --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation.md). # Tactical Shooter Animation \*\*AC\\\_TacticalShooterAnimation\*\* is a central Actor Component that serves as an interface between gameplay and animation. It stores and updates weapon settings and input values (e.g., leaning angle, current gait). ## Tactical View Settings This data asset is covered in detail here: \[Procedural Animation Settings\](/tactical-shooter-pack-unreal/animations/procedural-animation-settings.md). To update the current settings, it's necessary to directly update the reference:

Updating settings when equipping a new weapon.

## Inputs This component also \*\*stores\*\* player input information, specifically: ### Leaning Input Controls how much the player can rotate left and right to \*\*peek\*\* around corners:

Updating leaning angle.

### Gait Represents the current movement state in the range \*\*\\\[0–2\]\*\*, where: \* 0 stands for idle \* 1 stands for walk \* 2 stands for sprint Used to control the blending of idle, walk, and sprint animations:

Updating movement gait.

### Is Aiming Used to control procedural aiming:

Updating aiming.

### Is Firing This flag has two applications in Animation Blueprints: 1. Rotating the right index finger to press the trigger. 2. Controlling the idle sway intensity when firing.

Whether firing is active or not.

--- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/sounds.md). # Sounds All action sounds are played using the \*\*Play Sound\*\* notify attached to weapon animations:

Play Sound notify.

Sound settings.

The only exception is firing sounds, which are played via the weapon Blueprint:

Firing sounds.

--- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/fps-animation-pack-integration.md). # FPS Animation Pack Integration > This tutorial is in progress... --- # Player | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/player.md) . Overview[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints#overview) ------------------------------------------------------------------------------------------- **BP\_TacticalShooterCharacter** is a game‑ready player Blueprint responsible for managing weapons, inputs, and actions: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FIXA7np59yB2VCQlyoaXK%252Fimage.png%3Falt%3Dmedia%26token%3Dae4e0207-2e6f-471a-8892-db337f861ba1&width=768&dpr=3&quality=100&sign=85847b5a57c68b4735c2b3520dfa3578&sv=3) Tactical Shooter Character. [🔷First Person Camera](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera) [🔷Tactical Shooter Animation](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/tactical-shooter-animation) [🔷IK Motion Player](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/ik-motion-player) Character Settings[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints#character-settings) --------------------------------------------------------------------------------------------------------------- **TacticalCharacterSettings** is a Data Asset that tells the player Blueprint which meshes, Animation Blueprints, and weapons to use: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F2j5lvCP1eVWXFD785SBG%252Fimage.png%3Falt%3Dmedia%26token%3D3a3e8bf0-c899-4ecb-9a3f-e807491f25ae&width=768&dpr=3&quality=100&sign=3b58183593c7dc0e30d85492448a7afd&sv=3) Character Settings. The pack supports switching between UE4 and UE5 meshes at runtime, so you can specify different skeletons and Animation Blueprints. By default, the UE5 mesh is used. The **Weapons** list contains weapon Blueprint classes used by the character. BPI Tactical Shooter Character[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints#bpi-tactical-shooter-character) --------------------------------------------------------------------------------------------------------------------------------------- This Blueprint Interface connects the player with animation systems and third‑party systems: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FdGxpWuJtRLCKxDmjhkPn%252Fimage.png%3Falt%3Dmedia%26token%3D8024b36b-81b3-49c4-b8c6-576ab837b916&width=768&dpr=3&quality=100&sign=5464ed1a689dbc2f7d272806237b5262&sv=3) Interface functions. * **Get Player Mesh:** Returns the player's **Skeletal Mesh Component**. * **Get Primary Weapon:** Returns the currently equipped weapon. When quick‑drawing a **sidearm**, it returns the pistol. * **Get Main Weapon:** Returns the main weapon. * **Get Tactical Shooter Component:** Returns the `AC_TacticalShooterAnimation` component. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FnBlm7SPaxCztlxMC4XFc%252Fimage.png%3Falt%3Dmedia%26token%3Debe94dc9-d721-448b-be70-082333613a60&width=768&dpr=3&quality=100&sign=87895b3f1ecec321af8f22f18508870d&sv=3) Returns the player mesh here. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FkLxdhhit3Kv6k6b0Q2TQ%252Fimage.png%3Falt%3Dmedia%26token%3D19c00b97-4dc5-4ece-a618-843c869f1332&width=768&dpr=3&quality=100&sign=ac368cdd86485d3e9e3aefe278388a31&sv=3) Returns the currently used weapon. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fw4wCxdqSwqNQNfG53qbu%252Fimage.png%3Falt%3Dmedia%26token%3Dc8823f93-4f9e-4b6b-b319-2dc02973b88b&width=768&dpr=3&quality=100&sign=7d748874f9a453a0060bd7859696f096&sv=3) Returns the current weapon. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FoAeXoRj1WTYdLppiHsjY%252Fimage.png%3Falt%3Dmedia%26token%3D1a5828c4-00d7-484f-9bf8-93faf95e2780&width=768&dpr=3&quality=100&sign=8b7cc9c361647c3370be08c7a75009f3&sv=3) Returns a reference to the animation component. Input Actions[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints#input-actions) ----------------------------------------------------------------------------------------------------- All Input Actions are implemented in this Blueprint. Here is the list of actions used in the pack: * **Weapon-specific** * Reload * Mag Check * Inspect * Fire * **General** * Aiming * Change Weapon * Change Fire Mode * Look * Move * Sprint * Free Look * Pistol Quick Draw * Lean [PreviousHow to swap weapon mesh](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-swap-weapon-mesh) [NextFirst Person Camera](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/blueprints/first-person-camera) Last updated 11 months ago --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/animations/procedural-animation-settings.md). # Procedural Animation Settings ## Tactical Shooter View Settings Data Asset that contains animation properties used by gameplay and \*\*Animation Blueprints\*\*:

Tactical Shooter View settings.

### General \* \*\*Idle Pose\*\*: Base idle pose for the weapon. \* \*\*Character Animations\*\*: Struct listing all \*\*Anim Montages\*\* used by the Blueprints. ### Procedural \* \*\*Viewmodel\*\*: Contains offsets for first‑person view. \* \*\*Pivot Offset\*\*: Weapon position offset. \* \*\*Pose Offset\*\*: FTransform offset for weapon and arms. \* \*\*Sprint Offset\*\*: FTransform offset, applied only when sprinting. \* \*\*Right\*\*/\*\*Left Hand Offset\*\*: Position offset for the right/left hand. \* LeftElbowSprintOffset: Left elbow offset applied only when sprinting. \* \*\*Pistol Quick Draw Viewmodel\*\*: Has the same exact properties as the Viewmodel. \* \*\*Aiming\*\*/\*\*Movement Sway\*\* \* \*\*Stiffness\*\*: Oscillation factor in range \\\[0;1\]. \* \*\*Damping\*\*: Critical damping factor in range \\\[0;1\]. \* \*\*Interp Speed\*\*: Smoothing speed. \* \*\*Smoothing Speed\*\*: How fast the value should go to zero. \* \*\*Clamp Value\*\*: Max allowed value. ## Locomotion \* \*\*Walk\*\* and \*\*Sprint Intensity\*\*: Controls the influence of walk and sprint animations. ## How these assets are used

All View Settings used in the package.

\*\*Tactical Shooter View Settings\*\* are used in both gameplay and \*\*Animation Blueprints\*\*. Each weapon has two settings assets: one for \*\*UE5\*\* animations and one for \*\*UE4\*\* animations. {% hint style="success" %} \*\*Tip\*\*: The Tactical Shooter Pack allows switching \*\*UE4\*\* and \*\*UE5\*\* meshes at runtime. {% endhint %} --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/pras-documentation/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/pras-documentation/welcome.md). # Welcome! {% hint style="success" %} \*\*Latest version\*\*: 2024.1.0 as of December 3d, 2024. {% endhint %} \[\*\*Showcase\*\*\](https://redirect.epicgames.com/?redirectTo=https://youtu.be/EFNfkMBUuCA) \*\*•\*\* \[\*\*Free Demo\*\*\](https://drive.google.com/file/d/1cAFou2Gf5\_HhbfHjrHpKBdxLD9vAP1Ch/view?usp=drive\_link) \*\*•\*\* \[\*\*Discord\*\*\](https://discord.gg/kinemation-1027338787958816860) \*\*Procedural Recoil Animation System (PRAS)\*\* is the most advanced recoil solution for Unreal Engine. This documentation will provide you with essential info on how the system works and how to implement it in your Unreal project. {% hint style="success" %} \*\*Tip\*\*: make sure to join our \[Discord\](https://discord.gg/kinemation-1027338787958816860) and \[YouTube\](https://www.youtube.com/@kinemationstudio) to stay tuned! {% endhint %} {% embed url="" %} Video showcase. {% endembed %} --- # GASP 5.7+ | Tactical Shooter Pack Unreal For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt) . This page is also available as [Markdown](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+.md) . Project Download (UE 5.7 only)[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#project-download-ue-5.7-only) -------------------------------------------------------------------------------------------------------------------------------------------------------------- Follow these steps to download and install the **Unreal Engine 5.7** integration project. 1 ### Download the project[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#download-the-project) [![Logo](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2Fssl.gstatic.com%2Fdocs%2Fdoclist%2Fimages%2Fdrive_favicon_2026_32dp.png&width=20&dpr=3&quality=100&sign=23d7dd57b363375d08c2dedd7e92cf00&sv=3)TacticalShooterPack\_Integration\_GASP.zipGoogle Docs](https://drive.google.com/file/d/1h5zzf56JRX-7mo1XtNu_U3djJSk5S6pk/view?usp=drive_link) 2 ### Import the Tactical Shooter Pack[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#import-the-tactical-shooter-pack) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FiX1BcBoHtI5H8d70CpVN%252Fimage.png%3Falt%3Dmedia%26token%3D6bf4251f-52f1-4057-806c-febc5fd690cb&width=768&dpr=3&quality=100&sign=f8259c646fc734009dc4c0d5544d7706&sv=3) Via Fab Launcher. Select the project you just downloaded, then add the pack content to it. **Tip**: For manual installation, copy the “KINEMATION” folder from the Tactical Shooter Pack download and paste it into the downloaded integration package. Character Meshes[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#character-meshes) ------------------------------------------------------------------------------------------------------------------------------------ #### Base Blueprint[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#base-blueprint) First, we need to create a base for our integration. Duplicate the **BP\_TacticalShooterCharacter** (**KINEMATION/TacticalShooterPack/Blueprints**): ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FEab8rXK8OhDXL54KTvxw%252Fimage.png%3Falt%3Dmedia%26token%3Dc714e553-ca9d-4ad0-9451-db77fc2c0d1b&width=768&dpr=3&quality=100&sign=0e99b49b5f7a136e1b23f3be5b337a23&sv=3) New blueprint. This will be our main player blueprint. Open it up, go to **Class Settings** and inherit it from the **SandboxCharacter\_CMC**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FkkEZxEFpvCfDpTVwYOhy%252Fimage.png%3Falt%3Dmedia%26token%3Dc6f9694c-55b2-47aa-b961-cb78ed7f02ef&width=768&dpr=3&quality=100&sign=0670fc8d3db33213ef3b8371b11f8bbf&sv=3) Change the parent class. Now we need to add a skeletal mesh for our character model. Let's call it "Player": ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F5empN3aC8LMmjiGRZP0V%252Fimage.png%3Falt%3Dmedia%26token%3D8ab63f9e-c6ab-4211-88fd-1cfb1f179829&width=768&dpr=3&quality=100&sign=ceff3ca0a4f2a799bd4f0be91776272f&sv=3) Add this new Skeletal Mesh Component. Next, assign the modular skeletal mesh — we'll use our modular Operator model: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FsdiyyJOLDNfPjQktZqzt%252Fimage.png%3Falt%3Dmedia%26token%3D435a782f-9163-4cb6-8f0e-73cd08a218ad&width=768&dpr=3&quality=100&sign=82416c263ff60f73ecb41203ee74ba14&sv=3) Pick this skeletal mesh. Find the `GetPlayerMesh` interface function and return the new "Player" skeletal mesh component: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F1onRx0FGiMkoUHv3eSMN%252Fimage.png%3Falt%3Dmedia%26token%3D4e428402-9353-4ff7-895e-23a79806e706&width=768&dpr=3&quality=100&sign=f85ade8e7861720d148ba3716da62074&sv=3) ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F2qz9YPmFycEyCkAJUJFQ%252Fimage.png%3Falt%3Dmedia%26token%3D7255936d-547c-4139-91ef-4ed99bd4ec76&width=768&dpr=3&quality=100&sign=c56f617572bf55a66835c873a38705e7&sv=3) #### Motion Matching Mesh[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#motion-matching-mesh) Select the "Mesh" component and set its animation blueprint to **SandboxCharacter\_CMC\_ABP** and skeletal mesh to **SKM\_UEFN\_Mannequin**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FvF53S3lNhmlFRZgE2bdW%252Fimage.png%3Falt%3Dmedia%26token%3Dfa797307-8979-49f1-905c-9bfbcdc074db&width=768&dpr=3&quality=100&sign=8af9de2889ef0ff22ac7758acfff7848&sv=3) Select the Mesh component in the hierarchy. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FSikpv3mB4dKSFkkGVsO3%252Fimage.png%3Falt%3Dmedia%26token%3D26a0ed8d-e141-43ee-a9ce-2e62b36cc61f&width=768&dpr=3&quality=100&sign=d21c74e4dd6d3f8c8f7a72a82d1e2b1f&sv=3) Update the Anim Class and Skeletal Mesh Asset. **Note**: The "Mesh" skeletal component will generate a motion-matching pose (full-body movement), which will be blended with our tactical animations. #### First Person Camera[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#first-person-camera) Parent the **Camera** component to the Player mesh we created earlier: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FGUENlywacuJ1Tb9SntAW%252Fimage.png%3Falt%3Dmedia%26token%3D484fb880-06cc-4d46-ae68-b2003c9ac663&width=768&dpr=3&quality=100&sign=88d001bcd61606ce34915e81eed72bf3&sv=3) Select the **FPCamera** as a target attachment socket and reset its position and rotation values: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FvE3UPE8L9WPGqnQgojDe%252Fimage.png%3Falt%3Dmedia%26token%3D0cb2cb09-9da0-491a-84b6-19f09d06ae2d&width=768&dpr=3&quality=100&sign=178b8eb27d4b3a06efc2535e813baaa8&sv=3) #### Disabling GASP Cameras & Mesh[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#disabling-gasp-cameras-and-mesh) To disable GASP camera logic and hide the default mesh, we need to add a couple of code snippets at the end of the Begin Play event. To hide the default **Sandbox** mesh, add these nodes to the graph: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FWBqC378zmit53U38huOT%252Fimage.png%3Falt%3Dmedia%26token%3D0b0a2fee-4206-41d4-aaa8-c1c4397f720a&width=768&dpr=3&quality=100&sign=5474c766159ff9b7d7b1b098b010cb36&sv=3) How to hide the base mesh. To disable the default camera logic, use this code snippet ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FlFofXOOMNCO0iv9iWz7G%252Fimage.png%3Falt%3Dmedia%26token%3Dc9920bd1-afc0-4b7f-ba9e-c57788705def&width=768&dpr=3&quality=100&sign=ce24693ea051d33188ea1d61a13272e7&sv=3) Add this right after Begin Play. Here's a video showing where to put this logic in the player blueprint: Inputs[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#inputs) ---------------------------------------------------------------------------------------------------------------- The next step is to properly update GASP inputs at runtime. Open the `Update Player Movement` function (it's called on **Tick**): ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FWUbmsp1zl6dpydDaVtsk%252Fimage.png%3Falt%3Dmedia%26token%3Deaa8b0c9-df35-4253-a837-d72aa411eb0e&width=768&dpr=3&quality=100&sign=e229d844773e3d031a185d6f0d221a97&sv=3) Update movement function. Find some place at the end of the function, and set the value of the Gait property based on Movement State: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FQQYXOyetTFwkXY9xvGo3%252Fimage.png%3Falt%3Dmedia%26token%3D8bc23a45-8d27-450e-a1df-aeb3b365fae7&width=768&dpr=3&quality=100&sign=d6cfa393b5a7419103de5914332c3f3e&sv=3) Updating current Gait. **Note**: `Gait` is from **GASP**, and `Movement State` is a **Tactical Shooter Pack** property. Then, we need to update `bWantsToSprint`, `bWantsToWalk`, `bWantsToAim` and `bWantsToStrafe` properties. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FXNJcaEAl7u7QZVg4QQkn%252Fimage.png%3Falt%3Dmedia%26token%3D28828ddc-609a-40e9-a97a-5ea6db1d67d1&width=768&dpr=3&quality=100&sign=fbf38b3dd8db49085758218ab3d6883d&sv=3) Animation Blueprint[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#animation-blueprint) ------------------------------------------------------------------------------------------------------------------------------------------ Now we need to create an animation blueprint (ABP) that will combine motion-matching pose and animations from the **Tactical Shooter Pack**. Create a new Animation Blueprint using the **UE5 Manny** skeleton from the pack: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FbYPfPtihznedbGRK4oq1%252Fimage.png%3Falt%3Dmedia%26token%3Db1cc08a3-afc6-429b-aa66-1dc940df0aa5&width=768&dpr=3&quality=100&sign=e7e1b312dfc6e1d56c08c34e89fe4e91&sv=3) Creating a new animation blueprint. Go to the Event Graph and use this snippet for initialization: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FOhBRSilQwqqLwJg9wAnq%252Fimage.png%3Falt%3Dmedia%26token%3D0f78eac5-1836-4339-8731-b5672ecdf1b2&width=768&dpr=3&quality=100&sign=4483b7c30383558fa3388483d68bb565&sv=3) Simple initialization logic. **Tip**_:_ Obtain a reference to your player Blueprint here. In the **Anim Graph**, add a **Retarget Pose From Mesh** node. Set the `Retarget From` to **Custom Skeletal Mesh Component**, and `IK Retargeter Asset` to **RTG\_UEFN\_to\_UE5\_Mannequin**: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252Fiu4clvunWjSQStc0XinS%252Fimage.png%3Falt%3Dmedia%26token%3D82b29459-c14a-483d-b208-5fb41277dbc7&width=768&dpr=3&quality=100&sign=ed5c23c65f2b671e134ddbab8e96e734&sv=3) Retargeting settings. After that, bind the `Source Mesh Component` using the "Mesh" property from the player blueprint. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FgC9FZjqvIC0XdFwiNf8Q%252Fimage.png%3Falt%3Dmedia%26token%3D8b3ca6fe-4583-4a1d-b0a7-68e7a2ed7c7d&width=768&dpr=3&quality=100&sign=d6dfe6e2f3ae0e7b8ddbc24032e6b270&sv=3) Bind the "Mesh" here. Next, add the ABP\_TacticalShooter\_UE5 linked anim instance and blend it with the retargeted pose: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FECVoSVrc5T1ewF6R9fi7%252Fimage.png%3Falt%3Dmedia%26token%3D55a4796e-00cc-4db8-8ed5-52a001718858&width=768&dpr=3&quality=100&sign=c789fc16f03b0348ce087c3447a60df3&sv=3) Simple blending setup. ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FxGGlTX4W3LB6MbTvsJZR%252Fimage.png%3Falt%3Dmedia%26token%3D145b5ed9-3543-48f6-9a4f-aa46b1c81caa&width=768&dpr=3&quality=100&sign=1021ba0a342656ecc3b9af4443632b12&sv=3) Override the upper body. **Tip**: Feed the retargeted pose into **Base Pose**, and Tactical Shooter animations into **Blend Pose 0**. Parkour adjustments[](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+#parkour-adjustments) ------------------------------------------------------------------------------------------------------------------------------------------ Copy the jumping logic from `SandboxCharacter_CMC`: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FMiWLLwFavwsNlmfo5TI5%252Fimage.png%3Falt%3Dmedia%26token%3D7755aaa0-b8d9-420b-8e8a-3f167f1df2f8&width=768&dpr=3&quality=100&sign=71810f1e11fadc800b52c6e99ba06c41&sv=3) Copy this logic to "BP\_TacticalShooterCharacter\_GASP". Next, we need to adjust our layering in the animation blueprint. First, create 2 cached poses: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FhJUGVmudxeK418M7f4AK%252Fimage.png%3Falt%3Dmedia%26token%3D64e7ba04-0121-4c16-a462-4150d088f6bf&width=768&dpr=3&quality=100&sign=80ff680f7cb413dd7573b78f4992e60a&sv=3) Cached poses. **UpperBody** carries Tactical Shooter animations; **MotionMatchingPose** carries full‑body motion. Next, add a new **Layered Blend Per Bone** node: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FXoWy5AJlXPxhVBVF77Do%252Fimage.png%3Falt%3Dmedia%26token%3D7119e17a-40b7-42f4-88ee-a5452b306c0f&width=768&dpr=3&quality=100&sign=5c482ebfd265abdd5f236a317819e930&sv=3) This pose will be used when climbing. Add a **Blend by Bool** node and plug the layered result into **True** link: ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252F7JBnucvb75WwLF9IMxRc%252Fimage.png%3Falt%3Dmedia%26token%3Dcc34a872-f503-40a9-908c-77b55897b519&width=768&dpr=3&quality=100&sign=c622e679ffae568a50c8931c3ae5d917&sv=3) Use the "Upper Body" as a "False Pose". Right-click on the "Active Value" and bind "**BP\_TacticalShooterCharacter\_GASP▸AC\_TraversalLogic ▸ DoingTraversalAction**". Finally, blend the result with the "MotionMatchingPose": ![](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/~gitbook/image?url=https%3A%2F%2F3708064705-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fi3pgkdnEMLV7oBpvsWiN%252Fuploads%252FhRVsxJoyE20zW1PzFijH%252Fimage.png%3Falt%3Dmedia%26token%3Df494d262-1cb6-4834-b144-19f02947fe96&width=768&dpr=3&quality=100&sign=98063b7e9398e3895618d669ea85ebb2&sv=3) Final blending step. [PreviousGASP Integration](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration) [NextHow to change character model](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/how-to-change-character-model) Last updated 1 month ago --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://kinemation.gitbook.io/tactical-shooter-pack-unreal/tutorial/gasp-integration/gasp-5.7+.md). # GASP 5.7+ ## Project Download (UE 5.7 only) Follow these steps to download and install the \*\*Unreal Engine 5.7\*\* integration project. {% stepper %} {% step %} ### Download the project {% embed url="" %} {% endstep %} {% step %} ### Import the Tactical Shooter Pack

Via Fab Launcher.

Select the project you just downloaded, then add the pack content to it. {% hint style="info" %} \*\*Tip\*\*: For manual installation, copy the “KINEMATION” folder from the Tactical Shooter Pack download and paste it into the downloaded integration package. {% endhint %} {% endstep %} {% endstepper %} ## Character Meshes #### Base Blueprint First, we need to create a base for our integration. Duplicate the \*\*BP\\\_TacticalShooterCharacter\*\* (\*\*KINEMATION/TacticalShooterPack/Blueprints\*\*):

New blueprint.

This will be our main player blueprint. Open it up, go to \*\*Class Settings\*\* and inherit it from the \*\*SandboxCharacter\\\_CMC\*\*:

Change the parent class.

Now we need to add a skeletal mesh for our character model. Let's call it "Player":

Add this new Skeletal Mesh Component.

Next, assign the modular skeletal mesh — we'll use our modular Operator model:

Pick this skeletal mesh.

Find the \`GetPlayerMesh\` interface function and return the new "Player" skeletal mesh component:
#### Motion Matching Mesh Select the "Mesh" component and set its animation blueprint to \*\*SandboxCharacter\\\_CMC\\\_ABP\*\* and skeletal mesh to \*\*SKM\\\_UEFN\\\_Mannequin\*\*:

Select the Mesh component in the hierarchy.

Update the Anim Class and Skeletal Mesh Asset.

{% hint style="info" %} \*\*Note\*\*: The "Mesh" skeletal component will generate a motion-matching pose (full-body movement), which will be blended with our tactical animations. {% endhint %} #### First Person Camera Parent the \*\*Camera\*\* component to the Player mesh we created earlier:
Select the \*\*FPCamera\*\* as a target attachment socket and reset its position and rotation values:
#### Disabling GASP Cameras & Mesh To disable GASP camera logic and hide the default mesh, we need to add a couple of code snippets at the end of the Begin Play event. To hide the default \*\*Sandbox\*\* mesh, add these nodes to the graph:

How to hide the base mesh.

To disable the default camera logic, use this code snippet

Add this right after Begin Play.

Here's a video showing where to put this logic in the player blueprint: {% embed url="" %} ## Inputs The next step is to properly update GASP inputs at runtime. Open the \`Update Player Movement\` function (it's called on \*\*Tick\*\*):

Update movement function.

Find some place at the end of the function, and set the value of the Gait property based on Movement State:

Updating current Gait.

{% hint style="success" %} \*\*Note\*\*: \`Gait\` is from \*\*GASP\*\*, and \`Movement State\` is a \*\*Tactical Shooter Pack\*\* property. {% endhint %} Then, we need to update \`bWantsToSprint\`, \`bWantsToWalk\`, \`bWantsToAim\` and \`bWantsToStrafe\` properties.
## Animation Blueprint Now we need to create an animation blueprint (ABP) that will combine motion-matching pose and animations from the \*\*Tactical Shooter Pack\*\*. Create a new Animation Blueprint using the \*\*UE5 Manny\*\* skeleton from the pack:

Creating a new animation blueprint.

Go to the Event Graph and use this snippet for initialization:

Simple initialization logic.

{% hint style="success" %} \*\*Tip\*\*\*:\* Obtain a reference to your player Blueprint here. {% endhint %} In the \*\*Anim Graph\*\*, add a \*\*Retarget Pose From Mesh\*\* node. Set the \`Retarget From\` to \*\*Custom Skeletal Mesh Component\*\*, and \`IK Retargeter Asset\` to \*\*RTG\\\_UEFN\\\_to\\\_UE5\\\_Mannequin\*\*:

Retargeting settings.

After that, bind the \`Source Mesh Component\` using the "Mesh" property from the player blueprint.

Bind the "Mesh" here.

Next, add the ABP\\\_TacticalShooter\\\_UE5 linked anim instance and blend it with the retargeted pose:

Simple blending setup.

Override the upper body.

{% hint style="info" %} \*\*Tip\*\*: Feed the retargeted pose into \*\*Base Pose\*\*, and Tactical Shooter animations into \*\*Blend Pose 0\*\*. {% endhint %} ## Parkour adjustments Copy the jumping logic from \`SandboxCharacter\_CMC\`:

Copy this logic to "BP\_TacticalShooterCharacter\_GASP".

Next, we need to adjust our layering in the animation blueprint. First, create 2 cached poses:

Cached poses.

\*\*UpperBody\*\* carries Tactical Shooter animations; \*\*MotionMatchingPose\*\* carries full‑body motion. Next, add a new \*\*Layered Blend Per Bone\*\* node:

This pose will be used when climbing.

Add a \*\*Blend by Bool\*\* node and plug the layered result into \*\*True\*\* link:

Use the "Upper Body" as a "False Pose".

Right-click on the "Active Value" and bind "\*\*BP\\\_TacticalShooterCharacter\\\_GASP▸AC\\\_TraversalLogic ▸ DoingTraversalAction\*\*". Finally, blend the result with the "MotionMatchingPose":

Final blending step.

---