How can I make tiled textures uniform in size "sketchup style"?

I suppose that most of us used Sketchup and as you now, in Sketchup when adding a new texture (or editing a old one), you have the option to stretch the texture’s length and width in real world units, here’s a picture

and as a result, no matter what the size of the face you apply it to, it will always remain the same size, like this:

Of course you don’t really have UV mapping in Sketchup, but this is extremely useful when applying some tileable textures on large surfaces, e.g. grass, snow, walls,…

If I wanted to create a terrain/city environment, which has a lot of different big face shapes that are not connected , for example a grass in north and south part of the terrain with a city/desert in the middle, how do I make sure the grass texture stays the same size both in the north and south part of the map? Not “approximately the same”, but same.

If there is a really easy way, preferably without nodes, that would be great, since I am still a beginner, if it must be done with noted, then please dumb it down as much as possible.

You need to be a bit more specific… is this for BGE, BI, Cycles, or any other engine?
Do you need the texture to be the same size in camera space, or object space or world space?

My experience with sketchup is very little (installed, tested it for 2 minutes and uninstalled!!)… So I don’t know how does is uses textures spaces…

I model using just cycles, but then I export it to various engines, mostly Unity, but I am also experimenting with others (Cryengine and Unreal). I haven’t really understood the second question, but basically if I put this hypothetical terrain that I would model in a 3rd party game engine or something, I want the grass to look the same everywhere on the terrain and not ok’ish on one part of the terrain and maybe too large/stretched out on the other part.

In Sketchup if you have a 1x1 meter plane face and a separate 3x3 meter plane face, and you have a 1x1 meter texture that you apply to them each, then the texture will remain the same size everywhere and you would have 1 “tile” in the first 1x1 plane and you would have 9 tiles in the 3x3 plane, the texture wouldn’t be stretched or change it’s shape in any way.

Imagine GTA V (or any other game for that matter), wherever you go, the grass textures looks the same, the rock textures look the same,etc, you don’t have grass on one part of the map being somehow unnaturally more stretched out than other ones.

Look at the Mapping-Node (Scale)

cube unwrap, set scale in operator. thats the closest thing we have.

This works similarly: