Clean Architecture Game Template
A downloadable asset pack
Overview
This well designed unity project template allows you to quickly and efficiently start developing your own project with the best practices (like Domain Driven Design, Clean Architecture and Uber Ribs).
Reference
Assemblies
Project
The root of project (entry point, global logic, scenes).
Project.UI
The presentation-level objects (audio theme, screens, widgets and views).
Project.App
The application-level objects (application, global variables).
Project.Entities
The domain-level objects (game, players, characters, entities).
Project.Common
Everything common.
Namespaces
Project
The root of project.
Project.UI
The presentation-level objects.
Project.UI.MainScreen
The presentation-level objects.
Project.UI.GameScreen
The presentation-level objects.
Project.UI.Common
The presentation-level objects.
Project.App
The application-level objects.
Project.Entities.MainScene
The domain-level objects.
Project.Entities.GameScene
The domain-level objects.
Project.Entities.WorldScene
The domain-level objects.
Project.Entities.Common
The domain-level objects.
Clean Architecture Game Framework
This package contains classes that define the entire architecture of your game project and some other utilities.
Assemblies
CleanArchitectureGameFramework
This module contains additional classes.
CleanArchitectureGameFramework.Core
This module contains main classes.
CleanArchitectureGameFramework.Internal
This module contains utilities and helpers.
Namespaces
Framework
This namespace represents the root module.
- IDependencyContainer -This interface allows you to resolve your dependencies.
- Program - This class is responsible for the startup and global logic.
Framework.UI
This namespace represents the presentation (user interface) module.
- UIAudioTheme - This class is responsible for the audio theme.
- UIScreen - This class is responsible for the user interface. The user interface consists of the hierarchy of logical (business) units and the hierarchy of visual units.
- UIWidget - This class is responsible for the business logic of ui unit. This may contain (or not contain) the view.
- UIView - This class is responsible for the visual (view) logic of ui unit. This just contains the VisualElement, so it's essentially a wrapper for VisualElement.
- UIRouter - This class is responsible for the application state.
Framework.App
This namespace represents the application module.
- Application - This class is responsible for the application logic.
- Globals - This class provides you with the global values.
Framework.Entities
This namespace represents the domain (entities) module.
- Game - This class is responsible for the game rules and states.
- Player - This class is responsible for the player rules and states.
- World - This class is responsible for the world.
- WorldView - This class is responsible for the world's visual and audible aspects.
- Entity - This class is responsible for the scene's entity (player's avatar, AI agent or any other object).
- EntityView - This class is responsible for the entity's visual and audible aspects.
- EntityBody - This class is responsible for the entity's physical aspects.
Setup
- Install the "UIToolkit Theme Style Sheet" package (https://denis535.github.io/#uitoolkit-theme-style-sheet).
- Embed "UIToolkit Theme Style Sheet" package (press Tools/UIToolkit Theme Style Sheet/Embed Package).
- Link project with Unity Gaming Services.
Build
- Prepare your project for build (Toolbar / Project / Pre Build).
- Build your project (Toolbar / Project / Build).
Third-party Notices
This package contains the third-party packages under their own respective licenses.
Clean Architecture Game Framework
The architecture game framework that helping you to develop your project following the best practices.
- This package is developed by Denis535.
- It's licensed under the MIT licence.
- https://denis535.github.io/#clean-architecture-game-framework
Addressables Source Generator
The addition to Addressables giving you the ability to reference assets in a very convenient way with compile time checking.
- This package is developed by Denis535.
- It's licensed under the MIT licence.
- https://denis535.github.io/#addressables-source-generator
Colorful Project Window
The more convenient project window.
- This package is developed by Denis535.
- It's licensed under the MIT licence.
- https://denis535.github.io/#colorful-project-window
UIToolkit Theme Style Sheet
The beautiful UIToolkit theme style sheets and some additions and tools.
- This package is developed by Denis535.
- It's licensed under the Standard Unity Asset Store EULA.
- https://denis535.github.io/#uitoolkit-theme-style-sheet
- https://assetstore.unity.com/packages/tools/gui/uitoolkit-theme-style-sheet-273463
FC Game Audio Pack 1 [Lite]
- This package is developed by fcaudio.
- It's licensed under the Standard Unity Asset Store EULA.
- https://assetstore.unity.com/publishers/41922
- https://assetstore.unity.com/packages/audio/music/fc-game-audio-pack-1-lite-182311
Links
- https://denis535.github.io
- https://assetstore.unity.com/publishers/90787
- https://denis535.itch.io/
- https://openupm.com/packages/?sort=downloads&q=denis535
- https://www.youtube.com/channel/UCLFdZl0pFkCkHpDWmodBUFg
If you want to support me
If you want to support me, please rate my packages, subscribe to my YouTube channel and like my videos.
Status | Released |
Category | Assets |
Author | Denis535 |
Tags | advanced, best-practices, example, framework, game-example, game-framework, game-template, starter-pack, Project template, Unity |
Download
Click download now to get access to the following files:
Leave a comment
Log in with itch.io to leave a comment.