Unity Template

During the development of my One day at a time series one of the things I started doing to save time was to carry over common elements (menus, helper scripts etc) from one project to another. Initially, this was done by exporting and importing packages. Over time though I shifted it into it’s own repository that I could then fork at the start of a project and that I could merge changes back into.

The template has expanded over time and now includes:

  • A baseline set of scenes
    • Splash screen
    • Main menu with fully functional settings and credits
    • Main level with fully functional in game menus for settings and credits
  • Transitions in and out of scenes are all managed using Timelines
  • Custom rigid body based first person character controller
    • Uses a Cinemachine camera to make integration with Timeline and Cinemachine easy
    • Uses Scriptable Objects for configuration to make it easy to switch between configurations
    • Uses the new input system
    • Includes a test scene for testing the slope limits, jumping etc
  • Pause Manager
    • Allows objects that need to know about pausing to register for alerts
    • Manages how the pause happens (ie. can also change timescale and pause physics)
  • Haptics Manager
    • Uses the new input system
    • Allows haptic effects to be configured as Scriptable Objects and then played
    • Multiple effects can play at the same time and effects can function as modifier
    • Built in support for Timeline
    • Includes a test scene with example effects

I’ll be continuing to expand it as I add more functionality

Tools

Unity

Development Time

Branched from existing project in September 2019. Regular updates since.

Platforms

Unity Editor (platform agnostic)