Can you try not parenting, just keep track of a new reference variable - GameObject PlatFormIAmOn.
When you OnCollisionStay on it: PlatFormIAmOn = collision.transform.gameobject;
and then in your Update() just compensate local velocity/position/etc with the PlatFormIAmOn velocition/position/etc if your GameObject is not null.
Then when jumping make it null again.
Maybe? sorry for the pseudo code
↧