🌸 The Cart

A code library of tools that I use in conjunction with game-specific code to make my game projects.


Summary

Role: Sole Developer
Engine: Unity
Code Language: C#
Platforms: Unity
Studio: 🔗 Carter Games


Github Link: https://github.com/CarterGames/The-Cart/


The cart is pretty much the project that I place all the code I use between projects into. The idea is to eventually have a semi-decent library that I can use part or all of in any project with ease. Ideally with decent documentation to go with it.

This is an even ongoing project that I work on when I need a break from what I’m currently working on. Once I’m happy with the library as a whole and how stable it is I do place to do proper releases like I do with my other asset store work but just on GitHub.

Some of the key systems in the library as of writing are:

  • Data asset system
    • Handles storing data in scriptable objects and storing a reference to them that can be accessed via code.
    • Includes a variant to pull data from a Notion database into an asset for use.
  • Events
    • A custom wrapper of an action that auto cleans up subscriptions and allows anonymous subscriptions to have ID’s that can be cleared.
  • Ticks
    • A system that runs a update loop at a slower rate, handly for performance where elements only need to update ever so often and not every frame.
  • Runtime timers
    • A system to let you run logic after a set delay without needing to write a coroutine or update timer.
  • Time
    • A setup to let you define custom time scales, handy for game pausing or adjusting speed for certain elements independently of the normal Time.timeScale
  • Panels
    • A UI setup that shows a popup with a tween using a defined easing for the in & out transitions.
  • Random
    • A random number setup that avoids inclusivity issues and allows random values from a range of methods.
  • Extensions
    • A large number of extension methods to make adjusting values or common logic a lot easier to write.