Is there a memory issue with Decals?

The ShooterGame is the easiest way to see this in simuilation mode.
Just enter either map and open Scene Outline and shoot a few rounds off with the HeroMG.
The Decals visibility in game (on the mesh they hit) properly disapear, but the Reference showing in the scene
outline is still present and so far has NOT ever disappeared until simulation stops.

Now any decals I created in my project that uses the base code for the Shootergame with the same HeroMG do hang about in the Scene Outline. The HeroMG decals still behave the same and the reference is still present, but the Decal I create for My Blueprinted explosion from a rocket launcher only shows in outline momentarily then disapears properly, while the decal references (WeapGun_Impacts_C : All of them) continues to sit in the outline for the HeroMG. I can even select them and view the details…

AKA: WeapGun_Impacts_Cxxx

Is this normal for the editor or is this a problem?

Current Engine Version 4.1 / ShooterGame 4.1 / My Project converted to 4.1
Also I do have GI enabled… But this shouldn’t be affecting decal removal.

Got an Update on this…
Dug into it, it has the setting: bAutoDestroyWhenFinished = true;
in the constructor… I don’t have it setup to debug into the engine source, but it
looks like it should be getting destructed as it Inherits from Actor.

To test it further I added a simple liferemaining and Tick() call

		fLifeRemaining = DefaultDecal.LifeSpan + 2.0f;
	}
}

void AEwClientImpactEffect::Tick(float DeltaSeconds)
{
	Super::Tick(DeltaSeconds);

	const float TimeAlive = GetWorld()->GetTimeSeconds() - CreationTime;
	const float TimeRemaining = FMath::Max(0.0f, fLifeRemaining - TimeAlive);
	if (TimeRemaining <= 0.0f)
	{
		Destroy();
	}
}

It Never enters the ::Tick() call in debug Simulate and I do mean Never.

And some really good Info here: chuckle

Added: PrimaryActorTick.bCanEverTick = true;
to constructor

Now it ticks, but suprisingly the (this) is now null so liferemaining is toast (0.0). Amazingly tho, it ALL works LoL

The Decals spawn at impact point, and the Weapon_Impact_C is gone so
quick you don’t even see it in the Scene Outline… Haheheh

So for all those using the ShooterGame as a starting point and sample:

ADD: PrimaryActorTick.bCanEverTick = true; to constructor and it will properly delete the impact object

Don’t need anything else, I suspect this is part of the issue with the Original Explosion object for the grenade
launcher sample as well as it uses BeginPlay() while impact uses PostInitializeComponents() to create the effect.