COZY Documentation
  • Welcome!
    • πŸ‘‹Hello!
    • πŸ—ΊοΈRoadmap
    • πŸ†˜Support & Community
    • πŸŽ“Changelog
  • Getting Started
    • πŸ”ŒInstallation
    • πŸ› οΈSetting Up Your Project
    • 🌐Creating a New Scene
    • πŸ“¦COZY Samples
  • How it works
    • βš™οΈThe System Perspective
    • ⏱️Meridiem Time
    • 🌈Gradients & Curves
    • βš–οΈWeighted Random Chance (WRC)
    • πŸ§‘β€πŸ«Weather Selection & Forecasting
    • The Weather Sphere
      • 🌌The Sky Dome
      • ☁️The Cloud Dome
        • COZY Desktop Clouds
        • COZY Mobile Clouds
        • Soft Clouds
        • Painted Skies
        • Ghibli Desktop & Mobile Clouds
        • Single Texture Clouds
        • Luxury Clouds
      • 🌫️The Fog Dome
    • Modules
      • 🌌Atmosphere Module
      • πŸ•‘Time Module
      • 🌦️Weather Module
      • πŸƒAmbience Module
      • 🌑️Climate Module
      • ⚑Events Module
      • 🎨Interactions Module
      • ☁️Buto Module
      • 🌎MicroSplat Module
      • 🌳The Vegetation Engine (TVE) Module
      • πŸͺžReflections Module
      • πŸŒ™Satellite Module
      • πŸ—ƒοΈSave & Load Module
      • πŸŒ„Transit Module
      • πŸ’¨Wind Module
      • πŸ•‘System Time Module
      • πŸ›Debug Module
      • ☁️Plume Module
      • πŸŒ‡Blocks Module
      • πŸŒ‘Eclipse Module
      • πŸ“†Habits Module
      • 🎼ReSound Module
      • πŸ”—Link Module
    • Profiles
      • Ambience Profile
      • Atmosphere Profile
      • Forecast Profile
      • Perennial Profile
      • Satellite Profile
      • Material Profile
      • Weather Profile
      • FX Profiles
        • Audio FX
        • Climate FX
        • Cloud FX
        • Event FX
        • Filter FX
        • Multi FX
        • Particle FX
        • Precipitation FX
        • Thunder FX
        • Visual FX
        • Wind FX
      • Climate Profile
    • Biomes
    • Settings
  • Extending COZY
    • Stopping Indoor FX
    • Developing the Render Queue
    • Utilities
  • Integrations
    • Crest Water 4 (URP Only)
    • Crest Water 5
    • Stylized Water 2
    • KWS Water System
    • Generic Shader Graph
    • The Vegetation Engine
    • MicroSplat
  • Appendix
    • Frequently Asked Questions (FAQs)
    • Improving Performance With COZY 3
Powered by GitBook
On this page
  • What are Modules?
  • Key Features and Benefits
  • Adding Modules
  • API Reference
  • Access Modules
  • Remove Modules
  • Execution Order

Was this helpful?

  1. How it works

Modules

Not all projects are the same, and COZY is designed with this in mind

PreviousThe Fog DomeNextAtmosphere Module

Last updated 10 months ago

Was this helpful?

The COZY Modules System is the cornerstone of the COZY: Stylized Weather ecosystem, designed to provide flexibility, extensibility, and ease of customization to Unity developers and creators. This modular system empowers you to tailor your weather and environment management precisely to your project's needs, ensuring that your virtual worlds come to life with stunning style and artistic control.

What are Modules?

In the COZY ecosystem, modules are individual components that manage specific aspects of your environment, weather, and atmospheric conditions. Each module is designed to offer a set of features, controls, and APIs that allow you to fine-tune and enhance your scenes. Modules can be seamlessly integrated into your projects, working in harmony to create immersive experiences.

Key Features and Benefits

Adding Modules

Adding existing modules to your scene is simple! In the settings module click the Add New Module button:

Next, select the module that you want to add from the dropdown list:

COZY will automatically check for any dependencies or conflicts and attempt to add the module that you select. If the module can be added, you will see it appear next to the settings module. After clicking on the module tab in the top of the editor, you can begin managing the settings!

API Reference

Access Modules

CozyWeather.instance.GetModule<CozyAtmosphereModule>();

Remove Modules

CozyWeather.instance.GetModule<CozyAtmosphereModule>();

Execution Order

In COZY 3, modules will now use 5 different update methods to split functionality and allow proper timings while communicating between modules.

  • Frame Reset will run on all modules at the beginning of the logic for that frame. It is normally used to reset values to their defaults before they are edited at runtime

  • Update Weather Weights runs when all of the weather profile weights are calculated for that frame

  • Update FX Weights runs when FX profiles are updated based on the new values of the weather profile weights

  • Propagate Variables runs when all the values are accumulated and propagated to the individual modules

  • Cozy Update Loop handles all calculations that happen after the weather sphere is in a stable state. Think of this as the COZY equivalent to LateUpdate

This code will allow you to access the . You can replace the type parameter with any other module that you want to access:

This code will allow you to access the . You can replace the type parameter with any other module that you want to access:

Atmosphere Module
Atmosphere Module

Modular Customization

The Module System allows you to pick and choose the features that you need for your project.

Cohesive System

Modules are built to communicate with each other and work cohesively using the COZY Weather Sphere as a central hub.

Easy Integration

Quickly add, remove, modify, and read all modules in your COZY Weather system.

Performance Optimization

No modules are required! Remove modules as needed to improve CPU performance for your project.