Custom trigger volumes in current level loses brush volume when class is modified and hot reloaded

I have a custom trigger volume that inherits from ATriggerVolume. However, any time a modification is made to my custom trigger volume in C++ and I compile/hot reload, the all of the custom volume’s brushes completely disappear (and thus no longer detects any overlaps). For now, I switch to a level without the custom volume and compile/hot reload there, as it only seems to affect volumes in the current level. I tested this by making trivial changes like adding a new UPROPERTY to the class.

hey sdf000-

How is your trigger volume setup in code? Can you provide the class files (.h and .cpp) to help me recreate the issue you’re seeing on my end?

TransitionalTriggerVolume.h

#pragma once
#include "Engine/TriggerVolume.h"
#include "TransitionTriggerVolume.generated.h"

UCLASS()
class DUNGEONWIZARD_API ATransitionTriggerVolume : public ATriggerVolume
{
	GENERATED_BODY()
	
public:
	/* Trigger type. */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Transition)
	FString Trigger;

	/* Extra value modifier. */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Transition)
	FString Value;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Transition, meta = (DisplayName = "Enabled"))
	bool IsEnabled = true;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Transition, meta = (DisplayName = "Test Bool"))
	bool TestBool = false;

protected:
	UFUNCTION()
	void NotifyActorBeginOverlap(AActor* OtherActor) override;
	
};

TransitionalTriggerVolume.cpp

#pragma once
#include "MyGame.h"
#include "TransitionTriggerVolume.h"

void ATransitionTriggerVolume::NotifyActorBeginOverlap(AActor* OtherActor)
{
	UE_LOG(LogTemp, Log, TEXT("touched ttv %s: %s, %s"), *OtherActor->GetClass()->GetName(), *Trigger, *Value);
}

If it works for you fine (brushes don’t disappear), I’ll try upgrading the engine. Thanks for looking into this.

Thank you for the sample code. I have reproduced this issue and logged a report for it here Unreal Engine Issues and Bug Tracker (UE-39066) . You can track the report’s status as the issue is reviewed by our development staff. Please be aware that this issue may not be prioritized or fixed soon.

Cheers