Skip to main content

Header Reference

The declarations below are taken from the current runtime module's Public headers. They retain native types, defaults and reflection flags so Blueprint exposure is explicit. Behavior and limitations are explained on the corresponding reference pages.

Editor CallInEditor actions and network RPC declarations are included where reflected. A reflected function without BlueprintCallable or BlueprintPure is not a general Blueprint node. Internal manager methods are described in Loading and Runtime Builder.

AC_WeaponCharComp​

Source: Public/Components/AC_WeaponCharComp.h.

Properties​

Field declarationReflection
APawn* OwnerPawn = nullptrUPROPERTY()
UWeaponSubsystem* SubSystem = nullptrUPROPERTY()
TArray<FPendingWeaponAttachment> PendingAttachmentsUPROPERTY()
FGuid PendingDrawWeaponUPROPERTY()
TArray<FAssignedWeaponData> AssignedWeaponActorsUPROPERTY( ReplicatedUsing=OnRep_AssignedWeaponActor, VisibleAnywhere, BlueprintReadOnly, Category="WeaponCharComp")
TMap<FGuid, AWeaponActorBase*> WeaponRefCacheUPROPERTY( VisibleAnywhere, BlueprintReadOnly, Category="WeaponCharComp")
FGuid ActualUsedWeaponUPROPERTY( ReplicatedUsing=OnRep_ActualUsedWeapon, VisibleAnywhere, BlueprintReadOnly, Category="WeaponCharComp|State")
FOnUsedWeaponUpdate OnUsedWeaponUpdateUPROPERTY( BlueprintAssignable, Category="Weapon Subsystem|Delegates|WeaponCharComp")

Reflected Functions​

UFUNCTION(BlueprintCallable, Category="Weapon Subsystem|Components|Character")
void SetComponentActive(bool bNewActive);
UFUNCTION()
void UpdateRegisteredWeaponActors();
UFUNCTION()
void OnRep_AssignedWeaponActor(const TArray<FAssignedWeaponData>& OldWeapons);
UFUNCTION()
void OnRep_ActualUsedWeapon(FGuid OldWeapon);
UFUNCTION(BlueprintCallable, Category="Weapon Subsystem|Components|Character")
bool AddOrUpdateBuildData(const FWeaponBuildData& Build);
UFUNCTION(BlueprintCallable, Category="Weapon Subsystem|Components|Character")
bool RemoveBuildData(const FGuid InstanceGuid);
UFUNCTION(BlueprintCallable, Category="Weapon Subsystem|Components|Character")
bool GetBuildData( const FGuid InstanceGuid, FWeaponBuildData& OutBuild) const;
UFUNCTION(BlueprintCallable, Category="Weapon|Animation")
void NotifyWeaponAttach(const FGuid WeaponGuid);
UFUNCTION(BlueprintCallable, Category="Weapon|Animation")
void NotifyHolsterFinished();

AC_WeaponGameplayComp​

Source: Public/Components/AC_WeaponGameplayComp.h.

Properties​

Field declarationReflection
AWeaponActorBase* OwnerActor = nullptrUPROPERTY()
UWeaponSubsystem* SubSystem = nullptrUPROPERTY()
FWeaponStateArray WeaponStateDataUPROPERTY(Replicated)
float NextShotTime = 0.0UPROPERTY()
int32 MaxBurstLoop = 3UPROPERTY()
int32 PendingBurstShots = 3UPROPERTY()
int32 ActualAmmo = 100UPROPERTY()
FOnWeaponFired OnWeaponFiredUPROPERTY(BlueprintAssignable, Category = "Weapon Subsystem|Delegates|WeaponGameplayComp")

Reflected Functions​

UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Components|GameplayComp")
void SetComponentActive(const bool bNewActive);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Components|GameplayComp")
void AddWeaponState(const FGameplayTag& Tag);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Components|GameplayComp")
void RemoveWeaponState(const FGameplayTag& Tag);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Components|GameplayComp")
void UpdateWeaponState(const FGameplayTag& TagFamily, const FGameplayTag& Tag);
UFUNCTION(NetMulticast, Reliable)
void MRPC_FireWeapon(const bool bCondition);
UFUNCTION(NetMulticast, Reliable)
void MRPC_ReloadWeapon();

AC_WeaponNetComp​

Source: Public/Components/AC_WeaponNetComp.h.

Properties​

Field declarationReflection
TObjectPtr<UWeaponSubsystem> WeaponSubSystem = nullptrUPROPERTY()
AController* OwnerController = nullptrUPROPERTY()
TMap<FGuid, AWeaponActorBase*> ReplicatedActorRegistryUPROPERTY()
FWeaponBuildData WorkingBuildUPROPERTY(ReplicatedUsing="OnRep_WorkingBuild")
FGuid LastValidatedBuildUPROPERTY()
AWeaponActorBase* ActualRelevantWeapon = nullptrUPROPERTY(Replicated, VisibleAnywhere, BlueprintReadOnly, Category = "WeaponNetComp|State")
AWeaponActorBase* ActualControlledWeapon = nullptrUPROPERTY(Replicated, VisibleAnywhere, BlueprintReadOnly, Category = "WeaponNetComp|State")
FOnWorkingBuildModified OnWorkingBuildModifiedUPROPERTY(BlueprintAssignable, Category="WeaponNetComp|Delegates|NetComponent")
FOnWorkingBuildReplicated OnWorkingBuildReplicatedUPROPERTY(BlueprintAssignable, Category="WeaponNetComp|Delegates|NetComponent")
FOnWorkingBuildCreated OnWorkingBuildCreatedUPROPERTY(BlueprintAssignable, Category="WeaponNetComp|Delegates|NetComponent")
FFetchBuildCallback FetchBuildCallbackUPROPERTY(BlueprintAssignable, Category="WeaponNetComp|Delegates|NetComponent")
FOnBuildValidatedCallback OnBuildValidatedCallbackUPROPERTY(BlueprintAssignable, Category="WeaponNetComp|Delegates|NetComponent")

Reflected Functions​

UFUNCTION()
void OnRep_WorkingBuild(const FWeaponBuildData& OldBuild);
UFUNCTION(Server, Reliable)
void SRPC_QueueBuildRequest(const FWeaponOpRequest& Request);
UFUNCTION()
void Internal_QueueBuildRequest(const FWeaponOpRequest& Request);
UFUNCTION(Server, Reliable)
void SRPC_QueueAcquireRequest(const FWeaponOpRequest& Request);
UFUNCTION()
void Internal_QueueAcquireRequest(const FWeaponOpRequest& Request);
UFUNCTION(Server, Reliable)
void SRPC_QueueEquipRequest(const FWeaponOpRequest& Request);
UFUNCTION()
void Internal_QueueEquipRequest(const FWeaponOpRequest& Request);
UFUNCTION(Server, Reliable)
void SRPC_QueueInteractRequest(const FWeaponOpRequest& Request);
UFUNCTION()
void Internal_QueueInteractRequest(const FWeaponOpRequest& Request);
UFUNCTION()
void QueueBuildOperation(FWeaponOpRequest Request);
UFUNCTION()
void QueueAcquireOperation(FWeaponOpRequest Request);
UFUNCTION()
void QueueEquipOperation(FWeaponOpRequest Request);
UFUNCTION()
void QueueWeaponInteractOperation(FWeaponOpRequest Request);
UFUNCTION(Client, Reliable)
void CRPC_BuildValidatedCallback(const FGuid InstanceGuid);
UFUNCTION(Client, Reliable, Blueprintable, Category="Weapon Subsystem|Components|NetComponent")
void CRPC_FetchBuildCallback(const FWeaponBuildData& InstanceGuid);
UFUNCTION()
void HandleBuildValidated(const FGuid InstanceGuid);
UFUNCTION()
void SpawnWeaponActor( ECustomWeaponType WeaponType, APawn* Owner);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Components|NetComponent")
void SetComponentActive(const bool bNewActive);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Components|NetComponent")
void AddActorToRepRegistry(AWeaponActorBase* Actor);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Components|NetComponent")
void RemoveActorFromRepRegistry(AWeaponActorBase* Actor);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Components|NetComponent")
void SetLastValidatedBuildID(const FGuid InstanceGuid);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Components|NetComponent")
const FGuid& GetLastValidatedBuildID() const;

PDA_WeaponFX_Melee​

Source: Public/Data/FX/PDA_WeaponFX_Melee.h.

Properties​

Field declarationReflection
TObjectPtr<UNiagaraSystem> SwingTrailFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Attack")
FName SwingSocket = "Blade"UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Attack")
float SwingTrailIntensity = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Attack")
TObjectPtr<UNiagaraSystem> HitFleshFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Hit")
TObjectPtr<UNiagaraSystem> HitWorldFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Hit")
TObjectPtr<UNiagaraSystem> HitMetalFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Hit")
TObjectPtr<USoundBase> SwingSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<USoundBase> HitSound_FleshUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<USoundBase> HitSound_WorldUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<USoundBase> BlockSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<USoundBase> ParrySoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<UNiagaraSystem> HeavyAttackChargeFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Heavy")
TObjectPtr<UNiagaraSystem> HeavyAttackImpactFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Heavy")
TObjectPtr<USoundBase> HeavyAttackSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Heavy")
TObjectPtr<USoundBase> MissSwingSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Miss")
TObjectPtr<USoundBase> EquipSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Equip")
TObjectPtr<USoundBase> UnequipSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Equip")

PDA_WeaponFX_Range​

Source: Public/Data/FX/PDA_WeaponFX_Range.h.

Properties​

Field declarationReflection
TObjectPtr<UNiagaraSystem> MuzzleFlashUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Fire")
TObjectPtr<UNiagaraSystem> TracerFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Fire")
FName MuzzleSocket = "Muzzle"UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Fire")
float TracerSpawnChance = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Fire")
TObjectPtr<USoundBase> FireSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<USoundBase> FireSound_SuppressedUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<USoundBase> ReloadSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<USoundBase> DryFireSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<USoundBase> JamSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Audio")
TObjectPtr<UNiagaraSystem> HeatSmokeFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Heat")
float HeatFXStartThreshold = 0.7fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Heat")
float HeatFXIntensityScale = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Heat")
TObjectPtr<UNiagaraSystem> MagazineEjectFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Reload")
FName MagazineSocket = "Mag"UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Reload")
TObjectPtr<UNiagaraSystem> ChamberFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Reload")

PDA_WeaponFX_Throwable​

Source: Public/Data/FX/PDA_WeaponFX_Throwable.h.

Properties​

Field declarationReflection
TObjectPtr<UNiagaraSystem> ThrowFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Throw")
TObjectPtr<USoundBase> ThrowSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Throw")
TObjectPtr<UNiagaraSystem> FlightLoopFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Flight")
TObjectPtr<USoundBase> FlightLoopSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Flight")
TObjectPtr<UNiagaraSystem> FuseFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Fuse")
TObjectPtr<USoundBase> FuseSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Fuse")
TObjectPtr<UNiagaraSystem> ExplosionFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Explosion")
TObjectPtr<USoundBase> ExplosionSoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Explosion")
TMap<FGameplayTag, TObjectPtr<UNiagaraSystem>> HitFXByTagUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Hit")
TMap<FGameplayTag, TObjectPtr<USoundBase>> HitAudioByTagUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Hit")

PDA_WeaponFXBase​

Source: Public/Data/FX/PDA_WeaponFXBase.h.

Properties​

Field declarationReflection
TMap<FGameplayTag, TSoftObjectPtr<UNiagaraSystem>> FXByWeaponEventUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Events")
TMap<FGameplayTag, TSoftObjectPtr<USoundBase>> AudioByWeaponEventUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FX|Events")

PDA_SideEffectDatabase​

Source: Public/Data/PDA_SideEffectDatabase.h.

Properties​

Field declarationReflection
FName DatabaseNameUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Meta")
EWeaponDBType DBType = EWeaponDBType::SideEffectUPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Meta")
TMap<FName, TSoftObjectPtr<UPDA_SideEffectBase>> TableUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Data")

PDA_StatModifierDatabase​

Source: Public/Data/PDA_StatModifierDatabase.h.

Properties​

Field declarationReflection
FName DatabaseNameUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Meta")
EWeaponDBType DBType = EWeaponDBType::StatModifierUPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Meta")
TMap<FName, TSoftObjectPtr<UPDA_WeaponStatModificator>> TableUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Data")

PDA_WeaponDatabase​

Source: Public/Data/PDA_WeaponDatabase.h.

Properties​

Field declarationReflection
FName DatabaseNameUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Meta")
EWeaponDBType DBType = EWeaponDBType::WeaponMasterUPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Meta")
TMap<FName, TSoftObjectPtr<UPDA_WeaponMaster>> TableUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Data")

Reflected Functions​

UFUNCTION(CallInEditor, Category="Registry")
void RebuildRegistry();
UFUNCTION(CallInEditor, Category="Registry")
void AddMapEntry();

PDA_WeaponPartsDatabase​

Source: Public/Data/PDA_WeaponPartsDatabase.h.

Properties​

Field declarationReflection
FName DatabaseNameUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Meta")
EWeaponDBType DBType = EWeaponDBType::WeaponPartUPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Meta")
TMap<FName, TSoftObjectPtr<UPDA_WeaponPart>> TableUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Data")

Reflected Functions​

UFUNCTION(CallInEditor, Category="Registry")
void RebuildRegistry();
UFUNCTION(CallInEditor, Category="Registry")
void AddMapEntry();

PDA_SideEffect_Audio​

Source: Public/Data/SideEffects/PDA_SideEffect_Audio.h.

Properties​

Field declarationReflection
TObjectPtr<USoundBase> SoundUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Audio")
float VolumeMultiplier = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Audio")
float PitchMultiplier = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Audio")
bool bSpatialized = trueUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Audio")
float MaxDistance = 4000.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Audio")

PDA_SideEffect_Camera​

Source: Public/Data/SideEffects/PDA_SideEffect_Camera.h.

Properties​

Field declarationReflection
TObjectPtr<UCameraShakeBase> CameraShakeUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Camera")
float ShakeScale = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Camera")
float FOVOffset = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Camera")
float FOVBlendTime = 0.1fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Camera")
FVector RecoilOffsetUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Camera")

PDA_SideEffect_Haptic​

Source: Public/Data/SideEffects/PDA_SideEffect_Haptic.h.

Properties​

Field declarationReflection
TObjectPtr<UHapticFeedbackEffect_Base> HapticEffectUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Haptic")
float HapticScale = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Haptic")
bool bLeftController = trueUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Haptic")
bool bRightController = trueUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Haptic")

PDA_SideEffect_PostProcess​

Source: Public/Data/SideEffects/PDA_SideEffect_PostProcess.h.

Properties​

Field declarationReflection
TObjectPtr<UMaterialInterface> PostProcessMaterialUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="PostProcess")
float BlendWeight = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="PostProcess")
float FadeInTime = 0.05fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="PostProcess")
float FadeOutTime = 0.1fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="PostProcess")

PDA_SideEffectBase​

Source: Public/Data/SideEffects/PDA_SideEffectBase.h.

Properties​

Field declarationReflection
FName SideEffectIDUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Config")
FGameplayTag SideEffectTypeUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Config")
FGameplayTagContainer TriggerTagsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Config")
FGameplayTag TargetTagUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Config")
FFilterTags ConditionUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Config")
float Chance = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Activation", meta=(ClampMin="0.0", ClampMax="1.0"))
bool bCanStack = falseUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Activation")
int32 MaxStacks = 1UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Activation", meta=(EditCondition="bCanStack"))
float Duration = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Timing")
float Cooldown = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Timing")
float Intensity = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="SideEffect|Scaling")

PDA_WeaponStatsBase​

Source: Public/Data/Stats/PDA_WeaponStatsBase.h.

Properties​

Field declarationReflection
FName StatIDUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta", meta=(DisplayPriority = 0))
ECustomWeaponType WeaponType = ECustomWeaponType::NoneUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta", meta=(DisplayPriority = 1))
FWeaponMetaStats MetaStats = FWeaponMetaStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta")
FWeaponMeleeDMGStats MeleeDamage = FWeaponMeleeDMGStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="MeleeStats")
FWeaponMeleeRangeStats WeaponMeleeRange = FWeaponMeleeRangeStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="MeleeStats")
FWeaponMeleeTimings MeleeTimings = FWeaponMeleeTimings()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="MeleeStats")
FWeaponMeleeHandling MeleeHandling = FWeaponMeleeHandling()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="MeleeStats")
FWeaponMeleeImpact MeleeImpact = FWeaponMeleeImpact()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="MeleeStats")
FBallisticStats Ballistics = FBallisticStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="RangeStats")
FFireStats Fire = FFireStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="RangeStats")
FAccuracyStats Accuracy = FAccuracyStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="RangeStats")
FRecoilStats Recoil = FRecoilStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="RangeStats")
FHandlingStats Handling = FHandlingStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="RangeStats")
FHeatStats Heat = FHeatStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="RangeStats")
float JamChance = 0.002fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="RangeStats|Reliability")
FWeaponThrow ThrowStats = FWeaponThrow()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ThrowableStats")
FWeaponExplosionDamage ExplosionDamage = FWeaponExplosionDamage()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ThrowableStats")

PDA_WeaponMaster​

Source: Public/Data/Weapon/PDA_WeaponMaster.h.

Properties​

Field declarationReflection
FName WeaponIDUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Meta")
ECustomWeaponType WeaponType = ECustomWeaponType::NoneUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Meta")
FGameplayTag WeaponDetailUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Meta")
EWeaponMeshType MeshType = EWeaponMeshType::NoneUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Actor")
TObjectPtr<UStaticMesh> StaticMeshUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Actor", meta=(EditCondition = "MeshType == EWeaponMeshType::StaticMesh", EditConditionHides))
TObjectPtr<USkeletalMesh> SkeletalMeshUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Actor", meta=(EditCondition = "MeshType == EWeaponMeshType::SkeletalMesh", EditConditionHides))
TSubclassOf<UAnimInstance> WeaponAnimInstance = nullptrUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Actor", meta=(EditCondition = "MeshType == EWeaponMeshType::SkeletalMesh", EditConditionHides))
TMap<FGameplayTag, FWeaponSocketArray> SubSlotSocketsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Actor")
FGameplayTagContainer WeaponTagsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Build")
FGameplayTagContainer RequiredPartsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Build")
TObjectPtr<UPDA_WeaponStatsBase> StatsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Data")
TSoftObjectPtr<UPDA_WeaponFXBase> WeaponFXUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Data")
TArray<TSoftObjectPtr<UPDA_SideEffectBase>> SideEffectsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Data")

Reflected Functions​

UFUNCTION(CallInEditor, Category="Registry")
void BakeMeshSockets();

PDA_WeaponPart​

Source: Public/Data/Weapon/PDA_WeaponPart.h.

Properties​

Field declarationReflection
FName PartIDUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta")
FGameplayTag CompatibleSlotUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta")
FFilterTags WeaponTagsFilterUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta")
EWeaponMeshType MeshType = EWeaponMeshType::StaticMeshUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Actor")
TObjectPtr<UStaticMesh> StaticMeshUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Actor", meta=(EditCondition="MeshType == EWeaponMeshType::StaticMesh", EditConditionHides))
TObjectPtr<USkeletalMesh> SkeletalMeshUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Actor", meta=(EditCondition="MeshType == EWeaponMeshType::SkeletalMesh", EditConditionHides))
TMap<FGameplayTag, FWeaponSocketArray> SubSlotSocketsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Actor")
FGameplayTagContainer PartTagsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Build")
FGameplayTagContainer GrantedCapabilitiesUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Build")
FGameplayTagContainer BlockedCapabilitiesUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Build")
TArray<TObjectPtr<UPDA_WeaponStatModificator>> StatModifiersUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Data")
TArray<TSoftObjectPtr<UPDA_SideEffectBase>> SideEffectsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Data")

Reflected Functions​

UFUNCTION(CallInEditor, Category="Registry")
void BakeMeshSockets();

PDA_WeaponStatModificator​

Source: Public/Data/Weapon/PDA_WeaponStatModificator.h.

Properties​

Field declarationReflection
FName ModifierIDUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta")
FGameplayTagContainer ModifierTagsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta")
FFilterTags ConditionUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta")
FFilterTags WeaponModifierFilterUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta")
bool bCanStack = falseUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta")
int32 MaxStacks = 1UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Meta", meta=(EditCondition="bCanStack"))
float Duration = -1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Lifetime")
FModMeta MetaUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModMeleeDamage MeleeDamageUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModMeleeRange MeleeRangeUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModMeleeTiming MeleeTimingUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModMeleeHandling MeleeHandlingUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModMeleeImpact MeleeImpactUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModThrow ThrowUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModExplosion ExplosionUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModDamage Damage = FModDamage()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModFire Fire = FModFire()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModAccuracy Accuracy = FModAccuracy()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModRecoil Recoil = FModRecoil()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModReload Reload = FModReload()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")
FModAmmo Ammo = FModAmmo()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats")

WeaponStructs​

Source: Public/Data/WeaponStructs.h.

FWeaponOpRequest​

Field declarationReflection
EWeaponOpType OperationType = EWeaponOpType::NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponOpRequest")
AController* Controller = nullptrUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponOpRequest")
FInstancedStruct Payload = FInstancedStruct()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponOpRequest")

FModifyWeaponBuildPayload​

Field declarationReflection
FGuid BuildID = FGuid()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModifyBuildPayload")
FName PartID = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModifyBuildPayload")
FName ParentPartID = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModifyBuildPayload")
FName SocketName = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModifyBuildPayload")
FGameplayTag InstalledSlotTag = FGameplayTag()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModifyBuildPayload")

FCommonWeaponBuildPayload​

Field declarationReflection
FGuid BuildID = FGuid()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "CommonBuildPayload")

FAssignedWeaponData​

Field declarationReflection
FName SourceEquippedSlot = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "AssignedWeaponData")
FName ActualEquippedSlot = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "AssignedWeaponData")
FGuid WeaponGuid = FGuid()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "AssignedWeaponData")

FPendingWeaponAttachment​

Field declarationReflection
FGuid WeaponGuid = FGuid()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "PendingWeaponAttachment")
EWeaponAttachmentOp Operation = EWeaponAttachmentOp::NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "PendingWeaponAttachment")

FWeaponTransition​

Field declarationReflection
FGuid HolsterWeapon = FGuid()UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category="WeaponTransition")
FGuid DrawWeapon = FGuid()UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category="WeaponTransition")

FWeaponBuildPartData​

Field declarationReflection
FName PartID = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponBuildPartData")
FName ParentPartID = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponBuildPartData")
FName InstalledSlotName = FName()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponBuildPartData")
FGameplayTag InstalledSlotTag = FGameplayTag()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponBuildPartData")

FWeaponBuildData​

Field declarationReflection
FGuid InstanceGuid = FGuid()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponBuildData")
FName WeaponID = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponBuildData")
TArray<FWeaponBuildPartData> Parts = TArray<FWeaponBuildPartData>()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponBuildData")
bool bValidated = falseUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponBuildData")
bool bUsable = falseUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponBuildData")

FImportWeaponBuildPayload​

Field declarationReflection
FWeaponBuildData Build = FWeaponBuildData()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ImportWeaponBuildPayload")

FAcquireWeaponPayload​

Field declarationReflection
EWeaponAllocationType AllocationType = EWeaponAllocationType::NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "AcquirePayload")
ECustomWeaponType WeaponType = ECustomWeaponType::NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "AcquirePayload")

FEquipWeaponPayload​

Field declarationReflection
APawn* Character = nullptrUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "EquipWeaponPayload")
FGuid WeaponGuid = FGuid()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "EquipWeaponPayload")
FGuid BuildID = FGuid()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "EquipWeaponPayload")
FName TargetSocket = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "EquipWeaponPayload")

FWeaponInteractPayload​

Field declarationReflection
FGuid WeaponGuid = FGuid()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponInteractPayload")
bool bState = falseUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponInteractPayload")

FPartValidationResult​

Field declarationReflection
EWeaponValidationResult ResultType = EWeaponValidationResult::NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "PartValidationResult")
bool bIsValid = falseUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "PartValidationResult")
FString FailureReason = FString()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "PartValidationResult")
FGameplayTag ResolvedSlotTag = FGameplayTag()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "PartValidationResult")

FBuildValidationResult​

Field declarationReflection
bool bIsValid = falseUPROPERTY(BlueprintReadWrite, EditAnywhere)
EWeaponValidationResult ResultType = EWeaponValidationResult::NoneUPROPERTY(BlueprintReadWrite, EditAnywhere)
FString FailureReasonUPROPERTY(BlueprintReadWrite, EditAnywhere)

FWeaponOperationRequest​

Field declarationReflection
EWeaponOpType OperationType = EWeaponOpType::NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponOperationRequest")
AActor* TargetPawn = nullptrUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponOperationRequest")
FGuid WeaponGuid = FGuid()UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponOperationRequest")
FName PartID = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponOperationRequest")
FName SocketName = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponOperationRequest")

FWeaponRuntimeState​

Field declarationReflection
FName WeaponID = NAME_NoneUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponRuntimeState")
int32 AmmoInClip = 0UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponRuntimeState")
int32 ReserveAmmo = 0UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponRuntimeState")
float Durability = 0.0fUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponRuntimeState")
FGameplayTagContainer StateTagsUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WeaponRuntimeState")

FFilterTags​

Field declarationReflection
FGameplayTagContainer RequiredTagsUPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "FilterTags")
FGameplayTagContainer BlockedTagsUPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "FilterTags")

FWeaponRuntimeData​

Field declarationReflection
FName WeaponMasterIDUPROPERTY()
TArray<FName> PartIDsUPROPERTY()
TArray<FName> AttachmentIDsUPROPERTY()

FWeaponReplicationData​

Field declarationReflection
FName WeaponMasterIDUPROPERTY()
TArray<FName> PartIDsUPROPERTY()
TArray<FName> AttachmentIDsUPROPERTY()

FWeaponLookupTables​

Field declarationReflection
TMap<FName, EWeaponDBType> WeaponDBTypeLookupUPROPERTY(BlueprintReadWrite, Category = "WeaponLookupTables|Reg")
TMap<FName, TSoftObjectPtr<UPDA_WeaponMaster>> WeaponMasterCacheUPROPERTY(BlueprintReadWrite, Category = "WeaponLookupTables|Reg")
TMap<FName, TSoftObjectPtr<UPDA_WeaponPart>> WeaponPartsCacheUPROPERTY(BlueprintReadWrite, Category = "WeaponLookupTables|Reg")
TMap<FName, TSoftObjectPtr<UPDA_WeaponStatModificator>> StatModifierCacheUPROPERTY(BlueprintReadWrite, Category = "WeaponLookupTables|Reg")
TMap<FName, TSoftObjectPtr<UPDA_SideEffectBase>> SideEffectCacheUPROPERTY(BlueprintReadWrite, Category = "WeaponLookupTables|Reg")
TMap<FName, UPDA_WeaponMaster*> LoadedWeaponMasterUPROPERTY(Transient)
TMap<FName, UPDA_WeaponPart*> LoadedWeaponPartsUPROPERTY(Transient)
TMap<FName, UPDA_WeaponStatModificator*> LoadedStatModifierUPROPERTY(Transient)
TMap<FName, UPDA_SideEffectBase*> LoadedSideEffectsUPROPERTY(Transient)

FActiveRuntimeWeaponComponent​

Field declarationReflection
FGuid InstanceID = FGuid()UPROPERTY(BlueprintReadWrite, Category = "ActiveRuntimeWeaponComponent")
EWeaponMeshType MeshType = EWeaponMeshType::NoneUPROPERTY(BlueprintReadWrite, Category = "ActiveRuntimeWeaponComponent")
TObjectPtr<USceneComponent> Component = nullptrUPROPERTY(BlueprintReadWrite, Category = "ActiveRuntimeWeaponComponent")
FGuid ParentID = FGuid()UPROPERTY(BlueprintReadWrite, Category = "ActiveRuntimeWeaponComponent")
FName SocketNameUPROPERTY(BlueprintReadWrite, Category = "ActiveRuntimeWeaponComponent")

FWeaponFastArrayOpResult​

Field declarationReflection
bool bSucceed = falseUPROPERTY(BlueprintReadWrite, Category = "WeaponFastArrayOpResult")
FGuid InstanceID = FGuid()UPROPERTY(BlueprintReadWrite, Category = "WeaponFastArrayOpResult")

FWeaponDataEntry​

Field declarationReflection
FName EntryIDUPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "FWeaponDataEntry")
FGuid InstanceIDUPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "FWeaponDataEntry")
EWeaponDBType DBType = EWeaponDBType::NoneUPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "FWeaponDataEntry")
EWeaponMeshType MeshType = EWeaponMeshType::NoneUPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "FWeaponDataEntry|Mesh")
FName SocketNameUPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "FWeaponDataEntry|Mesh")

FWeaponDataArray​

Field declarationReflection
TArray<FWeaponDataEntry> DataUPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "FWeaponDataArray")
AWeaponActorBase* Owner = nullptrUPROPERTY(NotReplicated)

FWeaponSocketArray​

Field declarationReflection
TArray<FName> SocketsUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "FSocketArray")

FWeaponMetaStats​

Field declarationReflection
float EquipTime = 0.3fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMetaStats")
float MoveSpeedMultiplierEquipped = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMetaStats")
float MoveSpeedMultiplierInteracting = 0.95fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMetaStats")

FWeaponMeleeDMGStats​

Field declarationReflection
float Damage = 45.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeDMGStats")
float HeavyAttackMultiplier = 1.6fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeDMGStats")

FWeaponMeleeRangeStats​

Field declarationReflection
float AttackRange = 180.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeRangeStats")
float AttackAngle = 75.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeRangeStats")

FWeaponMeleeTimings​

Field declarationReflection
float AttackCooldown = 0.45fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeTimings")
float WindUpTime = 0.12fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeTimings")

FWeaponMeleeHandling​

Field declarationReflection
float StaminaCostLight = 10.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeHandling")
float StaminaCostHeavy = 25.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeHandling")

FWeaponMeleeImpact​

Field declarationReflection
float KnockbackForce = 350.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeImpact")
float HitStopDuration = 0.05fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponMeleeImpact")

FBallisticStats​

Field declarationReflection
float Damage = 30.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FBallisticStats")
float EffectiveRange = 3000.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FBallisticStats")
float MaxRange = 8000.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FBallisticStats")
float MuzzleVelocity = 80000.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FBallisticStats")
float PenetrationPower = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FBallisticStats")

FAccuracyStats​

Field declarationReflection
float Spread = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FAccuracyStats")
float SpreadPerShot = 0.15fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FAccuracyStats")
float SpreadRecovery = 3.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FAccuracyStats")

FFireStats​

Field declarationReflection
float FireRateRPM = 600.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FFireStats")
float FireWarmupTime = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FFireStats")
int32 BurstCount = 3UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FFireStats", meta=(ClampMin="2"))
float BurstPauseTime = 0.08fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FFireStats")

FRecoilStats​

Field declarationReflection
float RecoilVertical = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats|Recoil")
float RecoilHorizontal = 0.5fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats|Recoil")
float RecoilRandomness = 0.3fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats|Recoil")
float Kickback = 0.3fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats|Recoil")
float KickbackRecovery = 0.1fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Stats|Recoil")

FHandlingStats​

Field declarationReflection
float AimDownSightTime = 0.25fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FHandlingStats")
float ReloadTime = 2.4fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FHandlingStats")
float MoveSpeedMultiplier = 0.9fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FHandlingStats")
float SprintOutTime = 0.2fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FHandlingStats")

FHeatStats​

Field declarationReflection
float HeatPerShot = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FHeatStats")
float HeatCooldownRate = 5.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FHeatStats")
float OverheatThreshold = 100.fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FHeatStats")

FWeaponThrow​

Field declarationReflection
float ThrowForce = 1400.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponThrow")
float ThrowCooldown = 1.2fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponThrow")
float FuseTime = 3.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponThrow")

FWeaponExplosionDamage​

Field declarationReflection
float ExplosionDamage = 120.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponExplosionDamage")
float ExplosionRadius = 450.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponExplosionDamage")
float DamageFalloffExponent = 1.6fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponExplosionDamage")
float SelfDamageMultiplier = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponExplosionDamage")

FModMeta​

Field declarationReflection
float EquipTimeAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeta")
float EquipTimeMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeta")
float MoveSpeedMultiplierEquippedAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeta")
float MoveSpeedMultiplierEquippedMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeta")
float MoveSpeedMultiplierInteractingAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeta")
float MoveSpeedMultiplierInteractingMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeta")

FModMeleeDamage​

Field declarationReflection
float DamageAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeDamage")
float DamageMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeDamage")
float HeavyAttackMultiplierAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeDamage")
float HeavyAttackMultiplierMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeDamage")

FModMeleeRange​

Field declarationReflection
float AttackRangeAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeRange")
float AttackRangeMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeRange")
float AttackAngleAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeRange")
float AttackAngleMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeRange")

FModMeleeTiming​

Field declarationReflection
float AttackCooldownAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeTiming")
float AttackCooldownMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeTiming")
float WindUpTimeAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeTiming")
float WindUpTimeMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeTiming")

FModMeleeHandling​

Field declarationReflection
float StaminaCostLightAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeHandling")
float StaminaCostLightMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeHandling")
float StaminaCostHeavyAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeHandling")
float StaminaCostHeavyMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeHandling")

FModMeleeImpact​

Field declarationReflection
float KnockbackForceAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeImpact")
float KnockbackForceMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeImpact")
float HitStopDurationAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeImpact")
float HitStopDurationMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModMeleeImpact")

FModThrow​

Field declarationReflection
float ThrowForceAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModThrow")
float ThrowForceMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModThrow")
float ThrowCooldownAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModThrow")
float ThrowCooldownMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModThrow")
float FuseTimeAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModThrow")
float FuseTimeMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModThrow")

FModExplosion​

Field declarationReflection
float ExplosionDamageAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModExplosion")
float ExplosionDamageMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModExplosion")
float ExplosionRadiusAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModExplosion")
float ExplosionRadiusMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModExplosion")
float DamageFalloffExponentAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModExplosion")
float DamageFalloffExponentMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModExplosion")
float SelfDamageMultiplierAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModExplosion")
float SelfDamageMultiplierMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModExplosion")

FModDamage​

Field declarationReflection
float DamageAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModDamage")
float DamageMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModDamage")

FModFire​

Field declarationReflection
float FireRateRPMAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModFire")
float FireRateRPMMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModFire")
float BurstCountAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModFire")
float BurstPauseTimeAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModFire")
float BurstPauseTimeMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModFire")
float FireWarmupTimeAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModFire")
float FireWarmupTimeMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModFire")

FModAccuracy​

Field declarationReflection
float SpreadAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModAccuracy")
float SpreadMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModAccuracy")
float SpreadPerShotAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModAccuracy")
float SpreadPerShotMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModAccuracy")
float SpreadRecoveryAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModAccuracy")
float SpreadRecoveryMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModAccuracy")

FModRecoil​

Field declarationReflection
float RecoilVerticalAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModRecoil")
float RecoilVerticalMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModRecoil")
float RecoilHorizontalAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModRecoil")
float RecoilHorizontalMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModRecoil")
float KickbackAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModRecoil")
float KickbackMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModRecoil")

FModReload​

Field declarationReflection
float ReloadTimeAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModReload")
float ReloadTimeMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModReload")

FModAmmo​

Field declarationReflection
int32 MagazineSizeAdd = 0UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModAmmo")
float HeatAdd = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModAmmo")
float HeatDissipationMult = 1.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="FModAmmo")

FWeaponRuntimeStats​

Field declarationReflection
FWeaponMetaStats MetaStats = FWeaponMetaStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FWeaponMeleeDMGStats MeleeDamage = FWeaponMeleeDMGStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FWeaponMeleeRangeStats MeleeRange = FWeaponMeleeRangeStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FWeaponMeleeTimings MeleeTimings = FWeaponMeleeTimings()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FWeaponMeleeHandling MeleeHandling = FWeaponMeleeHandling()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FWeaponMeleeImpact MeleeImpact = FWeaponMeleeImpact()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FBallisticStats Ballistics = FBallisticStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FFireStats Fire = FFireStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FAccuracyStats Accuracy = FAccuracyStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FRecoilStats Recoil = FRecoilStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FHandlingStats Handling = FHandlingStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FHeatStats Heat = FHeatStats()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
float JamChance = 0.0fUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FWeaponThrow ThrowStats = FWeaponThrow()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")
FWeaponExplosionDamage ExplosionDamage = FWeaponExplosionDamage()UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="WeaponRuntimeStats")

FWeaponStateEntry​

Field declarationReflection
FGameplayTag EntryTag = FGameplayTag()UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "WeaponStateEntry")

FWeaponStateArray​

Field declarationReflection
TArray<FWeaponStateEntry> DataUPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "WeaponStateArray")
UAC_WeaponGameplayComp* Owner = nullptrUPROPERTY(NotReplicated)

I_WeaponAnim​

Source: Public/Interfaces/I_WeaponAnim.h.

Reflected Functions​

UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|WeaponAnim")
void GetWeaponSocketTransform(const FName SocketName, const ERelativeTransformSpace TransformSpace, FTransform& SocketTransform);

I_WeaponController​

Source: Public/Interfaces/I_WeaponController.h.

Reflected Functions​

UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|Controller")
UAC_WeaponNetComp* GetWeaponNetComp();
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|Controller")
void AcquireWeaponExternal(const ECustomWeaponType& WeaponType, AActor* Owner);
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|Controller")
void WeaponAcquiredCallback(APawn* OwnerPawn, FGuid WeaponGuid);
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|Controller")
void WeaponUnequipCallback(const EWeaponAllocationType& AllocationType, const ECustomWeaponType& WeaponType, AActor* WeaponRef);
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|Controller")
void BuildCreatedCallback(const FGuid BuildID);

I_WeaponPawn​

Source: Public/Interfaces/I_WeaponPawn.h.

Reflected Functions​

UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|Pawn")
void PlayWeaponDrawAnimation(const FGuid WeaponGuid);
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|Pawn")
void PlayWeaponHolsterAnimation(const FGuid WeaponGuid);
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|Pawn")
FGuid GetWeaponGuidByHolsterIndex(int32 HolsterIndex);
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Weapon Subsystem|Interfaces|Pawn")
USkeletalMeshComponent* GetCharMesh();

WeaponDataManager​

Source: Public/Manager/WeaponDataManager.h.

Properties​

Field declarationReflection
TMap<EWeaponDBType, FName> WeaponDBLookupUPROPERTY()
FWeaponLookupTables LookupUPROPERTY()
TObjectPtr<UAssetManager> AssetManagerUPROPERTY()

Reflected Functions​

UFUNCTION()
void OnWeaponDatabaseLoaded(UPDA_WeaponDatabase* LoadedDatabasePtr);
UFUNCTION()
void OnWeaponPartsDatabaseLoaded(UPDA_WeaponPartsDatabase* LoadedDatabase);
UFUNCTION()
void OnStatModifierDatabaseLoaded(UPDA_StatModifierDatabase* LoadedDatabase);
UFUNCTION()
void OnSideEffectDatabaseLoaded(UPDA_SideEffectDatabase* LoadedDatabase);

WeaponRuntimeBuilder​

Source: Public/Manager/WeaponRuntimeBuilder.h.

Properties​

Field declarationReflection
TObjectPtr<UWeaponDataManager> DataManagerUPROPERTY()

AsyncResolveWeaponAsset​

Source: Public/System/AsyncResolveWeaponAsset.h.

Properties​

Field declarationReflection
FOnWeaponAssetLoaded CompletedUPROPERTY(BlueprintAssignable)
UWeaponDataManager* DataManager = nullptrUPROPERTY()

Reflected Functions​

UFUNCTION(BlueprintCallable, meta=(BlueprintInternalUseOnly="true"), Category="Weapon Subsystem|BP Lib|Async Func")
static UAsyncResolveWeaponAsset* AsyncResolveWeaponAsset(FName ItemID);

WeaponCommonFuncLib​

Source: Public/System/WeaponCommonFuncLib.h.

Reflected Functions​

UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateBuildOp(AController* RequestingController, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateAddPartToBuildOp(AController* RequestingController, FGuid BuildID, FName PartID, FName ParentPartID, FName SocketName, FGameplayTag InstalledSlotTag, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateRemovePartFromBuildOp(AController* RequestingController, FGuid BuildID, FName PartID, FName ParentPartID, FName SocketName, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateValidateBuildOp(AController* RequestingController, FGuid BuildID, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateDeleteBuildOp(AController* RequestingController, FGuid BuildID, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateImportBuildOp(AController* RequestingController, const FWeaponBuildData& Build, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateFetchBuildOp(AController* RequestingController, FGuid BuildID, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateAcquireOp(AController* RequestingController, EWeaponAllocationType AllocationType, ECustomWeaponType WeaponType, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateEquipOp(AController* RequestingController, APawn* Character, FGuid WeaponGuid, FGuid BuildID, FName TargetSocket, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateUnequipOp(AController* RequestingController, APawn* Character, FGuid WeaponGuid, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateUseOp(AController* RequestingController, FGuid WeaponGuid, FName TargetSocket, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateWeaponAttackOp(AController* RequestingController, bool bCondition, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateReloadOp(AController* RequestingController, bool& bSucceed, FString& FailureReason);
UFUNCTION(BlueprintPure, Category = "Weapon Subsystem|BP Lib|Operations")
static FWeaponOpRequest CreateTriggerFiremodeOp(AController* RequestingController, bool& bSucceed, FString& FailureReason);

WeaponUIHelper​

Source: Public/System/WeaponUIHelper.h.

Reflected Functions​

UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|BP Lib|UI", meta=(AutoCreateRefTerm="Slate", AdvancedDisplay="VisualPivot"))
static UDragDropOperation* CreateWeaponPartDragDropOp(APlayerController* PlayerController, EWeaponPartType PartType, UPrimaryDataAsset* LoadedDataAsset, const FSlateBrush& Slate, EDragPivot VisualPivot, bool& bSucceed, FString& FailureReason);

WeaponDragVisual​

Source: Public/UI/WeaponDragVisual.h.

Properties​

Field declarationReflection
UTexture2D* PayloadTexture = nullptrUPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category = "WeaponPayload")

WeaponPartPayload​

Source: Public/UI/WeaponPartPayload.h.

Properties​

Field declarationReflection
EWeaponPartType PartType = EWeaponPartType::NoneUPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category = "WeaponPayload")
FName PartID = NAME_NoneUPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category = "WeaponPayload")
UPrimaryDataAsset* Data = nullptrUPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category = "WeaponPayload")

WeaponSettings​

Source: Public/WeaponSettings.h.

Properties​

Field declarationReflection
TArray<TSoftObjectPtr<UPDA_WeaponDatabase>> WeaponMasterDBsUPROPERTY( EditAnywhere, Config, Category="Data|TableArrays")
TArray<TSoftObjectPtr<UPDA_WeaponPartsDatabase>> WeaponPartsDBsUPROPERTY( EditAnywhere, Config, Category="Data|TableArrays")
TArray<TSoftObjectPtr<UPDA_StatModifierDatabase>> StatModifierDBsUPROPERTY( EditAnywhere, Config, Category="Data|TableArrays")
TArray<TSoftObjectPtr<UPDA_SideEffectDatabase>> SideEffectsDBsUPROPERTY( EditAnywhere, Config, Category="Data|TableArrays")
int32 NumDefaultSkelCompsBase = 1UPROPERTY( EditAnywhere, Config, Category="Actors|WeaponActorBase", meta=(DisplayName = "Number of default Skeletal components"))
int32 NumDefaultStaticCompsBase = 1UPROPERTY( EditAnywhere, Config, Category="Actors|WeaponActorBase", meta=(DisplayName = "Number of default Static components"))
int32 NumDefaultSkelCompsMelee = 0UPROPERTY( EditAnywhere, Config, Category="Actors|Melee Weapons", meta=(DisplayName = "Number of default Skeletal components"))
int32 NumDefaultStaticCompsMelee = 1UPROPERTY( EditAnywhere, Config, Category="Actors|Melee Weapons", meta=(DisplayName = "Number of default Static components"))
int32 NumDefaultSkelCompsRange = 1UPROPERTY( EditAnywhere, Config, Category="Actors|Range Weapons", meta=(DisplayName = "Number of default Skeletal components"))
int32 NumDefaultStaticCompsRange = 20UPROPERTY( EditAnywhere, Config, Category="Actors|Range Weapons", meta=(DisplayName = "Number of default Static components"))
int32 NumDefaultSkelCompsThrowable = 1UPROPERTY( EditAnywhere, Config, Category="Actors|Throwable Weapons", meta=(DisplayName = "Number of default Skeletal components"))
int32 NumDefaultStaticCompsThrowable = 1UPROPERTY( EditAnywhere, Config, Category="Actors|Throwable Weapons", meta=(DisplayName = "Number of default Static components"))
TSoftClassPtr<UWeaponDragVisual> DragVisual = nullptrUPROPERTY(EditAnywhere, Config, Category="UI|DragDrop")

WeaponSubsystem​

Source: Public/WeaponSubsystem.h.

Properties​

Field declarationReflection
TMap<AController*, TWeakObjectPtr<UAC_WeaponNetComp>> RegisteredNetCompsUPROPERTY()
TMap<APawn*, TWeakObjectPtr<UAC_WeaponCharComp>> RegisteredCharCompsUPROPERTY()
TMap<FGuid, TWeakObjectPtr<UAC_WeaponGameplayComp>> RegisteredWeaponCompsUPROPERTY()
TMap<FGuid, FWeaponBuildData> BuildRegistryUPROPERTY()
TMap<FGuid, TWeakObjectPtr<AWeaponActorBase>> WeaponRegistryUPROPERTY()
TMap<TWeakObjectPtr<AWeaponActorBase>, FGuid> WeaponRegistryRecursiveUPROPERTY()
UWeaponDataManager* DataManagerUPROPERTY()
UWeaponRuntimeBuilder* RuntimeBuilderUPROPERTY()
FOnUpdateTick OnUpdateTickDelegateUPROPERTY(BlueprintAssignable, Category = "Weapon Subsystem|Delegates|Subsystem")
FOnExternalRemoveItems OnExternalRemoveItemsUPROPERTY(BlueprintAssignable, Category = "Weapon Subsystem|Delegates|Subsystem")
FOnExternalRemoveCallback OnExternalRemoveCallbackUPROPERTY(BlueprintAssignable, Category = "Weapon Subsystem|Delegates|Subsystem")
FOnExternalAddItems OnExternalAddItemsUPROPERTY(BlueprintAssignable, Category = "Weapon Subsystem|Delegates|Subsystem")
FOnExternalAddCallback OnExternalAddCallbackUPROPERTY(BlueprintAssignable, Category = "Weapon Subsystem|Delegates|Subsystem")
FOnScreenMessageTriggered OnScreenMessageTriggeredUPROPERTY(BlueprintAssignable, Category = "Weapon Subsystem|Delegates|Subsystem")

Reflected Functions​

UFUNCTION()
void RequestCompRegistration(const bool bRegister, UActorComponent* InComponent);
UFUNCTION()
bool RegisterReplicatedActor(FGuid ActorID, AWeaponActorBase* Actor);
UFUNCTION()
void UnRegisterReplicatedActor(FGuid ActorID);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Subsystem")
void QueueWeaponOperation(const bool bCondition, const FString Message, const FWeaponOpRequest Request);
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Subsystem")
AWeaponActorBase* GetWeaponRefByGuid(FGuid ActorID, bool& bValid) const;
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Subsystem")
FGuid GetWeaponGuidByActorRef(AWeaponActorBase* ActorRef, bool& bValid) const;
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Subsystem")
UAC_WeaponNetComp* GetNetCompForController(AController* Controller, bool& bValid) const;
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Subsystem")
UAC_WeaponCharComp* GetCharCompForCharacter(APawn* Character, bool& bValid) const;
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Subsystem")
void DumpWeaponDBLookup() const;
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Subsystem")
void DumpWeaponLookupTables() const;
UFUNCTION(BlueprintCallable, Category = "Weapon Subsystem|Subsystem")
void DumpBuildData(const FWeaponBuildData& Build);

GunActor​

Source: Public/WorldActors/GunActor.h.

Properties​

Field declarationReflection
class UGunComponent* GunComponentUPROPERTY(Replicated, BlueprintReadWrite, EditAnywhere, Category = "Actor|Components")
TArray<UObject*> ActualWeaponDataUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Actor|GunClass")
TMap<FName, UStaticMeshComponent*> StaticMeshMapUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Actor|GunClass")
TMap<FName, USkeletalMeshComponent*> SkeletalMeshMapUPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Actor|GunClass")
USkeletalMeshComponent* WeaponBodyMain = nullptrUPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "Actor|Components")
USpotLightComponent* LightComponent = nullptrUPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "Actor|Components")
UAudioComponent* BodyAudioComp = nullptrUPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "Actor|Components|Audio")
UAudioComponent* TriggerAudioComp = nullptrUPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "Actor|Components|Audio")
UAudioComponent* ChamberAudioComp = nullptrUPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "Actor|Components|Audio")
UAudioComponent* TailAudioComp = nullptrUPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "Actor|Components|Audio")
UAudioComponent* ShotAudioComp = nullptrUPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "Actor|Components|Audio")
FOnWeaponFiredold OnWeaponFiredUPROPERTY(BlueprintAssignable, Category = "Weapon|Delegates")

Reflected Functions​

UFUNCTION()
void OnRep_WeaponStatsChanged();
UFUNCTION()
void OnRep_RecoilStatsChanged();
UFUNCTION()
void OnRep_MagazineStatsChanged();
UFUNCTION()
void OnRep_FlashlightStatsChanged();
UFUNCTION()
void UpdateWeaponStats();
UFUNCTION()
void UpdateRecoilStats();
UFUNCTION()
void HandleWeaponFire(AGunActor* InActor);
UFUNCTION()
void BuildWeaponBody();
UFUNCTION()
void CleanUpMeshes();
UFUNCTION()
UStaticMeshComponent* CreateAndAttachStaticMeshComponent(FName Name, UStaticMesh* Mesh, FName Socket);
UFUNCTION()
USkeletalMeshComponent* CreateAndAttachSkeletalMeshComponent(FName Name, USkeletalMesh* Mesh, FName Socket);
UFUNCTION()
static void PerformDeferredAttachments();
UFUNCTION()
static USceneComponent* FindComponentWithSocket(USceneComponent* Root, const FName& SocketName);
UFUNCTION()
void UpdateStatsAfterShot();
UFUNCTION(BlueprintCallable)
void ToggleFlashlight();
UFUNCTION(BlueprintCallable)
UObject* AttachNewMagazine(UObject* MagazineObject);
UFUNCTION(BlueprintCallable)
void HandleShot();
UFUNCTION(BlueprintCallable)
void ShotVFX();
UFUNCTION(BlueprintCallable)
void ShotSFX();
UFUNCTION(CallInEditor, Category = "Actor")
void RebuildManually();

WeaponActorBase​

Source: Public/WorldActors/WeaponActorBase.h.

Properties​

Field declarationReflection
TObjectPtr<UAC_WeaponGameplayComp> GameplayComponentUPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Weapon|Components")
EWeaponAllocationType AllocationType = EWeaponAllocationType::ExternalUPROPERTY()
ECustomWeaponType WeaponType = ECustomWeaponType::NoneUPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Actor|Config")
FGameplayTag WeaponTypeDetailsUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Actor|Config")
FName WeaponIDUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Actor|Config")
FWeaponDataArray WeaponRuntimeDataUPROPERTY(ReplicatedUsing=OnRep_WeaponDataArray)
FGuid ActorNetGuidUPROPERTY(ReplicatedUsing=OnRep_ActorNetGuid, VisibleAnywhere, BlueprintReadOnly, Category="Actor|State")
FGuid BuildIDUPROPERTY(ReplicatedUsing=OnRep_BuildID)
FWeaponRuntimeStats RuntimeStatsUPROPERTY(ReplicatedUsing=OnRep_WeaponStats, VisibleAnywhere, BlueprintReadOnly, Category="Weapon|RuntimeState")
UWeaponRuntimeBuilder* RuntimeBuilderUPROPERTY(meta=(AllowPrivateAccess))
FGuid TemporaryBuildCacheUPROPERTY()
bool bIsRegistered = falseUPROPERTY()
TWeakObjectPtr<APawn> CachedOwnerUPROPERTY()
TArray<TObjectPtr<USkeletalMeshComponent>> FreeSKComponentsUPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category="Weapon|RuntimeState")
TArray<TObjectPtr<UStaticMeshComponent>> FreeSMComponentsUPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category="Weapon|RuntimeState")
TMap<FGuid, FActiveRuntimeWeaponComponent> ActiveComponentMapUPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Weapon|RuntimeState", meta=(AllowPrivateAccess="true"))
TMap<FGuid, FWeaponSocketArray> AvailableSocketsUPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Weapon|RuntimeState", meta=(AllowPrivateAccess="true"))
FOnActorNetGuidSignature OnActorNetGuidReplicatedUPROPERTY(BlueprintAssignable, Category="Actor|Delegates")
FOnWeaponStateChangedSignature OnWeaponStateChangedUPROPERTY(BlueprintAssignable, Category="Actor|Delegates")

Reflected Functions​

UFUNCTION(BlueprintCallable, Category="Actor|Weapon Subsystem")
const TArray<FWeaponDataEntry>& GetWeaponData() const;
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="Actor|Weapon Subsystem")
FGuid GetBuildID() const;
UFUNCTION(BlueprintCallable, Category="Actor|Weapon Subsystem")
void OverrideWeaponType(ECustomWeaponType NewType);
UFUNCTION()
void OnRep_ActorNetGuid();
UFUNCTION()
void OnRep_BuildID();
UFUNCTION()
void OnRep_WeaponDataArray();
UFUNCTION()
void OnRep_WeaponStats();