For some reason, when walking left/right, a sprite-based gameobject will render 1 pixel of the NEXT tile to the right on the sprite sheet texture (as show below). This appears to be some weird rounding issue and it is based on the position of the camera specifically. If I change the texture’s blending from point to bi-linear, it’s even more obvious as it shows on every single tile instance. The tileset is set to 16 pixels per world unit (it’s a 16x16 tile size), and are laid out exactly one unit apart on the screen (though making it 0.95 units apart doesn’t fix the issue, it appears to be per-tile).
When you move the camera, are you moving it exactly 1 whole pixel unity, or decimal? If you move it decimal then your texture pixel will be not centered on the pixel and the hardware will have to try to sample a slight-offset in order to try to interpolate the exact value. Either you need borders around your tiles or you must use integer camera coords where 1 unit = 1 pixel… or if you can’t do that, then you may be experiencing a floating point rounding error.
Yeah I’ve fixed that, but i’m starting to find other weirdness… If unity crashes while running, it will randomly ‘forget’ something about my scene. For example, I had about 20 animation transitions set up in an animation object, which I created yesterday. I’ve closed/opened unity since then, but suddenly today, after it crashed and I reopened it, my animator is missing all transitions. What it “forgets” on a crash appears to be completely random, and not associated with what I was last working on… I’m really starting to doubt the quality of this tool :-/