I have what seems like it’d be a fairly common problem - a player’s position getting set… somewhere… to an invalid value. I’m trying to track it down.
I’d like to set a data breakpoint which triggers if the player’s RootComponent’s ComponentToWorld transform’s Translation.Z value is < 0. (In my test level, the player ends up underground.)
However, while I can set the data breakpoint to watch the ComponentToWorld.Translation FVector, any time I try to go deeper into the nested structures I run into problems. The core issue seems to be that for some reason the C++ debugger thinks that ComponentToWorld.Translation is something called a “union_m128” rather than am FVector, and therefore doesn’t have a .Z member.
I’ve tried casting the ComponentToWorld.Translation back to an FVector, and it didn’t help. I’m assuming that the problem is related to some sort of low-level platform math issue, where every platform has, under the hood, a different implementation of some basic math functions, but I have no idea how to work around that.
Has anyone gotten this working, or have any idea how to work around it? It seems like a really common problem, and exactly what data breakpoints are meant to solve.