Modular Third-Person Shooter Example

Overview

I wanted to write an example of the highest quality code possible, and I think I succeeded.


In this example, you will learn how to make working with a project more convenient, you will learn how to design a high-quality modular game architecture, you will get a great game framework, and you will also learn many other useful ideas.


I am sure that this project will be useful for anyone who wants to improve their coding skills!


This project showcases the following ideas:

  • Modular / Clean Architecture
  • Domain-Driven Design
  • State-Driven UI (inspired by Uber Ribs)
  • Addressables Source Generator
  • Convenient Project Structure
  • Convenient Project Window

Read the Technical details for more details.


Third-party notices

This package contains the third-party packages under their own respective licenses.

  • Adventure - Sample Game

This package is developed by Unity Technologies.

It's licensed under the Unity Companion License.

Files:

- Assets.Project.01.UI/MainScreen/Music/Theme.ogg

Links:

- https://assetstore.unity.com/packages/templates/tutorials/adventure-sample-game-76216

- https://unity.com/ru/legal/licenses/unity-companion-license

  • Tower Defense Template

This 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.wav

Links:

- https://assetstore.unity.com/packages/essentials/tutorial-projects/tower-defense-template-107692

- https://unity.com/ru/legal/licenses/unity-companion-license

  • Inter font

These 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.txt

  • com.unity.ui package

These 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-license