I want to restrict object movement inside an area. My object follows cursor position.
I have already done that for the area border using Mathf.Champ to the translate because the borders are square shaped (got the idea from Unity: Restrict movement inside a gameobject (2D)). The thing is that inside the box area there can also be other shapes (colliders) which I don't want my object to go over.
I know people suggest using physic collisions, but my game needs a unit perfect positions so I can't use physics due to physics' default contact offset (the one physics use to detect collisions).
Here is a short video of what I have:
https://gfycat.com/cookedsmartannelid
As you can see, movement is restricted (clamped) inside the box area but I want the movement to also be restricted to not go over the black area.
Is there a way to be able to do this with just clamping or do I need a raycast system or something like that?