The Framework
  • Introduction
    • What is The Framework
    • Core Objectives
    • Key Features
    • Architecture Overview
    • Benefits
    • Conclusion
  • Getting Started
    • Installation
  • Quick Setup
    • Unity Setup
    • Creating a Scene
    • Creating a Bootstrap
    • Creating a Canvas
  • API Reference
    • Scene Management
      • ICanvas
      • INavigationService
      • IDataService
      • IBootstrap
      • IAsyncScene
Powered by GitBook
On this page
  1. Introduction

Benefits

The Framework is designed to address common challenges in Unity development by providing structured solutions. Here are the primary benefits:

1. Support for Non-MonoBehaviour Code

  • Flexibility: Allows developers to write plain C# classes without inheriting from MonoBehaviour, promoting a more modular and testable codebase.

  • Separation of Concerns: Encourages a clear separation between game logic and Unity-specific code, enhancing maintainability.

2. Simplified Scene Transitions

  • Ease of Management: Streamlines the process of loading and unloading scenes, reducing the boilerplate code required for scene transitions.

  • Consistency: Ensures that scene transitions follow a consistent pattern, minimizing errors and improving reliability.

3. Clear Bootstrapped Scenes

  • Structured Initialization: Provides a standardized way to initialize and terminate scene-specific logic through bootstrapping, making scenes easier to manage.

  • Maintainability: Enhances the clarity of scene setup, making it simpler to understand and maintain the flow of the application.

4. Intuitive Dependency Injection System

  • Ease of Use: Offers a dependency injection system that is straightforward to implement and understand, reducing the learning curve for developers.

  • Loose Coupling: Promotes decoupled components by managing dependencies externally, which improves modularity and testability.

  • Scalability: Supports the growth of the project by allowing easy addition and management of services and dependencies.

5. Clear and Logical UI Binding

  • Logical Association: Provides a straightforward mechanism to bind UI elements to the bootstrap process, ensuring that UI components are correctly initialized and managed.

  • Ease of Integration: Simplifies the integration of UI with scene logic, making it easier to manage UI updates and interactions in relation to the scene lifecycle.

  • Consistency: Ensures that UI binding follows a consistent and predictable pattern, enhancing code clarity and reducing potential errors.

6. Runloop for Non-MonoBehaviour Workflow

  • Consistent Updates: Introduces a runloop mechanism that allows non-MonoBehaviour classes to participate in Unity's update cycles, including Update, LateUpdate, and FixedUpdate.

  • Flexible Architecture: Enables developers to structure their game logic without relying on MonoBehaviour inheritance, fostering a more organized and maintainable codebase.

  • Performance Optimization: Facilitates the execution of per-frame logic in a controlled manner, improving performance and ensuring that updates are handled efficiently.

  • Integration with Existing Systems: Seamlessly integrates with the framework's scene management and dependency injection systems, ensuring that non-MonoBehaviour components are properly managed and updated alongside other framework components.

PreviousArchitecture OverviewNextConclusion

Last updated 6 months ago