Is there a way to 'reset' a blueprint and it's variables to the starting state?

Lets say I have a blueprint that modifies a bunch of it’s variables based on input. Is there a way to trigger a ‘reset’ that places all those variables back in their default state without destroying and respawning the blueprint itself?

You can Set those variables with an event to the value you like. How you set it up depends on your BP network of course.

You can grab the values from the default object if that suites you.

Here’s a little helper function in C++ to get the default

HPP

UCLASS()
class UMiscUtilities : public UBlueprintFunctionLibrary
{
	GENERATED_UCLASS_BODY()

    UFUNCTION(BlueprintPure, meta = (FriendlyName = "GetDefaultObject", CompactNodeTitle = "Default", Keywords = "get default object"), Category = "Misc|Utilities")
	static UObject* GetDefaultObject(UClass* InClass);
};

CPP

UObject* UMiscUtilities::GetDefaultObject(UClass* InClass)
{
	if (!InClass)
		return nullptr;

	return InClass->GetDefaultObject();
}

If I’m understanding you correctly, that would mean I’d need to store the initial (default) state of the variable someplace, correct? I think this would work of course. I was just curious if there was a method of re-setting a variable to it’s default value without needing to store that value separately.

Oh, that’s handy. Grogger, thank you for posting this.

Simply create your own (function) to reset variables,
if you don’t know the default values for your variables, then just create new set of (duplicate) variables and when the game starts save the initial values to them so you can use them as reference for resetting.
Then you need to figure out at what event you will want to reset those variables.
btw: You can reset your level with Console Command “Reset” or "Restart"I think.