Table of Contents
FUSE is a framework for the Unity engine aimed at abstracting away the functionality you need on every single project. Whether it's an application, XR, or a game, it's meant to be light-weight and flexible to allow for usage on any possible projects.
It's architectural aim is to inverse control of development to provide structured access that sets you up for success, and scalability. After using Unity for 7+ years, this consolidates the core features needed on every project while exposing streamlined configuration.
Existing feature set:
- Provides full GUI management of all core features you'd need, with most requiring no code to configure
- Implements a fully customizable injection layer leveraging metadata (attributes) that abstracts away heaps of functionality
- An optional application layer of logic which provides global availability of systems that run independent of any scene
- State machine that manages all resources (scenes, bundles, logic) that is controlled via a simple
Events
or via injection - Interface for managing all resources needed that automatically packages all of your bundles, and scenes in a scalable manner for either baked or online access
- Advanced build and asset pipeline that allows for more control which already comes UCB and automation ready
- Full environment management to abstract away all those pesky staging dependent URLs/settings (e.g. prod vs dev)
- Deeply documented internally with a 20+ page manual included to explain everything you'll need
Lastly, a distinct feature of the framework is that it provides easy access to all features without pushing you into any specific pattern. This makes it useful for acting as a framework container with Unity, allowing users to define their own architectural patterns that fit their needs.
FUSE can be installed either via Unity's package manager with the URL of this repository (recommended). Optionally, you can download the source code then copying the Plugins/FUSE folder into your project.
Once the framework has been added to the project, on first time installation the project will automatically bootstrap and welcome you with instructions on how to get started.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/amazing-feature
) - Commit your Changes (
git commit -m 'Add some amazing feature'
) - Push to the Branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.md
for more information.
Jacob D. Harrison - this@jacobdharrison.com
Project Link: https://github.com/jdharrison/fuse