で、そこから継承して
public class Box:PosXY
{
PosXY pos2 = new PosXY();
public Box(int x1, int y1, int x2, int y2)
{
x=x1; y=y1; pos2.x=x2; pos2.y=y2;
}
  
}
public class Character:PosXY
{
//etc
}

まあこんなんでも一応ちゃんと動くわけよ。https://www.youtube.com/watch?v=UMTlj5YVQvs
でも負荷テストやってみると、PosXYをVector2でやると
インスタンス生成速度は6倍ぐらいなわけ。
ただし、オペランド使ったりした演算(特に代入"="すると所要時間差が顕著)してると、
Vector2or3の場合、インスタンス生成もしてるっぽいから、
上述のクラス使ったほうが1.2倍ぐらい速いの。どっちがいいかなあ。
さしあたってキャラクターの移動判定とか行動判定はVector2でやって、ボタンとかはキャストが面倒だから自前のクラスで制御してたけど、
そろそろ遅延が気になってきたから早いところ自前のクラスに置き換えたほうがいいいんだろか。慣れてる人コツ教えてくだしあ