Use custom game instance in custom plugin

[Question]
I tried to include include “…/…/…/Source/ProjectName/CustomGameInstance.h” in CustomPluginTest.h
But, It seems included, but it makes unexpected errors.
If I disable “include “…/…/…/Source/ProjectName/CustomGameInstance.h”” in CustomGameInstance.h", it works fine.
ex) other ProjectName’s source files. like cannot find .generated.h, cannot find ProjectName’s header.

Also, I tried to use forward declaration in CustomGameInstance.h, but it’s not right decision because I need to use members or functions in UCustomGameInstance by cast.
ex)
UGameInstance* GameInstance = UGameplayStatics::GetGameInstance(CurrentWorld->GetWorld());
UCustomGameInstance* CustomGameInstance = Cast< UCustomGameInstance>(GameInstance);

May I try to modify build.cs environment? I need help!

[Custom Game Instance Path]
Source/ProjectName/CustomGameInstance.h

[Custom Plugin Path]
Plugins/CustomPluginName/Source/Public/CustomPluginTest.h

[CustomGameInstance.h]
UCLASS()
class PLUGINS_API UCustomGameInstance : public UGameInstance
{
GENERATED_BODY()

public:
UCustomGameInstance ();
virtual void Init() override;

void TestFunc();

public:
int TestValue = 0;
};

[CustomPluginTest.h]
//include “…/…/…/Source/ProjectName/CustomGameInstance.h”
UCLASS()
class GRPC_API UCustomPluginTest
{
GENERATED_BODY()

public:
UCustomPluginTest();
~UCustomPluginTest();

public:
FString Run();
};

I’m making an example code. I would share when my work done.