🦾Character Setup
In this section you will learn how to set up a character
Tip: all the functionality below is available to both Blueprints and C++.
Step 1 - Add the RecoilAnimation component
First off, you need to add the recoil component to your character. You can do it in both Blueprints and C++:

UCLASS(config=Game)
class AYourCharacterClass : public ACharacter
{
GENERATED_BODY()
public:
AYourCharacterClass();
protected:
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Recoil")
TObjectPtr<URecoilAnimationComponent> RecoilComponent;
...
};AYourCharacterClass::AYourCharacterClass()
{
...
RecoilComponent = CreateDefaultSubobject<URecoilAnimationComponent>(TEXT("RecoilComponent"));
...
}Then, in your character class click on the RecoilAnimation component and specify the Helper UI:

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:

Step 2 - Integration
Now it's time to call PRAS-related functions. Here're the events PRAS needs to generate top-notch recoil:
Init
This method must be called when a new weapon is equipped. You need to pass the crucial information from your weapon to the RecoilAnimation component:

Data - Recoil AnimatioData struct, that contains curves and a Recoil Data Asset:

Play/Stop
Call these methods when firing and stop firing respectively.
Tip: Play must be called when every shot is fired, it's required for the auto and burst fire modes to work properly.

Set Fire Mode
Call this method when a fire mode is updated:

Set Aiming Status
When a player aiming state is updated, make sure to call this method to affect the recoil during ADS:

Step 3 - Add data to the Weapon
The final step is to add the Recoil Anim Data struct to your weapon:

UCLASS(BlueprintType)
class PRAS_DEMOPROJECT_API AWeapon : public AActor
{
GENERATED_BODY()
AWeapon();
public:
// Add a new property to your class
UPROPERTY(EditDefaultsOnly, Category = "Animation")
FRecoilAnimData RecoilAnimData;
...
};Populate this struct with Curves and Recoil Data Assets in your weapon blueprints. You can get the example assets inStep 1 - Installing the plugin.
Example:

Last updated