Skip to content

FronkonGames/GameWork-Foundation

Repository files navigation


version license top language code quality

A set of code useful for developing Unity based games. It is independent of any architecture, so you can use it together with your favorite framework.

These are the foundations on which Game:Work Core is built.

🎇 Features

  • Architecture agnostic, use it in any code.
  • Many attributes to make your classes more usable in the editor. Custom Inspector to help you create your own inspectors.
  • Multiple utilities to improve your developments: checkers, debug draw, profiling and a console with custom commands.
  • A lot of .Net and Unity types extensions (System, Unity, functional, enum, collider, texture, animator, MonoBehaviour, and more).
  • The most used design patterns (15 patterns), in generic versions so that they are easy to adapt to your needs.
  • Data Holders system with typed ScriptableObject holders and generic Option class for local/global value configuration.
  • Utilities to speed up prototyping time.
  • Commented code with test units.

🔧 Requisites

  • Unity 6000.0 or higher.
  • Universal RP 14.0.11 or higher.
  • Test Framework 1.1.31 or higher.

⚙️ Installation

Editing your 'manifest.json'

  • Open the manifest.json file of your Unity project.
  • In the section "dependencies" add:
{
  ...
  "dependencies":
  {
    ...
    "FronkonGames.GameWork.Foundation": "git+https://github.com/FronkonGames/GameWork-Foundation.git"
  }
  ...
}

Git

Just clone the repository into your Assets folder:

git clone https://github.com/FronkonGames/GameWork-Foundation.git 

Unity Assets Store

Download the latest release and install.

🚀 Use

The functionality is divided into folders, this is its structure:

|
|\_Runtime......................... Utilities for the game.
|   |\_Algorithms.................. Algorithms.
|   |    \_Structures.............. Data structures.
|   |\_Attributes.................. Attributes for fields and class properties.
|   |\_Components.................. Components.
|   |\_Data......................... Data utilities.
|   |   |\_Holders.................. ScriptableObject value holders.
|   |    \_Serialization............ Serializable types for Unity (DateTime, Time, Dictionary).
|   |\_Development................. Developer utilities.
|   |   |\_Check................... Assert extension.
|   |   |\_Console................. Development console.
|   |   |\_Draw.................... Utilities for drawing gameplay information.
|   |   |\_Profiling............... To find bottlenecks.
|   |    \_Prototype............... Useful components for prototypes.
|   |\_Extensions.................. Utility extensions.
|   |   |\_System.................. C# extensions.
|   |    \_Unity................... Unity extensions.
|   |\_Math........................ Mathematical utilities.
|   |\_Patterns.................... Design patterns.
|   |   |\_Behavioral.............. Behavioural patterns.
|   |   |\_Creational.............. Creation patterns.
|   |   |\_Structural.............. Structure patterns.
|   |    \_Optimization............ Optimization patterns.
|    \_Utils....................... Utilities.
|
|\_Editor.......................... Editor utilities.
|   |\_Drawers..................... Custom attribute viewers.
|   |\_Fonts....................... Font for debug.
|   |\_Inspector................... Editor appearance utilities.
|    \_Tools....................... Editor tools (screenshots, etc.).
|
|\_Settings........................ Project settings.
|\_Demos........................... Demo scenes.
|\_Media........................... Misc resources.
 \_Test............................ Unit tests code.

Check the comments for each file for more information.

Documentation

Runtime Editor Tools Tests
Attributes Custom Inspector Editor Tools Unit tests
Check Property Drawers
Draw
Prototype
Development Console
Profiling
Algorithms
Math
Utils
Behavioral patterns
Creational patterns
Structural patterns
Optimization patterns
Data Holders
Serialization
System extensions
Unity extensions

📜 License

Code released under MIT License.

'Prototype Asset Pack' by AssetHunts.

'Prototype Textures' and 'Mannequin Character Pack' by AssetHunts.

Releases

No releases published

Packages

 
 
 

Contributors

Languages