Problem with main menu and coins counter working together

Hello guys im working on a game in c++.My game has main menu and coins counter.They both work fine,but not together.Start button loads the game,coins counter is counting coins,but when i press start and loads into my map,it doesnt want to count coins.And i dont know why.

I can try to help you if you show me some code :slight_smile:

Of course man.Here is my main menu code
mainmenu.h
#pragma once

include “CoreMinimal.h”
include “Blueprint/UserWidget.h”
include “MainMenu.generated.h”

class UButton;
UCLASS()
class DEV_ENABLED_YT_API UMainMenu : public UUserWidget
{
GENERATED_BODY()

protected:

UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
TObjectPtr<UButton> Startbtn;

UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
TObjectPtr<UButton> Exitbtn;

UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
TObjectPtr<UButton> Levelsbtn;

UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
TObjectPtr<UButton> Creditsbtn;

UPROPERTY(EditAnywhere, BlueprintReadOnly)
TSubclassOf<UUserWidget> CreditsMeniWidgetClass;

virtual void NativeConstruct() override;

public:

UFUNCTION()
void OnStartClick();

UFUNCTION()
void OnExitClick();

UFUNCTION()
void OnLevelsClick();

UFUNCTION()
void OnCreditsClicked();

};
mainmenu.cpp:
include “General/MainMenu.h”
include “Components/Button.h”
include “Kismet/GameplayStatics.h”

void UMainMenu::NativeConstruct()
{
if (Startbtn)
{
Startbtn->OnClicked.AddDynamic(this, &UMainMenu::OnStartClick);
}

if (Exitbtn)
{
	Exitbtn->OnClicked.AddDynamic(this, &UMainMenu::OnExitClick);
}

if (Levelsbtn)
{
	Levelsbtn->OnClicked.AddDynamic(this, &UMainMenu::OnLevelsClick);
}

if (Creditsbtn)
{
	Creditsbtn->OnClicked.AddDynamic(this, &UMainMenu::OnCreditsClicked);
}

}

void UMainMenu::OnStartClick()
{
UWorld* World = GetWorld();
if (World)
{
UGameplayStatics::OpenLevel(World, TEXT(“nebitno”));
}
}

void UMainMenu::OnExitClick()
{
UWorld* World = GetWorld();
if (World)
{
UKismetSystemLibrary::ExecuteConsoleCommand(World, TEXT(“quit”));
}
}

void UMainMenu::OnLevelsClick()
{

}

void UMainMenu::OnCreditsClicked()
{
if (IsValid(CreditsMeniWidgetClass))
{
UGameplayStatics::SetGamePaused(GetWorld(), true);

	UUserWidget* Widget = CreateWidget(GetWorld(), CreditsMeniWidgetClass);
	if (Widget)
	{
		Widget->AddToViewport();
	}
}

}
coin_widget.h:
#pragma once

include “CoreMinimal.h”
include “Blueprint/UserWidget.h”
include “Components/Button.h”
include “Coin_Widget.generated.h”

class UTextBlock;
class ACoin;
class UButton;

UCLASS()
class DEV_ENABLED_YT_API UCoin_Widget : public UUserWidget
{
GENERATED_BODY()

protected:

UPROPERTY(EditDefaultsOnly,Category="Coin")
TSubclassOf<ACoin> CoinActorClass;


UPROPERTY(BlueprintReadOnly, meta = (BindWidget))
TObjectPtr<UButton> PauseBtn;

UPROPERTY(EditAnywhere, BlueprintReadOnly)
TSubclassOf<UUserWidget> PauseMeniWidgetClas;

public:

UPROPERTY(BlueprintReadOnly, meta = (BindWidget))
TObjectPtr<UTextBlock> CoinCountText;

int CoinCount;

virtual void NativeConstruct() override;

UFUNCTION()
void OnCoinPickup();

UFUNCTION()
void OnPauseMenu();

};
coinwidget.cpp:

include “General/CoinSystem/Coin_Widget.h”
include “Kismet/GameplayStatics.h”
include “Blueprint/WidgetBlueprintLibrary.h”
include “Components/Button.h”
include “General/CoinSystem/Coin.h”
include “Components/TextBlock.h”

void UCoin_Widget::NativeConstruct()
{
Super::NativeConstruct();

TArray<AActor*> FoundActors;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), CoinActorClass, FoundActors);
for (AActor* Actor : FoundActors)
{
	if (!Actor) continue;//ako nemamo aktora nastavi
	if (ACoin* Coin = Cast<ACoin>(Actor))
	{
		Coin->OnCoinPickup.AddDynamic(this, &UCoin_Widget::OnCoinPickup);
	}//ako smo pokupili coin oznaci da smo ga pokupili i pozovi funckiju
}

if (PauseBtn)
{
	PauseBtn->OnClicked.AddDynamic(this, &UCoin_Widget::OnPauseMenu);
}
UWidgetBlueprintLibrary::SetInputMode_GameAndUIEx(UGameplayStatics::GetPlayerController(GetWorld(), 0), this);

}

void UCoin_Widget::OnCoinPickup()
{
CoinCount++;
CoinCountText->SetText(FText::FromString(FString::Printf(TEXT(“%d”), CoinCount)));
}

void UCoin_Widget::OnPauseMenu()
{
if (IsValid(PauseMeniWidgetClas))
{
UUserWidget* Widget = CreateWidget(GetWorld(), PauseMeniWidgetClas);
if (Widget)
{
Widget->AddToViewport();
}

		UGameplayStatics::SetGamePaused(GetWorld(), true);
	}

}
Thanks man<3