for (const auto& Entry : Weapons) { TWeakObjectPtr WeaponPtr = Entry.Value; AWeaponBase* Weapon = WeaponPtr.Get(); if (Weapon != nullptr) { Weapon->SetActorEnableCollision(false); Weapon->WeaponDamageArea->SetCollisionEnabled(ECollisionEnabled::NoCollision); ARangedWeaponBase* RangedWeapon = Cast(Weapon); if (RangedWeapon != nullptr) { RangedWeapon->ProjectileChildActor->ChildActor->SetActorEnableCollision(false); } } }