How to make a displacement map continuous and scale according to the UV's like the textures on a PBR material

Hi there, i couldn’t find any awnsers online regarding this question.
Let me quickly tell what i want to achieve:

I am learning substance designer to make procedural materials like wooden floors or stone walls. The result is a PBR material that contain every texture (Base color, normal, roughness and height). The height map was used for tesselation in ue4 to fake displacement but now we need to displace real geometry which is done outside of the material.

The problem i’ve come across is that displacing real geo is destructive and i can’t change it afterwards. I want to create floors and walls with varying sizes and just slap the material on there and done, but now i have to manually go to the moddeling part of ue5 and edit all the pieces seperately and very slowly.

Here is a quick sketch of what i want.
Imagine the floors of a building from a top down perspective.

So lets say i want to make this hallway with a room connected. Normally you can just make a rectangle and resize it accordingly to make the floor and do the same for the walls and the tesselation would tile alongside the other textures of the floor.

But now you need to seperate all the floors and walls and subdivide each one individually and try to make the UV’s of the displacement map match the UV’s of the material textures (Scaling the UV’s inside the material makes the textures smaller but doing this on the displacement map has the opposite effect and makes it bigger??).

Finally after subdividing and doing the displacement you can apply it. But this creates new static meshes for each one, so this massively increases the size of the game because every floor with a unique size will need to be a seperate mesh.

So what used to be stretching a simple rectangle and applying a material now takes 10 times the work. And what if i want to extend on my existing floor? Its now stuck in place because you had to apply the displacement map and can’t make it longer anymore. So the question is if i can make this nondestructible and make changes to my floor like making it wider without ruining the displacement map. And the size of the models make it unsuitable for games.

What i was thinking was displacing the mesh during runtime so that players wont have to download the massively subdivided mesh. Just set a value for subdivision for the floor and actually subdivide it when the level is being loaded and then displace it?

Sorry for the long and vague question and i would appreciate any tips for achieving this.

mmm not sure If I understood, do you want something like this?

material

In that case Material - Tiling by location posted by Alberto | blueprintUE | PasteBin For Unreal Engine

Hi Alberto,

Yes this looks correct to me. But does it work that easily with displacement maps?
Did you also apply a displacement map to the top floor?

Thanks for the quick awnser!

Well, it doesn’t matter the map, just connect the UV :wink:

Displacement maps are different. There is no tesselation option in UE5 anymore. And displacement is done outside of the material and i was wondering if it could be applied in real time next to the other UV textures.

I think there is no problem… in the end, it needs normals and PDO to follow them

But well not an expert in materials, and now I use megascans… Let me know how is going!