OnMousePress script don't work

I want to open the door when pressing left mouse button, but nothing happens

OpenDoor.h

UCLASS()
class HOME_API ADoorOpen : public APawn
{
  GENERATED_BODY()

public:
  ADoorOpen();

protected:
  virtual void BeginPlay() override;

public:  
  virtual void Tick(float DeltaTime) override;

  virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;

  UPROPERTY()
  USceneComponent* Root;

  UPROPERTY(EditAnywhere)
  UStaticMeshComponent* Door;

  UPROPERTY(EditAnywhere, Category = "DoorOpen")
  float rotateValue;

  UPROPERTY(BlueprintReadOnly, Category = "DoorOpen")
  FRotator doorRotation;

  UPROPERTY(BlueprintReadOnly, Category = "DoorOpen")
  bool open;

  UFUNCTION(BlueprintCallable, Category = "DoorOpen")
  void OpenCloseDoor();
};

OpenDoor.cpp

#include "DoorOpen.h"
#include "DrawDebugHelpers.h"
#include "Engine.h"

ADoorOpen::ADoorOpen()
{
  PrimaryActorTick.bCanEverTick = true;

  rotateValue = 0.0f;
  open = false;

  Root = CreateDefaultSubobject<USceneComponent>(TEXT("Root"));
  RootComponent = Root;

  Door = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Door"));
  Door->SetRelativeLocation(FVector(0.f, 50.f, -50.f));
  Door->SetupAttachment(RootComponent);
}

void ADoorOpen::OpenCloseDoor()
{
  // don't see this while playing
  GEngine->AddOnScreenDebugMessage(-1, 0.f, FColor::Red, "OpenCloseDoor"); 
  //...
}

void ADoorOpen::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent)
{
  Super::SetupPlayerInputComponent(PlayerInputComponent);

  // Can't call this
  PlayerInputComponent->BindAction("Fire", IE_Pressed, this, &ADoorOpen::OpenCloseDoor);
}

Hi, first check if Fire method is actually bound to a left mouse button, and try to increase time in debug screen message.

Hi! Yes, it is bound, added a screenshot. And increased time but can’t see the message. The method OpenCloseDoor are don’t calls by some reason

I remembered that SetupPlayerInputComponent only works with a player controller. If you set your door as default pawn then it should work.

I don’t think that is your intention to play as a door, so you need in your player controller pawn setup input component and call door open method from it

I would suggest you to do line trace here to see if nothing is coming in between. Setup Input Component is needed when you are getting the input for the player pawn or controller, don’t use that way here.