Skip to content

Commit 2c4d328

Browse files
CiberuspsDRICODYSS
andauthored
v1.5.1 (#44)
* [AI] InvokeGameplayAbility ValueOrBBKey_GameplayTag (#28) * [AI] InvokeGameplayAbility ValueOrBBKey_GameplayTag * Update BTT_InvokeGameplayAbility.h * GetMostDistantVector * UEnemyTickOptimizerSubsystem * Update EnemyTickOptimizerSubsystem.cpp * [BPL] TurnOffActorCanEverAffectNavigation * Revert "[BPL] TurnOffActorCanEverAffectNavigation" This reverts commit 526179c. * Add Capsule Trace for InterpolateToPosition * Add InterpolateToPosition OutHit Result (#32) * Split on modules (#33) * UHLModules refactoring * UHLDebugBlueprintLibrary * UHLDebugSystem -> UHLDebug * Update DefaultUnrealHelperLibrary.ini * UHLDebug final * UHLAI module * UHLGAS part 1 * save * UHLDebugSystem now separate system, UHLDebug now for UHL debugging * fix * fix AT_InterpolateToPosition * Update DefaultUnrealHelperLibrary.ini * [DebugSystem] fix initialize of DebugCategories that requires PlayerController * fix build error * fix redirector build error * [Editor] UnrealHelperEditor -> UHLEditor * [Editor] UnrealHelperEditor -> UHLEditor part 2 * update docs * update docs * finish FValueOrBBKeyDetails_GameplayTag, UHLAIEditor * minor fixes * [Debug] fix UI_UHL_DebugWidget ref * [AI] RandomChance scalable (#35) * [AI] RandomChance scalable * RandomChance scalable finish * [Debug] fix UHLDebugWidget crash * [AI] RandomChance hide debug * [AI] RandomChance show parent node name * [DebugSystem] DebugCategories dropdown menu (#36) * [DebugSystem] add DebugSystemEditor module with dropdown menu for quick debug categories change * small fixes * [AnimNotifies] AN_AttachWithUniqueId, FindAttachedActorByTag * CommonMaps with introspection (#37) * [CommonMaps] with introspection * try to customize SearchFolder prop to get realtivepath work * contentdir found * CommonMaps finish * Update CommonMapsDeveloperSettings.h * [AnimNotifies] AN_AttachWithUniqueId * [GAS] AA_TryActivateAbilityAndWait * [BPL] RandomValueInInterval * [BPL] InRangeToLocation * [GAS] AA_TryActivateAbilityAndWait fix onEndAbility * BTD_GameplayEffectCooldown (#39) * BTD_GameplayEffectCooldown * save * [UHLStateTree] module creation, STC_HasCooldown/STT_SetTagCooldown, UHLStateTreeAIComponent * [UHLStateTree] cooldown bFinishTask * [AI] fix build error BTD_RandomChance * [UHLStateTree] move to separate plugin * [FAB] package plugin fixes * [UHLGAS] ANS_UHLGAS_TimedNiagaraEffect * [UHLAI] share TurnTo with UHLStateTree * [UHLGAS] ANS_UHLGAS_TimedNiagaraEffect fixup categories * [UHLGAS] Add new Options for ability input cache (#38) * Modify AbilityInputCache * temp * fixes --------- Co-authored-by: Ciberus <ciberus.ps@gmail.com> * [BPL] enemy movement dirs calculation - GetEnemyMovementDirectionRelativeToCharacter, GetMovementDirection, ConvertMovementInputVectorToDirection * [UHLGAS] GameplayAbility "bCancelManually" * Update README.md * [UHLGAS] WaitAbilityDeactivate * [UHLGAS] TryActivateAbilityAndWait payload with InstancedStructs * [UHLGAS] UHLGameplayAbility->GetIsCancelRequested * [UHLGAS] improve cache naming * [UnrealHelperLibrary] ANS_ChangeRotationRate * [UHLCharacter] UHLCharacterMovementComponent basic setup * [UHLGAS] AA_WaitAttributeChangeRatioThreshold * [UHLEditor] fix void class in custom icons crash * [UHLDebugSystem] fix bug "ByDefaultEnabledInBuildTypes" DebugCategory should enable in build for categories that "bRequiresPlayerControllerToEnable" * [UHLGAS] fix build error AbilityTask_WaitAttributeChangeRatioThreshold * [UHL] ANS_SpawnAndSwitchPlayerCamera * [UHL] ANS_ChangeCharacterCapsule, ANS_ChangeNamedCapsule * [UHLCharacter] fix build * [UHLDebugSystem] fix ShortName -> Name PropertyRedirects * [UHLCharacter] AUHLBaseCharacterWithASC add bDontInitOnSameControllerTwice * [UHLDebugSystem] fix UHLDebugCategory.ShortName->Name migration * [UHL] ANS_ChangeCapsuleBase add collision settings * [UHLDebugSystem] fix scrolling of UHLDebugCategoriesListWidget * [UHL] IsWorldPartitionEnabled, IsLevelHasSublevels --------- Co-authored-by: Daniel Ekimov <dricodyss@icloud.com> Co-authored-by: Daniel <124425361+DRICODYSS@users.noreply.github.com>
1 parent b540c0b commit 2c4d328

File tree

45 files changed

+2220
-101
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+2220
-101
lines changed

Config/DefaultUnrealHelperLibrary.ini

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
+PropertyRedirects=(OldName="/Script/UnrealHelperLibrary.UHLDebugCategory.bForceDeactivateOnGameStart",NewName="/Script/UnrealHelperLibrary.UHLDebugCategory.bForceComponentsDeactivateOnEnd")
3232
+PropertyRedirects=(OldName="/Script/UnrealHelperLibrary.UHLDebugCategory.bForceDeactivateOnEnd",NewName="/Script/UnrealHelperLibrary.UHLDebugCategory.bForceComponentsDeactivateOnEnd")
3333
+PropertyRedirects=(OldName="/Script/UnrealHelperLibrary.UHLDebugSubsystemSettings.GameplayTagTableList",NewName="/Script/UnrealHelperLibrary.UHLDebugSubsystemSettings.DebugCategoriesGameplayTagsTableList")
34-
+PropertyRedirects=(OldName="/Script/UnrealHelperLibrary.UHLDebugCategory.ShortName",NewName="/Script/UnrealHelperLibrary.UHLDebugCategory.Name")
3534
+PropertyRedirects=(OldName="/Script/UnrealHelperLibrary.UHLDebugSubsystemSettings.bExcludeUHLDebugCategories",NewName="/Script/UnrealHelperLibrary.UHLDebugSubsystemSettings.bExcludeDefaultUHLDebugCategories")
3635
+PropertyRedirects=(OldName="/Script/UnrealHelperLibrary.UHLDebugCategory.ByDefaultEnabledIn",NewName="/Script/UnrealHelperLibrary.UHLDebugCategory.ByDefaultEnabledInBuildTypes")
3736
+PropertyRedirects=(OldName="/Script/UnrealHelperLibrary.UHLAbilitySystemComponent.InitialActiveAbilities",NewName="/Script/UnrealHelperLibrary.UHLAbilitySystemComponent.ActiveAbilitiesOnStart")
@@ -67,6 +66,7 @@
6766
+ClassRedirects=(OldName="/Script/UnrealHelperLibrary.UHLDebugCategoriesListWidget",NewName="/Script/UHLDebugSystem.UHLDebugCategoriesListWidget")
6867
+ClassRedirects=(OldName="/Script/UnrealHelperLibrary.UHLDebugWidget",NewName="/Script/UHLDebug.UHLDebugWidget")
6968
+FunctionRedirects=(OldName="/Script/UnrealHelperLibrary.UnrealHelperLibraryBPL.IsUHLDebugCategoryEnabled",NewName="/Script/UHLDebugSystem.UHLDebugBlueprintLibrary.IsUHLDebugCategoryEnabled")
69+
+PropertyRedirects=(OldName="/Script/UHLDebugSystem.UHLDebugCategory.ShortName",NewName="/Script/UHLDebugSystem.UHLDebugCategory.Name")
7070

7171
; UHLAI
7272
+ClassRedirects=(OldName="/Script/UnrealHelperLibrary.UHLAIPerceptionComponent",NewName="/Script/UHLAI.UHLAIPerceptionComponent")
@@ -202,3 +202,6 @@
202202
+ClassRedirects=(OldName="/Script/UnrealHelperLibrary.AN_AttachWithUniqueId",NewName="/Script/UnrealHelperLibrary.AN_AttachActorWithUniqueId")
203203
+FunctionRedirects=(OldName="/Script/UnrealHelperLibrary.UnrealHelperLibraryBPL.IsOtherCharacterInRange",NewName="/Script/UnrealHelperLibrary.UnrealHelperLibraryBPL.InRangeToOtherCharacter")
204204
+StructRedirects=(OldName="/Script/UHLAI.ValueOrBBKey_GameplayTag",NewName="/Script/UHLAI.UHLValueOrBBKey_GameplayTag")
205+
+PropertyRedirects=(OldName="/Script/UHLGAS.UHLGameplayAbility.AddingToCacheInputRequiredTags",NewName="/Script/UHLGAS.UHLGameplayAbility.AddToCacheRequiredTags")
206+
+PropertyRedirects=(OldName="/Script/UHLGAS.UHLGameplayAbility.AddingToCacheInputBlockedTags",NewName="/Script/UHLGAS.UHLGameplayAbility.AddToCacheBlockedTags")
207+
+ClassRedirects=(OldName="/Script/UnrealHelperLibrary.ANS_SpawnAndSwitchCamera",NewName="/Script/UnrealHelperLibrary.ANS_SpawnAndSwitchPlayerCamera")

README.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ Support: `UE5.5 (main)`, `UE5.4 (branch UE5.4)`
6666
}
6767
```
6868
69+
- to use specific engine version specify branch e.g. `-b UE5.4`
70+
71+
```bash
72+
git submodule add -b UE5.4 https://github.com/Ciberusps/unreal-helper-library.git ./Plugins/UnrealHelperLibrary
73+
```
74+
6975
- to use specific engine version specify branch e.g. `-b UE5.4`
7076
7177
```bash
@@ -77,7 +83,7 @@ Support: `UE5.5 (main)`, `UE5.4 (branch UE5.4)`
7783
7884
> [!NOTE]
7985
> Add `Editor Preferences -> Force Compilation on Startup` in `Config/EditorPerProjectUserSettings.ini` your team don't want to recompile plugin manually 😉
80-
86+
8187
</details>
8288
8389
#### From marketplace:
@@ -786,30 +792,30 @@ if you don't want to copy paste your `AttributeSets`
786792
787793
![image](https://github.com/user-attachments/assets/c24fd8bb-0ffe-4666-afd5-8800df650c35)
788794
789-
**Custom thumnails** - to override thumbnail by your own, just implement `IUHECustomThumbnail` interface and define your own icon using `GetCustomThumbnailIcon()`
795+
**Custom thumnails** - to override thumbnail by your own, just implement `IUHLEditorCustomThumbnail` interface and define your own icon using `GetCustomThumbnailIcon()`
790796
791797
> [!WARNING]
792798
> ⚠️ NOT sure that blueprints supported for now
793799
794800
```C++
795801
// UInventoryItem.h
796802
#if WITH_EDITOR
797-
#include "UHECustomThumbnail.h"
803+
#include "UHLEditorCustomThumbnail.h"
798804
#endif
799805
800-
// IUHECustomThumbnail not available in production build
806+
// IUHLEditorCustomThumbnail not available in production build
801807
#if !WITH_EDITOR
802-
class IUHECustomThumbnail {};
808+
class IUHLEditorCustomThumbnail {};
803809
#endif
804810
805811
class GAMECODE_API UInventoryItem : public UObject,
806-
public IUHECustomThumbnail
812+
public IUHLEditorCustomThumbnail
807813
{
808-
/** IUHECustomThumbnail **/
814+
/** IUHLEditorCustomThumbnail **/
809815
#if WITH_EDITOR
810816
virtual UTexture2D* GetCustomThumbnailIcon_Implementation() const override;
811817
#endif
812-
/** ~IUHECustomThumbnail **/
818+
/** ~IUHLEditorCustomThumbnail **/
813819
}
814820
815821
------------------------------------------------------------------

Source/UHLAI/Private/Tasks/BTT_TurnTo.cpp

Lines changed: 6 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,6 @@ void UBTT_TurnTo::PostLoad()
7575
PrecisionDot = FMath::Cos(FMath::DegreesToRadians(Precision));
7676
}
7777

78-
namespace
79-
{
80-
FORCEINLINE_DEBUGGABLE FVector::FReal CalculateAngleDifferenceDot(const FVector& VectorA, const FVector& VectorB)
81-
{
82-
return (VectorA.IsNearlyZero() || VectorB.IsNearlyZero())
83-
? 1.f
84-
: VectorA.CosineAngle2D(VectorB);
85-
}
86-
}
87-
8878
EBTNodeResult::Type UBTT_TurnTo::ExecuteTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory)
8979
{
9080
AAIController* AIController = OwnerComp.GetAIOwner();
@@ -112,7 +102,7 @@ EBTNodeResult::Type UBTT_TurnTo::ExecuteTask(UBehaviorTreeComponent& OwnerComp,
112102

113103
if (ActorValue != NULL)
114104
{
115-
const FVector::FReal AngleDifference = CalculateAngleDifferenceDot(Pawn->GetActorForwardVector()
105+
const FVector::FReal AngleDifference = TurnToStatics::CalculateAngleDifferenceDot(Pawn->GetActorForwardVector()
116106
, (ActorValue->GetActorLocation() - PawnLocation));
117107

118108
if (AngleDifference >= PrecisionDot)
@@ -139,7 +129,7 @@ EBTNodeResult::Type UBTT_TurnTo::ExecuteTask(UBehaviorTreeComponent& OwnerComp,
139129

140130
if (FAISystem::IsValidLocation(KeyValue))
141131
{
142-
const FVector::FReal AngleDifference = CalculateAngleDifferenceDot(Pawn->GetActorForwardVector()
132+
const FVector::FReal AngleDifference = TurnToStatics::CalculateAngleDifferenceDot(Pawn->GetActorForwardVector()
143133
, (KeyValue - PawnLocation));
144134

145135
if (AngleDifference >= PrecisionDot)
@@ -205,7 +195,7 @@ void UBTT_TurnTo::TickTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory,
205195

206196
if (FocalPoint != FAISystem::InvalidLocation)
207197
{
208-
float DeltaAngleRad = CalculateAngleDifferenceDot(PawnDirection, FocalPoint - AIController->GetPawn()->GetActorLocation());
198+
float DeltaAngleRad = TurnToStatics::CalculateAngleDifferenceDot(PawnDirection, FocalPoint - AIController->GetPawn()->GetActorLocation());
209199
// float DeltaAngle = FMath::RadiansToDegrees(FMath::Acos(DeltaAngleRad));
210200
float DeltaAngle = MyMemory->bActorSet
211201
? UUnrealHelperLibraryBPL::RelativeAngleToActor(AICharacter, MyMemory->FocusActorSet)
@@ -248,9 +238,9 @@ void UBTT_TurnTo::TickTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory,
248238
}
249239
else
250240
{
251-
if (IsTurnWithAnimationRequired(AICharacter))
241+
if (TurnToStatics::IsTurnWithAnimationRequired(AICharacter))
252242
{
253-
MyMemory->CurrentTurnRange = GetTurnRange(DeltaAngle, MyMemory->bCurrentTurnRangeSet, MyMemory->TurnSettings);
243+
MyMemory->CurrentTurnRange = TurnToStatics::GetTurnRange(DeltaAngle, MyMemory->bCurrentTurnRangeSet, MyMemory->TurnSettings);
254244
if (MyMemory->bCurrentTurnRangeSet && MyMemory->CurrentTurnRange.AnimMontage)
255245
{
256246
AICharacter->PlayAnimMontage(MyMemory->CurrentTurnRange.AnimMontage);
@@ -295,36 +285,6 @@ void UBTT_TurnTo::CleanUp(AAIController& AIController, uint8* NodeMemory)
295285
}
296286
}
297287

298-
bool UBTT_TurnTo::IsTurnWithAnimationRequired(ACharacter* Character) const
299-
{
300-
if (!Character) return false;
301-
if (Character->IsPlayingRootMotion()) return false;
302-
return true;
303-
}
304-
305-
FTurnRange UBTT_TurnTo::GetTurnRange(float DeltaAngle, bool& bCurrentTurnRangeSet, FTurnSettings TurnSettings_In)
306-
{
307-
FTurnRange Result;
308-
bCurrentTurnRangeSet = false;
309-
for (TTuple<FString, FTurnRanges> TurnToRange : TurnSettings_In.TurnRangesGroups)
310-
{
311-
for (FTurnRange Range : TurnToRange.Value.TurnRanges)
312-
{
313-
if (Range.Range.Contains(DeltaAngle))
314-
{
315-
Result = Range;
316-
bCurrentTurnRangeSet = true;
317-
break;
318-
}
319-
}
320-
if (bCurrentTurnRangeSet)
321-
{
322-
break;
323-
}
324-
}
325-
return Result;
326-
}
327-
328288
FTurnSettings UBTT_TurnTo::GetTurnSettings(AActor* Actor, bool& bCurrentTurnSettingsSet)
329289
{
330290
FTurnSettings Result;
@@ -373,7 +333,7 @@ void UBTT_TurnTo::DescribeRuntimeValues(const UBehaviorTreeComponent& OwnerComp,
373333

374334
if (FocalPoint != FAISystem::InvalidLocation)
375335
{
376-
const FVector::FReal CurrentAngleRadians = CalculateAngleDifferenceDot(PawnDirection, (FocalPoint - AIController->GetPawn()->GetActorLocation()));
336+
const FVector::FReal CurrentAngleRadians = TurnToStatics::CalculateAngleDifferenceDot(PawnDirection, (FocalPoint - AIController->GetPawn()->GetActorLocation()));
377337
Values.Add(FString::Printf(TEXT("Current angle: %.2f"), FMath::RadiansToDegrees(FMath::Acos(CurrentAngleRadians))));
378338
}
379339
else

Source/UHLAI/Public/Tasks/BTT_TurnTo.h

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,52 @@
88
#include "BehaviorTree/Services/BTService_DefaultFocus.h"
99
#include "BehaviorTree/Tasks/BTTask_BlackboardBase.h"
1010
#include "UnrealHelperLibraryTypes.h"
11+
#include "GameFramework/Character.h"
1112
#include "BTT_TurnTo.generated.h"
1213

1314
class AAIController;
1415
class ACharacter;
1516

17+
namespace TurnToStatics
18+
{
19+
static bool IsTurnWithAnimationRequired(ACharacter* Character)
20+
{
21+
if (!Character) return false;
22+
if (Character->IsPlayingRootMotion()) return false;
23+
return true;
24+
}
25+
26+
static FTurnRange GetTurnRange(float DeltaAngle, bool& bCurrentTurnRangeSet, FTurnSettings TurnSettings_In)
27+
{
28+
FTurnRange Result;
29+
bCurrentTurnRangeSet = false;
30+
for (TTuple<FString, FTurnRanges> TurnToRange : TurnSettings_In.TurnRangesGroups)
31+
{
32+
for (FTurnRange Range : TurnToRange.Value.TurnRanges)
33+
{
34+
if (Range.Range.Contains(DeltaAngle))
35+
{
36+
Result = Range;
37+
bCurrentTurnRangeSet = true;
38+
break;
39+
}
40+
}
41+
if (bCurrentTurnRangeSet)
42+
{
43+
break;
44+
}
45+
}
46+
return Result;
47+
}
48+
49+
FORCEINLINE_DEBUGGABLE FVector::FReal CalculateAngleDifferenceDot(const FVector& VectorA, const FVector& VectorB)
50+
{
51+
return (VectorA.IsNearlyZero() || VectorB.IsNearlyZero())
52+
? 1.f
53+
: VectorA.CosineAngle2D(VectorB);
54+
}
55+
}
56+
1657
struct FBTTurnToMemory : FBTFocusMemory
1758
{
1859
FTurnRange CurrentTurnRange;
@@ -98,7 +139,5 @@ class UHLAI_API UBTT_TurnTo : public UBTTask_BlackboardBase
98139
void CleanUp(AAIController& AIController, uint8* NodeMemory);
99140

100141
private:
101-
bool IsTurnWithAnimationRequired(ACharacter* Character) const;
102-
FTurnRange GetTurnRange(float DeltaAngle, bool& bCurrentTurnRangeSet, FTurnSettings TurnSettings_In);
103142
FTurnSettings GetTurnSettings(AActor* Actor, bool& bCurrentTurnSettingsSet);
104143
};

Source/UHLCharacter/Private/Characters/UHLBaseCharacterWithASC.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,18 @@ void AUHLBaseCharacterWithASC::PossessedBy(AController* NewController)
2525

2626
if (bInitUHLAbilitySystemOnPosses)
2727
{
28-
AbilitySystemComponent->InitAbilitySystem(NewController, this);
28+
if (bDontInitOnSameControllerTwice)
29+
{
30+
if (NewController != PreviousController.Get())
31+
{
32+
AbilitySystemComponent->InitAbilitySystem(NewController, this);
33+
PreviousController = NewController;
34+
}
35+
}
36+
else
37+
{
38+
AbilitySystemComponent->InitAbilitySystem(NewController, this);
39+
}
2940

3041
// Advanced setup if you want to make something after attributes set, but before abilities activated
3142
// AbilitySystemComponent->InitAbilitySystem(NewController, this, false);
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Copyright (c) 2024 NextGenium
2+
3+
4+
#include "Components/UHLCharacterMovementComponent.h"
5+
6+
UUHLCharacterMovementComponent::UUHLCharacterMovementComponent()
7+
{
8+
bUseControllerDesiredRotation = true;
9+
bOrientRotationToMovement = false;
10+
}
11+
12+
void UUHLCharacterMovementComponent::SetRotationRate(FRotator RotationRate_In)
13+
{
14+
RotationRate = RotationRate_In;
15+
}

Source/UHLCharacter/Public/Characters/UHLBaseCharacterWithASC.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ class UHLCHARACTER_API AUHLBaseCharacterWithASC : public AUHLBaseCharacter,
2626

2727
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="UHL BaseCharacter with ASC")
2828
bool bInitUHLAbilitySystemOnPosses = true;
29-
29+
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="UHL BaseCharacter with ASC")
30+
bool bDontInitOnSameControllerTwice = true;
31+
3032
/** IAbilitySystemInterface **/
3133
virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override { return AbilitySystemComponent; };
3234
/** ~IAbilitySystemInterface **/
@@ -37,12 +39,15 @@ class UHLCHARACTER_API AUHLBaseCharacterWithASC : public AUHLBaseCharacter,
3739
return AbilitySystemComponent;
3840
};
3941
/** ~IUHLAbilitySystemInterface */
40-
42+
4143
protected:
4244
/** GameplayAbilities */
4345
UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category="UHL BaseCharacter with ASC")
4446
UUHLAbilitySystemComponent* AbilitySystemComponent;
4547
/** ~GameplayAbilities */
4648

4749
virtual void PossessedBy(AController* NewController) override;
50+
51+
private:
52+
TWeakObjectPtr<AController> PreviousController;
4853
};
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright (c) 2024 NextGenium
2+
3+
#pragma once
4+
5+
#include "CoreMinimal.h"
6+
#include "GameFramework/CharacterMovementComponent.h"
7+
#include "UHLCharacterMovementComponent.generated.h"
8+
9+
/**
10+
*
11+
*/
12+
UCLASS(Blueprintable, BlueprintType)
13+
class UHLCHARACTER_API UUHLCharacterMovementComponent : public UCharacterMovementComponent
14+
{
15+
GENERATED_BODY()
16+
17+
public:
18+
UUHLCharacterMovementComponent();
19+
20+
// not required?
21+
void SetRotationRate(FRotator RotationRate_In);
22+
};

Source/UHLCharacter/UHLCharacter.Build.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ public UHLCharacter(ReadOnlyTargetRules Target) : base(Target)
3030
"GameplayAbilities",
3131
"GameplayTags",
3232
"GameplayTasks",
33-
"EnhancedInput",
33+
"EnhancedInput",
34+
35+
"UnrealHelperLibrary",
36+
"UHLDebugSystem",
37+
"UHLAI",
38+
"UHLGAS",
3439
}
3540
);
3641

@@ -40,11 +45,6 @@ public UHLCharacter(ReadOnlyTargetRules Target) : base(Target)
4045
{
4146
"CoreUObject",
4247
"Engine",
43-
44-
"UnrealHelperLibrary",
45-
"UHLDebugSystem",
46-
"UHLAI",
47-
"UHLGAS",
4848
}
4949
);
5050

0 commit comments

Comments
 (0)