Загрузка данных


using UnityEngine;

public class ScreenBounds : MonoBehaviour
{
    [SerializeField] float margin = 0.5f;   // отступ от края экрана внутрь
    [SerializeField] float wallThickness = 1f;

    void Start()
    {
        Camera cam = Camera.main;
        float halfH = cam.orthographicSize;
        float halfW = halfH * cam.aspect;
        float left = cam.transform.position.x - halfW + margin;
        float right = cam.transform.position.x + halfW - margin;

        CreateWall("WallLeft", new Vector2(left - wallThickness / 2f, 0f), new Vector2(wallThickness, halfH * 6f));
        CreateWall("WallRight", new Vector2(right + wallThickness / 2f, 0f), new Vector2(wallThickness, halfH * 6f));
    }

    void CreateWall(string wallName, Vector2 pos, Vector2 size)
    {
        GameObject wall = new GameObject(wallName);
        wall.transform.position = pos;
        wall.transform.parent = transform;
        BoxCollider2D col = wall.AddComponent<BoxCollider2D>();
        col.size = size;
    }
}