CONTEXT: I am making a 2D platformer, I am using tile map collisions for all my solid objects (floors, platforms, etc...). I want my player to be able to go off screen when entering a doorway to a new room, and only when the player is fully off screen will they go to the new room. A tile map registers anything out of the room bounds as being a tile, so when I try to enter a doorway to a new room, the game stops me as if i have hit a wall because I would be going out of the room bounds. MY GOAL: To fix this I decided to create all my rooms to have an area of padding around to edges, and this padded area would be off limits to the camera, so the camera would stop following the character if it reached this padding boundary. I don't want the player to be able to see the padding, i just want the player-character to be able to enter it. THE PROBLEM: This brings me to my latest issue: I have code that appears to correctly clamp the view ports x and y position so that it never shows the padding area. the debugging below it shows that the x and y positions are in positions I want, and that I am getting the correct camera from the correct view. But the view I see on screen when running it is still off and clamping to edge of the room instead of the padding area. WHAT I'VE TRIED: I have tried moving this code into the Draw, Begin Draw, and End Step Events of the player character, and I have tried turning it into a script (what you see below is the exact script I used). and I tried to put that into the camera code using the camera_set_begin_script() function. I am not familiar with using scripts in game maker so I may have done that wrong. CONJECTURE: None of these solutions seems to have had any effect. I believe the problems is that the view is getting set by the room editor to follow the player character, then the view is getting drawn, then I change the view with my code, THEN the room editor starts over and changes it back before it updates again, undoing what i just did. Is there somewhere specific I can put this code to make it actually effect the viewport draw? or do I need to do things differently... Code: cameraID = view_get_camera(0) camera_set_view_pos (cameraID, clamp (camera_get_view_x (cameraID), paddingLeft, room_width - camera_get_view_width(cameraID) - paddingRight), clamp (camera_get_view_y (cameraID), paddingTop, room_height - camera_get_view_height (cameraID) - paddingBottom)) show_debug_message(camera_get_view_x(view_camera)) show_debug_message(camera_get_view_y(view_camera)) show_debug_message(view_camera) show_debug_message(view_get_camera(0)) show_debug_message(view_current) show_debug_message("------") EDIT - SOLVED I Fixed this issue by setting the object following variable to none, and using this code in the Begin Draw Event of my playerChar.