Using Blueprints to change character when collides

I’m hoping someone can help me with this. I’m doing a Mario style game and am testing out changing the character when it collides with what will eventually be a pickup.
I’ve managed to get so far with reading up and watching different tutorials.
So far I have setup a base character with no mesh and then created 2 child blueprints with the same mesh but scaled differently.
On start I used the small character BP child. I then created a blueprint for a collider that when the player overlaps it changes the player to the other child blueprint. This works fine, so I created another collider to change the player back to the 1st small character.
At this point I hit the problem, it collides ok, but the character scale remains the same. I suspect it mat be to do with destroying the original actor? On hitting the 2nd collider I’m calling the original child blueprint, is there a better way to do this?
My reasons for using child blueprints rather than just changing the skeletal mesh are that I need the collision capsule to change to accommodate the new actor properly. Once I’ve sorted this part out I intend to use enums to set the children bps up properly.
8079f6db728f2f1723f67f53c6a54091a174c81f.jpeg
Hope someone can help. Many thanks.

Note, discovered that when I remove the skeletal mesh from the small character and hit play I see no character (As expected) when I hit the 1st obstacle it changes to the normal sized character and when I hit the 2nd obstacle it changes back to no character displayed. So this tells me that the original scale dictated in the small blueprint is not being applied. Any suggestions please?

OK realised what was going on. When I was calling spawn transform it reset the transform back to the size of the normal character. Using get player transform, I broke transform, make transform and set the scale correctly. Now I just need to work out a more efficient way of doing this whole operation.