Particles working in editor, but not Game

I’m struggling here. In short, my particles are working correctly within the editor, but as soon as I press Play, the particles stop rendering. I just can’t figure out what I’m doing wrong.

I’ve created a blueprint from my base weapon class. The blueprint inherits the skeletal weapon mesh and the particle system component from the base class - both of these are UPROPERTY. I then set the mesh and the particle system in the blueprint. I drag the blueprint into the editor and the particles look exactly right - attached to the bone socket on the mesh. Life is good.

However, pressing play stops all the particles from spawning. I read something about making sure the particle system is using Local Space, but I don’t see this as an option for the ParticleSystemComponent Details. I have also experimented with muzzleFlashParticle->Activate() and tried different toggle settings with no success.

I’m looking for some guidance here and can provide whatever info you may need. Thanks in advance!

EDIT: I should note that in testing, I created an empty blueprint, added a ParticleSystemComponent, set the Template to the same particle system I’m using and added it to the level. It works in the editor and in the game with no issue. I sure this has something to do with my base class, but it’s as simple as it gets.


UPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category = RifleDetails)
USkeletalMeshComponent* weaponMeshComponent;

UPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category = RifleDetails)
UParticleSystemComponent* muzzleFlashParticle;


// in constructor()
muzzleFlashParticle = CreateDefaultSubobject<UParticleSystemComponent>(TEXT("MuzzleFlashParticle"));    
muzzleFlashParticle->SetupAttachment(weaponMeshComponent, FName("Muzzle"));

I was able to resolve this problem. It turns out that my blueprints that were using my custom base classes somehow got out of date. After I deleted all my blueprints and recreated them, everything started working correctly.

Note to self (and anyone else): Blueprints don’t handle some base class changes very gracefully. I’m not sure which changes are ok and which ones are not, but it appears that making changes to the base class constructor requires blueprints to be recreated.