То, что эта структура внутри вашего (скажем) Mesh
объекта не принесет вам никакой пользы.Потому что в момент запроса к нему значение структуры будет скопировано .Рассмотрим пример:
public class Mesh
{
public Vector3 MeshCogVector {get;set};
}
и где-то в коде, который у вас есть
public void CollisionDetection
{
for(int i=0;....)
{
Mesh curmesh = listofmashes[i];
Vector3 vec3 = curmesh.MeshCogVector; //value copied
}
}
Поэтому, используя таким образом в своих условиях, вы в основном не получаете никакой выгоды + вы увеличиваете свой Mesh
размер экземпляра.
Вместо того чтобы использовать / конструировать этот Vector3
экземпляр внутри фактического метода, в тот момент, когда он вам действительно нужен, вы получаете быстрое распределение стека и быструю сборку мусора.
Если вы не удовлетворены производительностью в структурах, можете рассмотреть возможность использования non safe
массивов данных.Но это то, что вы должны измерить, чтобы понять, подходит ли вам этот сценарий.