Mesh accurate Data obj

First, I am not using physics for anything. I will try to simplify this explanation but may fail. If clarification is needed just say so.

Second, I have a DataObj that each individual char, object or terrain has a reference to. Think of it as a zone object. Static terrain and Objects are the originators of the Data for the DataObj. Dynamic objects update their DataObj based off the Static terrain or Object DataObj they are moving on.

The DataObj is multipurpose in that it contains data such as how many people are in the area, movement cost for traversing the area, flags that can affect those moving through the area such as is it inside, outside, swimmable, flyable, is there light or traps, is it a safe zone, etc.

This DataObj is easily set for chars, objects, rooms and WHOLE terrains where the models bounds can be used to determine the range of the objects affects.

For terrain areas outside of a single room or building where the char is moving through the environment there would be the need for mesh accurate bounds for things like water, traps, movement costs, etc because a obj or char will have its DataObj updated based on the current position of the dynamic object/char. A terrain can have many of these areas.

To get this accuracy, I thought I might have to create an object that mirrors the terrain for specific locations like this in Blender and just load it after creating my NavMesh.

Detection would be basically ray casting from the moving obj/chars center to some -Y position and grabbing the DataObj associated with the contact point.

Wrong approach? Better way to do this?