Hello there! I'm working on a side project that involves a platform movement object going over an unlimited scrolling tilemap - to accomplish the unlimited scrolling, I have the tilemap and player slowly move to the left at a constant rate, and periodically shift it a tile's width to the right every time it moves a certain amount off the screen, as well as simultaneously shift all of the tiles along with it by transferring the tilemap's data to an array, deleting a column, and then transferring it back in one tick - giving the illusion of continuous movement.
Unfortunately, because the platform behavior will automatically shift position along with whatever the object is standing on automatically, this causes various problems - like the player sliding at double speed to the left while standing on solid ground, as well as jumping 16 pixels every time the tiles reset. I've tried to compensate for this behavior in my code by disabling the scrolling movement on the player while the player is standing on solid ground, but this doesn't produce satisfactory results - you can still see the offset for a frame.
I would just re-code the platform behavior from the ground up using custom movement, but I would like to avoid it if possible - is there any built-in way to remove the built-in behavior meant to emulate moving platforms?