To sum it up though, lets say hypothetically, the player wants to pick up a solar panel, and place it onto a slot where the solar panel should go, on a solar array.
When a player picks up a “pickup_solarpanel” actor, the player has a left item held variable and right item held variable, depending on which hand was used, the actor will assign itself to the relevant “left/right item held” variable.
The player left clicks (left hand) with solar panel in hand, and then left clicks on the solar array, which contains a whole bunch of box collisions at scale (x=0.25, y=1, z=0.25) used to detect a line trace from the player and work out which slot the player is attempting to interact with.
The solar array blueprint then gets the left item held from the player, casts it as the solar panel, it tells the player class to do a drop function, sets simulate physics of the solar panel to false then attempts to do an “attachtocomponent” with the solar panel as target, and collision box as “in parent” with socket name set to None, Attach location type set to “Snap to Target, keep world scale”, and weld set to true …or false (doesn’t seem to matter in this case).
The first time the panel is placed, it remains at it’s world scale, however when the player interacts with the solar panel to pick it up again (the parent “Pickup” blueprint determines if it’s attached to something or not and works out if it needs to be detached from parent or not), it scales up.
Then I try to place it on the solar panel again, and it scales up again, and repeats the process.
It is as if the first time it attaches, it retains world scale, but afterwards, the Attach location type switches to “Snap to Target, Including Scale”.