# Send bool from widget to character

**URL:** <https://forums.unrealengine.com/t/send-bool-from-widget-to-character/1225223>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine, delegate, slate, Widget, CPP, question\
**Created:** [July 10, 2023, 7:06pm UTC](https://forums.unrealengine.com/t/send-bool-from-widget-to-character/1225223 "2023-07-10T19:06:17Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![Itsnotme4](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Itsnotme4](https://forums.unrealengine.com/u/Itsnotme4)\
**Post date:** [July 11, 2023, 1:46pm UTC](https://forums.unrealengine.com/t/send-bool-from-widget-to-character/1225223/3 "2023-07-11T13:46:24Z")

</div>

Hi, thank you so much. I have tried for the past 4 hours now, but I can’t solve it. I’m looking at different tutorials on [docs.unrealengine](https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Delegates/), [benui](https://benui.ca/unreal/delegates-intro/), [forums.unrealengine](https://forums.unrealengine.com/t/tutorial-creating-and-using-delegates-c-and-accessing-them-in-blueprints/9649), chatGPT and old forum posts. All have hints, all seemingly doing it different. I just can’t combine the hints to any logic.

This is what I managed to conjure, doesn’t work.

```auto
#pragma once

#include "CoreMinimal.h"
#include "Widgets/SCompoundWidget.h"
#include "SlateBasics.h"
#include "SlateExtras.h"

DECLARE_DELEGATE_OneParam(FOnBuildingClickedDelegate, bool);

class MYGAME_API SConstructionWidget : public SCompoundWidget
{
public:

	SLATE_BEGIN_ARGS(SConstructionWidget) 
		: _OnBuildingClickedDelegate() 
	{}
	SLATE_ARGUMENT(TWeakObjectPtr<class AMenuHUD>, OwningHUD)
	SLATE_EVENT(FOnBuildingClickedDelegate, OnBuildingClickedDelegate)
	SLATE_END_ARGS()

	void Construct(const FArguments& InArgs);
	void HandlecanConstruct(bool EnteredConstructionMode) const;
	FReply OnBuildingClicked() const;

	FOnBuildingClickedDelegate OnBuildingClickedDelegate;

	TWeakObjectPtr<class AMenuHUD> OwningHUD;

	virtual bool SupportsKeyboardFocus() const override { return true; };};

```

And then the cpp file (the important parts):

```auto
BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
void SConstructionWidget::Construct(const FArguments& InArgs)
{
	bCanSupportFocus = true;

	OwningHUD = InArgs._OwningHUD;
	OnBuildingClickedDelegate = InArgs._OnBuildingClickedDelegate;
	OnBuildingClickedDelegate.BindSP(this, &SConstructionWidget::HandlecanConstruct);
//...
//Building Button
				+ SVerticalBox::Slot()
					.Padding(ButtonPadding)
					[
						SNew(SButton)
						.OnClicked(this, &SConstructionWidget::OnBuildingClicked)
//...
}

FReply SConstructionWidget::OnBuildingClicked() const
{
	if (OwningHUD.IsValid()) {
		HandlecanConstruct(true);
	}
	return FReply::Handled();
}
void SConstructionWidget::HandlecanConstruct(bool EnteredConstructionMode) const
{
	OnBuildingClickedDelegate.ExecuteIfBound(true);
}

```

For my character whom is trying to receive the bool I have a function:

```auto
	void canConstruct(bool EnteredConstructionMode);

```

And then in my character cpp I have:

```auto
void AMyCharacter::canConstruct(bool EnteredConstructionMode){
	SConstructionWidget* ConstructionWidget = GetOwner<SConstructionWidget>();
	ConstructionWidget->OnBuildingClickedDelegate.Add(this,
		&AMyCharacter::FindConstructionSite);
}

```

---

_[View the full topic](https://forums.unrealengine.com/t/send-bool-from-widget-to-character/1225223)._
