Converting string to enum

This is what I have been using, hope it helps someone :grin:

// .h
UFUNCTION(BlueprintPure, Category = "BPFunctions")
static ERegionInfo GetRegionInfoFromString(FString RegionString);


// .cpp
ERegionInfo PROJ_BlueprintFunctions::GetRegionInfoFromString(FString RegionString)
{
	const FString ERegionInfoString{ TEXT("ERegionInfo") };
	const UEnum* RegionInfoEnum{ FindObject<UEnum>(ANY_PACKAGE, *ERegionInfoString, true) };
	
	if (RegionInfoEnum) 
	{
		int32 Index{ RegionInfoEnum->GetIndexByNameString(RegionString) };
		const ERegionInfo RegionInfoCheck{ ERegionInfo((uint8)Index) };
		
		// Check if the enum is valid
		if (UEnum::GetValueAsString(RegionInfoCheck) != TEXT("None"))
		{
			return RegionInfoCheck;
		}
	}

	// Fallback if nothing is found
	const ERegionInfo RegionInfo{ ERegionInfo::RE_NoSelection };
	return RegionInfo;
}