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.
- 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.
- Unity 6000.0 or higher.
- Universal RP 14.0.11 or higher.
- Test Framework 1.1.31 or higher.
- 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"
}
...
}Just clone the repository into your Assets folder:
git clone https://github.com/FronkonGames/GameWork-Foundation.git Download the latest release and install.
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.
Code released under MIT License.
'Prototype Asset Pack' by AssetHunts.
'Prototype Textures' and 'Mannequin Character Pack' by AssetHunts.
