Moving platform is too 'sticky'

I’m making a 2D platform game and I’m making moving platforms. To make the player “stick” to the platform, I added a trigger to the platform that basically makes the platform the player’s parent. When the player moves out, the player is unparented (thoughI don’t think that’s the technical term). This works fine actually. My issue is that when the player is on the platform, it has a terrible amount of trouble moving (running/walking) around the platform. By trouble, I mean it moves extremely slowly compared to when it’s moving on standard ground. It has no problem jumping off though. That’s ok.

My ground material’s friction is set at 80 so I thought it might be an issue with that. I made a new material for the moving platform and tested it with various lower frictions (40, 10, 1, 0). The character has trouble moving with all of them and the only difference is that the lower the friction, the “icier” the platform gets (very slippery).

So what I want, I guess is to make it so that the player’s acceleration relative to standard ground (when he’s on standard ground) is the same as the player’s acceleration relative to the moving platform (when he’s on a moving platform). I think that may be the biggest hint. Any suggestions?

The player moves using a rigidbody? And setting the velocity (or using AddForce?)

I think the “child to platform” trick is mostly used with characterControllers, so old Q’s may not be much help. I’m not even sure childing can even work for RB’s. Mixing physics with snap position changes is always tricky.

Does changing the mass of the platform do anything? It may be getting added to the player, for physics (or are you using an AddForce which takes this into account?) Is the platform a kinematic rigidbody? Or an RB with a fixed velocity? No RB at all?

Right so I think I’ve fixed the problem but it doesn’t seem like a nice fix (I’m open to suggestions). It appears that I have to increase the character’s maxSpeed by a certain factor when standing on the platform. This baffles me a bit because (correct me if I’m wrong) a gameobject’s rigidbody2D.velocity is relative to its parent (or the game world, in the case when the parent is null). If the character’s velocity is relative to its parent, it seems to me that I shouldn’t have to change the maxSpeed. What do you guys think?