Client that joins later has items in wrong places

create a static mesh or box and drag it over the default root

so the reason is the transforms are the actor location, the actor is the root component so what youre getting is the actor IS in the right place but the Mesh which what you see isnt, this is likely due to physics being enabled so the mesh detaches from the root.

Thank you, I was able to replace the sceneroot with a static mesh.
Now how do you think I should setup this replication and physics.

image

Also as you say about physics, what if I disable physics on the items and then enable the physics after they are spawn? Maybe on begin play or other place you think may work.

so physics / replication should be on the root component, now StaticMesh, so you should move all you PickupObject settings to StaticMesh, if for some reason you dont want to do that change static mesh to a collision box and keep PickupObject as a child but still you need to move all the physics/replication to the collision box.

remember the root component is an actor so if you keep pickupobject separate it should NOT have its own collision/physics

Ok, that will do tomorrow, need to sleep, really tired.
As you saying the PickupObject mesh will have just the actual mesh, example an apple.
The staticmesh will have the collision and physics, but that need to match the apple right? It still need to have a mesh of an apple and then collision and physics on it.
Thank you very much for the help, hope we can make this work.

if you want the apple mesh to do the collision then it needs to be the root component, so basically delete PickupObject and make your StaticMesh the new PickupObject,

but backup first incase this isnt what you want

Ok, then what you saying is if I have like this picture

image

with the collision, physics the same way I have now but as the root, it will work?

That will be a big job but will try.

Thank you.

Hey Auran,
Is working now, had to do some changes on things that stopped working.
Then on the class that spawn on the ground for pickup the static mesh is now the root and has physics, collision and replication and works even for players that log later.
Problem I got was with the transform, the root has no transform and just the scale, if I had a mesh that need a scale like 0.5,0.5,0.5 when I spawn it was always back to 1,1,1 scale, I had to create a variable scale on this pickup class and every child had the scale information, then when spawn that use that variable to correct to the right scale.
On the class that was attaching to the player hands I had to make the root static not replicate, no collision, no physics, and no visible, then attach an static mesh on it and that will have replication and the actual mesh. No problem with scale there.
Thank you for all the help.

remember the root is essentially the actor so you’d set actor scale/transform

if you needed to offset it for some reason you’d need a different root component, as i suggested you could use a box collision and then shape it roughly to your item shape. you lose some accuracy but gain performance doing this.

there’s no way around this to my knowledge.