Attached Actors not showing on Clients

I am sure this is something simple I am just missing at the moment. But I can not figure it out why when I attach an Actor to another actor, all clients but the host do not see the actor attached. Yet when detached it appears in the correct location and everything as if it was attached. If you are the host everything is seen correctly but clients do not see it as attached.

Also when run as a dedicated server noone sees the attached actor (but the attachment does happen).

Here is what I am working with so far to get the attachment to happen. Running standalone everything works perfectly and you see the objects being attached and detached.

Sorry about the current mess of the blueprint as I am trying to debug and figure this out. The call is made from the client to the server as the server handles just about everything.

Well I am not in front of UE4 right now but I guess you have ruled out setting your custom event to multicast? also what is calling the events?

You have debugged the blueprint so with dedicated unchecked you should see the event on the listen server but miss replication on the client right and then in dedicated neither client see it.

But if you watch the blueprint fire it gets thru all the nodes?

so right now it cant pickup the containers visually ?

Ok let me know how the multicast turns out ill try to throw together what you have and see.

On a thought does it operate like the space ship did with the cows in the content examples?

Yeah on dedicated both clients do no see it. With one being the listen and the other a client only the listen sees it but the client doesnt.

The event is just called from a Input to [ and then that calls the Attach Object.

The Attach Object event is set to “Run on Server” and Reliable is checked.

I will give it a try setting the custom event to Multicast and see what happens from there. What makes it weird is that the server is tracking who picks up the object and drops the object from the person that picked it up at the spot where it should drop it.

What I have going on is that certain Space Ships can pickup certain objects (I know with the current setup that can pickup any object, will be narrowing that down with an actors array and plugging that into the Actors to Ignore on the trace. So I have a Mining ship that can pickup cargo containers and move them around and such. So they fly over the cargo container and click [ and it picks up the container and they can move it back ot the main ship and drop it off. Or a larger ship can come along and pick them up.

Visually its not attaching them on the clients. The server shows correctly but not not the clients. One thing I just noticed while testing it is that when running dedicated an a client tries to pickup a container its placing the attached container at what appears to be 0,0,0 location or somewhere there about.

So its making me wander if something is going on with the Attach Actor to Actor event. Its just odd that it will work on the server and single player works fine but multiple clients a no go on them.

It works similar I guess to the space ship and cows. That stores the objects in an array and drops them them. Here I am just attaching an actor to an actor for visual / transport purposes.

With it set to multicast it shows on the client that it happens on but still no other client is picking it up visually. Also on multicast when its dropped you never see it appear on the other clients.

The physics are odd under multicast since the server is handling all the physics in the game it makes the object appear out of place at times on the client that picked it up. (doesnt show anything for the other clients)

ok one possibility is checking that the object it is trying to pickup is valid. try adding in a check to see if the object hit is a valid object to pickup if not then have it spit out some sort of log or printscreen that it is not if it is then let it continue to attach.

This is just strange and I can’t figure out why its acting the way it is. I’ve chedk to make sure its valid and it is. I’ve checked on the Scene Outliner and its shows that when the client picks up the object that it is being attached to the right player…

It is just visually not showing any of it on clients. It just moves the object to 0,0,0 coords and it just sets there… Hmm

sorry was away for bit with other things did you get this resolved?

I found the answer to be to completely turn off the physics for the actor that is to be attached. Simplely turning off simulate physics for the component was not doing anything for it and would cause the objects to not be attached together. Simplely turning off the physics in the actors default for the attached object took care of the problem and also allowed the attachment to be seen over the network for all clients.

Very odd that calling simulate physics and having it turn off the physics for the object before attachment will not work over the network but would work in a single player environment.

Toom can you be more specific about how you disabled the Physics? I too am experiencing this same issue now in 4.10.

When in standard 2 player mode my server can pickup objects and throw them and my client see’s it fine. If my client picks up an object my server doesnt see it, but the client does.

Im not seeing how you further disable physics through blueprints…

Hopefully this helps someone:
I was trying to attach an actor to a child actor component of my third person character. This is on a dedicated server.
For some reason, this refused to show for any of the clients.
When I moved the blueprint that calls Set Child Actor Class to the Third Person character, it worked. Before this, I had the blueprint in my player controller, and before that in a helper object. Neither of those would replicate spawning the child actor properly.

I realize that it may seem obvious that you want to do this on the Character itself, but why? I would think if I were in the controller (or some other object), and I had a reference to the Character’s child actor component, it should work fine.

Any insight into this would be appreciated.