# How to Destroy Actor in Multiplayer?

**URL:** <https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185>\
**Category:** World Creation\
**Tags:** Destroy, destroying-actors, unreal-engine, Physics, Blueprint, question\
**Created:** [June 6, 2014, 12:25pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185 "2014-06-06T12:25:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![orgertot](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@orgertot](https://forums.unrealengine.com/u/orgertot)\
**Post date:** [June 6, 2014, 12:25pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/1 "2014-06-06T12:25:51Z")

</div>

Hey,  
How do i destroy a Actor in Multiplayer?

---

<div class="post-metadata">

**Author:** ![DizzyWes](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DizzyWes](https://forums.unrealengine.com/u/DizzyWes)\
**Post date:** [June 6, 2014, 3:32pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/2 "2014-06-06T15:32:29Z")

</div>

Hello,

By Destroy, you mean kill? Should be the same as in Single Player by using the Destroy Node and pointing it to a target. Is there something else you are looking to do?

-W

---

<div class="post-metadata">

**Author:** ![orgertot](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@orgertot](https://forums.unrealengine.com/u/orgertot)\
**Post date:** [June 6, 2014, 4:19pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/3 "2014-06-06T16:19:23Z")

</div>

if i use the destroy actor node it doesnt destroy the actor for all clients…

---

<div class="post-metadata">

**Author:** ![DJMidKnight](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DJMidKnight](https://forums.unrealengine.com/u/DJMidKnight)\
**Post date:** [June 6, 2014, 4:45pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/4 "2014-06-06T16:45:18Z")

</div>

You need to make it replicate to all clients. One way to do this is to create a custom event and then have it replicate the destroy.

Connection would be setup with your event replacing the current destroy node and then having your custom event fire off the destroy node.

---

<div class="post-metadata">

**Author:** ![DizzyWes](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DizzyWes](https://forums.unrealengine.com/u/DizzyWes)\
**Post date:** [June 6, 2014, 5:02pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/5 "2014-06-06T17:02:12Z")

</div>

I thought you meant in general, see DJ’s answer below you will need to make it replicate so that all clients receive the notice that the actor has been destroyed.

---

<div class="post-metadata">

**Author:** ![orgertot](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@orgertot](https://forums.unrealengine.com/u/orgertot)\
**Post date:** [June 6, 2014, 6:43pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/6 "2014-06-06T18:43:10Z")

</div>

how do i replicate? Just call the event? So the event is sended to every cleint?

---

<div class="post-metadata">

**Author:** ![DJMidKnight](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DJMidKnight](https://forums.unrealengine.com/u/DJMidKnight)\
**Post date:** [June 6, 2014, 6:55pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/7 "2014-06-06T18:55:14Z")

</div>

when you setup the custom event you will see a replication property for it. You can set it to multicast.

---

<div class="post-metadata">

**Author:** ![orgertot](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@orgertot](https://forums.unrealengine.com/u/orgertot)\
**Post date:** [June 6, 2014, 8:12pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/8 "2014-06-06T20:12:41Z")

</div>

Perfect will try it! Thanks !

---

<div class="post-metadata">

**Author:** ![orgertot](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@orgertot](https://forums.unrealengine.com/u/orgertot)\
**Post date:** [June 7, 2014, 10:45am UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/9 "2014-06-07T10:45:20Z")

</div>

Okay i set it to multicast but it didnt work…

---

<div class="post-metadata">

**Author:** ![DJMidKnight](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DJMidKnight](https://forums.unrealengine.com/u/DJMidKnight)\
**Post date:** [June 8, 2014, 2:14am UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/10 "2014-06-08T02:14:52Z")

</div>

can you please put up your blueprint and also what is the base class

---

<div class="post-metadata">

**Author:** ![ivlenov](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ivlenov](https://forums.unrealengine.com/u/ivlenov)\
**Post date:** [June 9, 2015, 3:28pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/11 "2015-06-09T15:28:23Z")

</div>

Did you find solution? I’ve got the same trouble.

I call normal event of actor, than call custom event On Server (for some logic calculations), than call Multicast custom event with two blocks: spawn Emitter at location and Destroy Actor (self).

Emitter spawning correct on server and client both, actor destroyed only on the server side.

Tried to change life span on run - the same effect - after time lag actor destroyed only on server side.  
If I set up initial life span - actor correct destroys everywhere.  
Actor got next replications properties set in True: Replicates, Replicate Movement, Always relevant.

Any idea?

---

<div class="post-metadata">

**Author:** ![ivlenov](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ivlenov](https://forums.unrealengine.com/u/ivlenov)\
**Post date:** [June 10, 2015, 7:59am UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/12 "2015-06-10T07:59:10Z")

</div>

I just solve my problem. Actually, the root of trouble was in actor spawning.

I spawn my replicated actor in normal mode, in this case client create his own copy of actor, and when I destroy on-server-created actor, client still have his own actor at the same position.

Solution: before spawn your actors ALWAYS put Switch Has Authority before it and use Authority branch to spawn actors. In that case client will have only replicated copy of actor, that will be destroyed correctly on multicast event.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_b66a3215](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_b66a3215](https://forums.unrealengine.com/u/anonymous_user_b66a3215)\
**Post date:** [March 30, 2017, 5:15am UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/13 "2017-03-30T05:15:41Z")

</div>

I know this is old ( so this is mostly to others who might come by this post ) make sure you check the replicates on the actor you want to destroy

it’s under class defaults

---

<div class="post-metadata">

**Author:** ![Samuelb](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Samuelb](https://forums.unrealengine.com/u/Samuelb)\
**Post date:** [August 3, 2017, 1:18pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/14 "2017-08-03T13:18:07Z")

</div>

Using the “Set lifespan” node seems to solve the issue.

-Samuelb

---

<div class="post-metadata">

**Author:** ![ShdwKnghtLT](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ShdwKnghtLT](https://forums.unrealengine.com/u/ShdwKnghtLT)\
**Post date:** [April 21, 2018, 6:11pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/15 "2018-04-21T18:11:52Z")

</div>

If you are still stuck , I just solved a similar issue by making a custom event in the player controller,call it Server Destroy Actor, setting it to run on server, connect it to destroy actor, and off of destroy actor pass the actor reference to make a new pin on the custom event. Finally in the player character blueprint cast to the player controller and call Server Destroy Actor and hook up the actor. Good Luck! Cheers

---

<div class="post-metadata">

**Author:** ![darkok25](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@darkok25](https://forums.unrealengine.com/u/darkok25)\
**Post date:** [May 3, 2018, 1:21pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/16 "2018-05-03T13:21:15Z")

</div>

thanks mate this thing works

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_f91937b1](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_f91937b1](https://forums.unrealengine.com/u/anonymous_user_f91937b1)\
**Post date:** [January 22, 2019, 1:35pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/17 "2019-01-22T13:35:15Z")

</div>

@christoffer5700 's solution worked for me!

---

<div class="post-metadata">

**Author:** ![Elou44](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/elou44/32/738751_2.png) [@Elou44](https://forums.unrealengine.com/u/Elou44)\
**Post date:** [February 22, 2019, 1:43am UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/18 "2019-02-22T01:43:56Z")

</div>

The proper way to destroy an actor in a multiplayer game (based on the engine code) is to call _Destroy_ **only server-side**. For this method to work, you also need to make sure that your actor was **spawned by the server** and that the **actor is set to replicate**.

---

<div class="post-metadata">

**Author:** ![ElecTwix35](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ElecTwix35](https://forums.unrealengine.com/u/ElecTwix35)\
**Post date:** [January 15, 2021, 11:23am UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/19 "2021-01-15T11:23:14Z")

</div>

Thanks, I just did spawn actor with multicast I just change the server only and delete one to thanks for the advice.

---

<div class="post-metadata">

**Author:** ![Elou44](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/elou44/32/738751_2.png) [@Elou44](https://forums.unrealengine.com/u/Elou44)\
**Post date:** [January 15, 2021, 12:32pm UTC](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185/20 "2021-01-15T12:32:25Z")

</div>

Hey, don’t hesitate to upvote the answer if it helped you. As I believe previous answers are more “dirty fixes” than real solutions. Thanks.

[Next page](https://forums.unrealengine.com/t/how-to-destroy-actor-in-multiplayer/285185.md?page=2)
