سوالتون یه مقداری گنگ هست. منظور از معماری چیه ؟ معماری فنی ؟ نحوهی طراحی UX ؟
اگر منظورتون فنی هست، من خودم از تکنیک Publish/Subscribe زیاد استفاده میکنم تا وابستگی بین منطق بازی و UI ایجاد نشه. معمولا هم با معماری MVC کد بازی را مینویسم. برای مثال یک GameController وجود داره که به طور کلی منطق بازی رو کنترل میکنه و از وقایع با خبره. این کلاس ایونتهایی رو داره که در مواقعی خاص (مثل باختن، پیروزی و ...) اونها رو Invoke میکنه.
حالا کلاسهای مربوط به UI خودشون رو در این ایونتها Subscribe میکنن و ریاکشن مناسب رو نسبت به رخداد ایونتها انجام میدن.
برای اینکه Reference های سفت و سختی بین کلاسها نباشه باید از مفهومی به نام Dependency Inversion استفاده کنیم که یک مفهوم انتزاعی است. روشهای مختلف پیاده سازی داره از جمله Dependency Injection و Service Locator. من روش Service Locator را در محیط یونیتی مناسبتر و راحتتر میدانم.