A barebones C# Unity framework for building scalable projects quickly and easily. It includes a combination of utility scripts such as timer class and artificial friction alongside easily customizable and out-of-box systems like scene management and mobile-optimized menu.
These demonstrate the functionality of the included systems, all of which can be easily customized and extended.
- Splash Screen, Scene Manager, Menu System
- Music Manager and Playlists
- Top Down Follow Camera
- Third Person Camera
- UGUI Combobox/Dropdown Box
- AI Detection System
- Random Object Spawner with Culling
- Events and Notifications
Model-View-Controller (MVC) Pattern
Keep in mind the framework is not intended to force you into any particular programming paradigm. However, the model-view-controller pattern used by the framework is an easy way to organize a project and is recommended as the 'default' way to structure a project.
These can be used for a variety of purposes and are easily customizable and extensible.
- ExtendedMonoBehavior.cs - Includes commonly used variable declarations for caching.
- ChangeScene.cs - Calls the scene manager to switch scenes.
- AutoSpinObj.cs - Causes an object to spin automatically upon start.
- ArtificialFriction.cs - Applies artificial friction to an object moved by physics forces.
These extend BaseInputController but the entire input system can be easily replaced with a different solution.
- KeyboardInputController.cs - Translates keyboard inputs into general direction bools such as up, down, left, right, etc.
- MouseInputController.cs - Grabs mouse position and click types.
- ThirdPersonCameraMouseInputController.cs - Adds panning and zoom-in controls for use with the third person camera.