A barebones C# Unity bootstrap framework for building scalable projects quickly and easily.
C#
Latest commit e87c207 Jan 26, 2017 @Zesix Upgrade pooling system.

README.md

Impulse

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.

Video Overviews

These demonstrate the functionality of the included systems, all of which can be easily customized and extended.

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.

Useful Scripts

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.

Input Handling

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.