This is high-quality example that shows many great ideas like:
Modular Architecture,
Domain-Driven Design,
State-Driven UI,
Convenient Project Structure,
Advanced Project Window,
Source Generator...OverviewThis is an example of a high-quality Unity project that showcases many of the great ideas and practices I've accumulated over the years.If you hate spaghetti code and want to develop high-quality projects, then I am sure my project will bring you great benefit.This project shows the following ideas:Modular / Clean ArchitectureDomain-Driven DesignState-Driven UI (inspired by Uber Ribs)High-Quality Architecture Game FrameworkConvenient Project StructureAdvanced Project WindowAddressables Source GeneratorRead the Technical details for more details.Third-party noticesThis package contains the third-party packages under their own respective licenses.Adventure - Sample GameThis package is developed by Unity Technologies.It's licensed under the Unity Companion License.Files:- Assets.Project.01.UI/MainScreen/Music/Theme.oggLinks:- https://assetstore.unity.com/packages/templates/tutorials/adventure-sample-game-76216- https://unity.com/ru/legal/licenses/unity-companion-licenseTower Defense TemplateThis package is developed by Unity Technologies.It's licensed under the Unity Companion License.Files:- Assets.Project.01.UI/GameScreen/Music/Theme_1.wav- Assets.Project.01.UI/GameScreen/Music/Theme_2.wavLinks:- https://assetstore.unity.com/packages/essentials/tutorial-projects/tower-defense-template-107692- https://unity.com/ru/legal/licenses/unity-companion-licenseInter fontThese assets are developed by Rasmus Andersson.And it's licensed under the SIL Open Font License, Version 1.1.Files:- UIToolkit.ThemeStyleSheet/Assets.UnityEngine.UIElements/Fonts/Links:- https://rsms.me/inter/- https://github.com/rsms/inter/blob/master/LICENSE.txtcom.unity.ui packageThese assets are developed by Unity Technologies.And it's licensed under the Unity Companion License for Unity-dependent projects.Files:- UIToolkit.ThemeStyleSheet/Assets.UnityEngine.UIElements/Images/Links:- https://github.com/needle-mirror/com.unity.ui/tree/master/PackageResources/Images- https://unity.com/ru/legal/licenses/unity-companion-licenseThe project has the following architecture:ProjectProject.UIProject.UI.InternalProject.AppProject.GameProject.Game.ActorsProject.Game.ThingsProject.Game.WorldsProject.InfrastructureThe project contains the following source codes:ProjectEditor/ProjectMenuBar.csEditor/ProjectWindow.csLauncher.csProgram.csDebugScreen.csProject.UIUITheme.csUIScreen.csUIRouter.csProject.UI.MainScreenMainWidget.csMainMenuWidget.csProject.UI.MainScreen.InternalMainWidgetView.csMainMenuWidgetView.csProject.UI.GameScreenGameWidget.csPlayerWidget.csGameTotalsWidget.csGameMenuWidget.csProject.UI.GameScreen.InternalGameWidgetView.csPlayerWidgetView.csGameTotalsWidgetView.csGameMenuWidgetView.csProject.UI.CommonDialogWidget.csLoadingWidget.csUnloadingWidget.csSettingsWidget.csProfileSettingsWidget.csVideoSettingsWidget.csAudioSettingsWidget.csProject.UI.Common.InternalDialogWidgetView.csLoadingWidgetView.csUnloadingWidgetView.csSettingsWidgetView.csProfileSettingsWidgetView.csVideoSettingsWidgetView.csAudioSettingsWidgetView.csProject.AppApplication2.csStorage.csStorage.ProfileSettings.csStorage.VideoSettings.csStorage.AudioSettings.csProject.GameInternal/CharacterInputProvider.csInternal/CameraInputProvider.csGame2.csPlayer2.csProject.Game.ActorsPlayerCharacter.csPlayerCamera.csEnemyCharacter.csProject.Game.ThingsGun.csBullet.csProject.Game.WorldsWorld.csProject.InfrastructureProject.UI/VisualElementFactory.csProject.UI/VisualElementExtensions.csProject.Game.Actors/ICharacterInputProvider.csProject.Game.Actors/ICameraInputProvider.csProject.Game.Actors/CharacterBase.csProject.Game.Actors/PlayableCharacterBase.csProject.Game.Actors/PlayableCameraBase.csProject.Game.Actors/NonPlayableCharacterBase.csProject.Game.Actors/MoveableBody.csProject.Game.Things/WeaponBase.csSystem/Lock.csUnityEngine/Utils.csUnityEngine/GameObjectExtensions.csUnityEngine/Points/Point.csUnityEngine/Points/PlayerPoint.csUnityEngine/Points/EnemyPoint.csUnityEngine/Points/ThingPoint.csUnityEngine/Points/FirePoint.csUnityEngine/Sockets/Socket.csUnityEngine/Sockets/WeaponSocket.csUnityEngine.InputSystem/UIInputProvider.csUnityEngine.InputSystem/CharacterInputProvider.csUnityEngine.InputSystem/CameraInputProvider.csUnityEngine.AddressableAssets/R.csUnityEngine.AddressableAssets/L.csThe project has the following dependencies:Architecture Game FrameworkAddressables ExtensionsAddressables Source GeneratorColorful Project WindowUIToolkit Theme Style Sheet