πChangelog
Version 3.1.0
COZY Core
Editor UI Changes
New wizard to help you create your own COZY modules
New COZY Hub window that replaces the old editor window
View and modify the current instance
Create FX Block Zones, Biomes, and Fog Culling Zones from the menu for easy scene creation
Walk through project setup with checks and automatic fixes for common pitfalls
View and install integrations right from the window
View extension modules
Links to documentation, store page and support are readily available
COZY editor window now has a horizontal orientation for wide inspector windows
Shader compilation
COZY shaders will now automatically compile for the various render pipelines.
New .cozyshader datatype based on JSON architecture that serializes into .shader files at runtime.
Material shader GUIDs are broken by this change and must be reassigned manually if using COZY shaders in other places in your project. Internal references will automatically update.
The COZY Suite now uses UPM packages
Moved layout of the package to fit the standard package layout
Native assembly definitions
Readme file moved to use Markdown and included in the package manifest
Sample packages
New demo scene placed in the samples
New diorama scenes for the Events, Interactions, and Reflections modules as well as the biome system using the package samples
UI samples show how to hook COZY into your UI system
Height fog now has more options and will pool around the base of large structures.
Rain and snow weather variants now combined into a new weather type called precipitation that interpolates between rain and snow based on the global temperature.
Fog in URP will no longer have screen edge issues that made fog less visible when looking at something indirectly.
Fog now supports orthographic rendering
Satellite Module changes
Moon light is now placed in the COZY Weather Sphere
Sun light game object renamed from "Sun" to "Sun Light" but both names are recognized by COZY
Default Perennial Profile set to have 365 days and leap years.
Integration
Buto is supported by default in URP without any additional imports
SW2 is supported by default in URP without any additional imports
Legacy 3rd-party shader support requires additional imports until supported by the respective developers
Internal Changes
Moved internal GitHub package.
Shaders moved to Amplify functions so that all shaders for all render pipelines only need to compile once after making a change.
Updated documentation.
Minor bug fixes.
COZY Habits
Resolved an issue that prevented builds
Moved to UPM
Added an editor tab to the COZY Hub
COZY Blocks
Resolve an issue that sometimes prevented builds
Moved to UPM
COZY Plume
Added HDRP support
Added new shader variables to tint the lit and shaded portions of the clouds
Moved to UPM
COZY Link
Moved to UPM
Added an editor tab to the COZY Hub
What's New in Version 3?
Visual changes
Fog Changes
Added density variation to the fog
Use a texture to create subtle variation in the fog
Control the strength of the variation
Moon will now display a flare in the stylized fog
Fog smoothness is now exposed
Night Sky Improvements
New 8K star texture with higher detail, smaller stars, better placement, and more variation.
New 8K galaxy texture to match the new star texture
Cloud Changes
New Luxury Clouds cloud style. These clouds combine the performance of single texture clouds with texture based blending allowing you to smoothly blend between cloud textures.
Package ships with several 4K cloud textures to choose from by default
3 cumulus cloud textures at various stages
3 border cloud textures at various stages
3 nimbus cloud textures at various stages
1 altocumulus texture
1 cirrostratus texture
1 cirrus texture
1 chemtrail texture
Ambience changes
Aurora Borealis will now spin around the player for a more aesthetic and dynamic ambience
Red and green aurora are split into two different ambience types
The weather sphere can now be centered around a custom object (not a camera). This will provide better results for top-down and 2.5D games that utilize COZY
Added support for Stylized Water 2's underwater extension
Added new fog blocking material for indoor areas
Modules
New Transit Module that controls time blocks, sun position throughout the day, and day length throughout the year
Material Manager Module has been renamed to the Interactions Module
Climate settings moved from the Weather Module to a new Climate Module
New Debug Module that exposes all modules' properties (including hidden properties) for easy profiling and debugging
New Control Panel module for editing key properties of all modules in a simple unified location
Wind moved to the new Wind Module
New System Time Module that pulls from your system time for the current time and day
Atmosphere, Weather, and Time Modules are now separated from the main CozyWeather.cs script and are removable
Added new interface called IBiomeModule that can be implemented in a custom module for biome logic (see biome documentation for more information)
VFX Module has been removed
API Changes
Added 5 execution order methods to CozyModule.cs
Reports Module is now modular.
Module script names have been unified to all use the same format
UI Changes
Modules are now placed in folders (Atmosphere, Time, Ecosystem, Integrations, Utility, and Other) in the searchable context window
Added a new title bar for modules in the inspector view
Module icon, name, and documentation are visible
Script editing, and several key functions are available from the context menu
Added a new button to add all modules at once for quick profiling
Added a slider to determine the number of modules displayed per row
Organization and API Changes
Ticks have been removed in favor of a Meridiem Time architecture
Why are ticks being removed?
Ticks used a 0-359 structure that directly corresponded to the rotation of the sun, but was difficult to use in any other way.
Ticks were generally confusing, slow to calculate, and difficult to use in code.
What is Meridiem Time?
Meridiem Time is a struct that allows you to set hours and minutes that will automatically convert to a float that ranges from 0-1.
This will let you easily set time in an intuitive way while still running quickly in the backend
Take a look at the documentation page for the Meridiem Time for more information
FX System changes
Removed the VFX Module for clarity's sake opting for referencing FX in their respective modules and storing them in the weather sphere.
Removed the Play() and Stop() methods from the FX profiles due to a redundancy with Play(1) and Play(0).
FX Profiles have been reworked and moved from playing based on a weight set in the scriptable object to playing based on a runtime reference stored in the relevant module
FX profiles will now instantiate under the weather sphere
Added four children to the weather sphere that hold various FX profiles
Weather functionality has been moved to the IEcosystem interface and references to functions should be formatted like this: weatherSphere.weatherModule.ecosystem.methodYouWantToReference
E_CozyModule.cs improvements
Reports are now modular and can be added to any module's editor
Control panel module is integrated with any module through the abstract method
Connect your documentation to the editor scripts
Add context menu methods that display on the toolbar
Editors are now cached by the COZY editor leading to faster editing in the inspector
Biome Changes
Biome system has been dramatically changed to incorporate more modules
Biome modules are not placed in separate scripts anymore
New atmosphere biome module
Biomes do not have weather systems built into them by default. Weather is now an addable biome module.
Biome system set to replace the volume system completely and the volume system will be fully deprecated by COZY 3.2
Bug Fixes
Fixed a bug that prevented FX profiles from stopping properly
Fixed a UI bug that prevented events from being assigned to Event FX in the Events Module
Fixed a UI bug that prevented editing the Material Profile within the Materials Module
The weather sphere will now properly display in the game window while the application is not playing
Fixed an issue that prevented builds with HABITS
Made all particles use world space
Improvements
Drastically improved performance
Shader variables use global floats and colors to allow for easier team projects
Global shader variable names are cached as IDs for faster shader modification
Improved codebase readability
All new documentation
Last updated