That looks nice.
There's a lot you can do to scale the performance. The shadow quality, shadowmap size, and screen resolution are probably the best settings to adjust. You can also create an RGBA texture and set the gbuffer's normal texture to this, to save bandwidth. By default, the engine tries to create a 64-bit normal buffer for better precision, but if you use an RGBA texture, you can cut this data in half. The only consequence is a white wall with a high specular level will exhibit banding, but in most cases you won't even notice it.
The terrain mapping can be rotated and scaled per-layer. Most people just load the terrain from Sandbox, but there are commands to handle the whole thing programmatically, if you choose to do so.
There's a lot you can do to scale the performance. The shadow quality, shadowmap size, and screen resolution are probably the best settings to adjust. You can also create an RGBA texture and set the gbuffer's normal texture to this, to save bandwidth. By default, the engine tries to create a 64-bit normal buffer for better precision, but if you use an RGBA texture, you can cut this data in half. The only consequence is a white wall with a high specular level will exhibit banding, but in most cases you won't even notice it.
The terrain mapping can be rotated and scaled per-layer. Most people just load the terrain from Sandbox, but there are commands to handle the whole thing programmatically, if you choose to do so.