public class GameWindowsControllerScript : MonoBehaviour
{
[SerializeField] public GameObject[] gameWindows; // Массив окон.
private GameObject gameWindow;
public void OpenGameWindow(GameObject gameWindow, float animationDuration = 0.3f, System.Action callback = null)
{
// Активируем объект.
gameWindow.SetActive(true);
// Устанавливаем начальное значение прозрачности объекта в 0.
gameWindow.GetComponent<CanvasGroup>().alpha = 0;
// Плавно показываем объект с использованием DOTween.
gameWindow.GetComponent<CanvasGroup>().DOFade(1, animationDuration)
.OnComplete(() => { callback?.Invoke(); }); // По окончанию вызываем колбек.
}
}
// и т.д.
На разрешении 1920x1080 (вызываю в юнити метод ChangeResolution) панель растягивается на весь экран.
На разрешении 1152x864 (когда по бокам экрана черные полосы) - панель заполняет центральную часть экрана, оставляя по краям пустое пространство.

Смотрю на результат. Он мне не нравится. Снова надо рисовать. Я увеличиваю персонажа назад...
Ну вы поняли.
Лишние действия, копии персонажа, шанс что забудешь % Scale назад, pipeline явно не самый лучший.
Хорошо когда единый масштаб рисования - единый Scale.
На текущий момент пришлось принять Scale 0.1 и рисовать в "увеличенном" размере.