Hmm... it seems using the scroll scene if cursor near edge of screen option doesn't update the actual scroll position value. If I manually type "exec game.ScrollPosition = {x=400, y=0}" then it updates the scroll position to the coordinates I just specified & when then query "exec print(game.ScrollPosition.x, game.ScrollPosition.y)" it prints the correct scroll position values to the log. Maybe you could setup the bounding box manually with Lua script maybe?
local pos
local w = 1920 -- total width of scene
local h = 2160 -- total height of scene
function scrollmenu()
pos = game.ScrollPosition
-- + --
if getCursorPos().y < 10 then
game.ScrollPosition = { x = pos.x, y = pos.y - 1 }
elseif getCursorPos().y > (game.WindowResolution.y - 10) and game.ScrollPosition.y < (h - game.WindowResolution.y) then
game.ScrollPosition = { x = pos.x, y = pos.y + 1 }
end
end
registerEventHandler("mainLoop", "scrollmenu")
... no idea how far I am off the mark. Kind of late & written off the top of my head.