Typically stairs are dealt with by having a RayCast3D shooting down in front of the character to detect the stairs, and when a stair is detected based on the height of the collision, the player is popped up to that level. There are tutorials for it. As for swaying trees, attach the time to a sin and pass that to the x and z coords of the vertexes. Typically you can also use a UV map so that the top sways and the bottom doesn’t. Take a look at Godot grass shaders. There’s a bunch of tutori...