That’s not what I want though, I want it so that a platform that a player is under can be hopped onto from the bottom to the top; I want the player to be able to jump up from under a platform and be able to land on top.
If you want an instant jump, you can cast a ray above their head, and then if it collides with a valid platform, transform the player upwards by the distance of the ray, added by the height of the platform, and then added the height of their legs.
If you want the player to still have a jumping animation, you can do what Choco said and make the platform non-collideable, again using raycasts out of the head, but also collision with the character. If both the raycast and character don’t collide, you can make the platform collideable again.
Actually, a method that might be better is have all platforms in one collision group and make a collision group that cannot collide with the platform group, and whenever a Character jumps, it moves to the collision group that can’t touch platforms.
This is also nice because we won’t need many collision groups, and we won’t be reliant on the client to do it.