Reproducible Bug w/ Clean Project: Setting the world location of an object can cause line traces in the world to fail in certain XY quadrants

If you set the world location of an object to certain (very large) values, line traces being called from other actors will fail when they would otherwise succeed.

Line traces will fail that originate in all but one quadrant of the XY plane. Which quadrant it is probably depends on what quadrant you are putting the moved object into, but I haven’t tested that specifically.

See sample project here: https://drive.google.com/file/d/0B3u_hzolRrMjUXd1VzYxUXJpUG8/view?usp=sharing

I have some c++ code that produces the world location through similar math to how I originally discovered the bug. I’m not going to try to pick it apart to find out what part of my math causes the bug, but it’s definitely an engine-side bug.

Hi janimationd,

This is a limitation of the engine. The location that you are setting is such a large distance away (Undecillion - 36 zeros) from the world origin that it can cause float point errors and collision issues. We made a feature called World Origin Shifting to compensate for some of this, but distances that vast aren’t something it can handle.

To give this some context, we recommend a max level size of around 500,000 units without World Origin Shifting being needed. Which could put some objects as far as 250,000 units from the world origin. You are setting the location to a number larger than 1,000,000,000,000,000,000,000,000,000,000,000,000.

-TJ

So it is expected that setting the location of one actor can affect whether or not line traces occurring a great distance away from the moved actor succeed or fail?