I would like to know why the tick function does not accept the bInteractionItem value as 'true'

//Characterplayer.h

UPROPERTY()
TObjectPtrMyBat;

//Characterplayer.cpp

void AWMACharacterPlayer::StartInteract() {

MyBat->StartInteractionItem();

}

//ABItemBat.h

uint8 bInteractionItem : 1;

//ABItemBat.cpp

include “Item/ABItemBat.h”
include “Components/BoxComponent.h”
include “Components/StaticMeshComponent.h”
include “Particles/ParticleSystemComponent.h”
include “Physics/WMACollsion.h”
include “Interface/ABCharacterItemInterface.h”
include “Character/WMACharacterPlayer.h”
include <GameData/WMAGameInstance.h>
include “Blueprint/UserWidget.h”
include “Components/WidgetComponent.h”
include “UI/WMAItemInteractionWidget.h”
include “Interface/ABCharacterItemInterface.h”

// Sets default values
AABItemBat::AABItemBat()
{
Trigger = CreateDefaultSubobject(TEXT(“TriggerBox”));
Mesh = CreateDefaultSubobject(TEXT(“Mesh”));
Effect = CreateDefaultSubobject < UParticleSystemComponent>(TEXT(“Effect”));
TextE = CreateDefaultSubobject(TEXT(“TextE”));
Item = CreateDefaultSubobject(TEXT(“ItemBat”));

static ConstructorHelpers::FClassFinder<UUserWidget>InputE(TEXT("WidgetBlueprint'/Game/UI/WBP_ItemInteraction.WBP_ItemInteraction_C'"));
if (InputE.Succeeded()) {
	InteractionItemWidgetClass = InputE.Class;
}

RootComponent = Trigger;
Mesh->SetupAttachment(Trigger);
Effect->SetupAttachment(Trigger);

Trigger->SetCollisionProfileName(CPROFILE_WMATRIGGER);
Trigger->SetBoxExtent(FVector(11.0f, 10.0f, 110.0f));
Trigger->OnComponentBeginOverlap.AddDynamic(this, &AABItemBat::OnOverlapBegin);
Trigger->OnComponentEndOverlap.AddDynamic(this,&AABItemBat::OnOverlapEnd);


static ConstructorHelpers::FObjectFinder<UStaticMesh> BoxMeshRef(TEXT("/Script/Engine.StaticMesh'/Game/Item/Bat/Batfbx.Batfbx'"));
if (BoxMeshRef.Succeeded()) {
	TempBoxMesh = BoxMeshRef.Object;
	Mesh->SetStaticMesh(BoxMeshRef.Object);
}
Mesh->SetRelativeLocation(FVector(0.0f, -3.5f, -20.0f));
Mesh->SetCollisionProfileName(TEXT("NoCollision"));


bInteractionItem = false;


PrimaryActorTick.bCanEverTick = true;

}

void AABItemBat::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);

//UE_LOG(LogTemp, Warning, TEXT("Character is Die :: %s"), bInteractionItem ? TEXT("true") : TEXT("false"));

if (bInteractionItem) {
	Trigger->OnComponentBeginOverlap.AddDynamic(this, &AABItemBat::OnOverlapBegin);
	UE_LOG(LogTemp,Warning,TEXT("NO item Attach"))
}

}

void AABItemBat::OnOverlapBegin(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepHitResult)
{
//TextE->SetHiddenInGame(false);

if (InteractionItemWidgetClass) {
	ItemText = CreateWidget<UUserWidget>(GetWorld(), InteractionItemWidgetClass);

	if(ItemText)
		ItemText->AddToViewport();
}

if (nullptr == Item) {
	Destroy();
	return;
 }

//UE_LOG(LogTemp, Warning, TEXT("Character is Die :: %s"), bInteractionItem ? TEXT("true") : TEXT("false"));

if (bInteractionItem) {
	IABCharacterItemInterface* OverlappingPawn = Cast<IABCharacterItemInterface>(OtherActor);
	if (OverlappingPawn) {
		OverlappingPawn->TakeItem(Item);
		//TextE->SetHiddenInGame(true);
	}

	//Effect->Activate(true);
	Mesh->SetHiddenInGame(true);
	SetActorEnableCollision(false);



	Effect->OnSystemFinished.AddDynamic(this, &AABItemBat::OnEffectFinished);

	Trigger->OnComponentBeginOverlap.RemoveDynamic(this, &AABItemBat::OnOverlapBegin);
}

}

void AABItemBat::OnOverlapEnd(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex)
{

if (ItemText) {
	ItemText->RemoveFromViewport();
	ItemText = nullptr;
}

}

void AABItemBat::OnEffectFinished(UParticleSystemComponent* ParticleSystem)
{
Destroy();
}

void AABItemBat::StartInteractionItem()
{
bInteractionItem = true;
}

void AABItemBat::StopInteractionItem()
{
//bInteractionItem = false;
}

Successfully called StartInteractionItem() by receiving keystroke.

When you output the log, you can see that bInteractionItem changes to true inside StartInteractionItem().

But I would like to know why the tick function does not recognize bInteractionItem as true.

It may not be easy to understand due to lack of English. I’m sorry.