Releases: CarterGames/MultiScene
Backend updates (0.3.0)
ℹ️ An update to the core codebase to bring it more in-line with recent releases.
🗓️ Release Date: 24th May 2024
🎨 Asset Changes
- Added the latest asset core systems such as version validation, asset indexing, better editor utils etc.
- Improved the setup for a few editor bits with the asset.
- Audited the codebase to meet my 2024 standards where possible without breaking functionality for now, further audits to come.
- Updated readme for package.
Bug Fix Update (0.2.2)
🎨 Asset Changes
- All changes from 0.2.1 Revisions:
- Hotfix for issue #1.
- Fix for GUI.Enabled Issue on Scene Group Loader Window.
- Fixed an issue where you could make a build due to an editor only window popup call in the MultiSceneManager class that wasn't in a #if define.
Cleanup Update (0.2.1)
🎨 Asset Changes
- Commented all scripts in a uniform way.
- Updated the URP extension package to have some cleaner code and a requirement for a camera on the same object as the script.
- Remove legacy 0.1.x header comments where they were missed in the last update.
🔧 Revisions
- Rev.2 (16/10/22) - Hotfix for issue #1
- Rev.3 (30/10/22) - Fix for GUI.Enabled Issue on Scene Group Loader Window
Core Library Update (0.2.0)
- Added a settings window to the asset like with the latest developments from Carter Games.
- Added the option to limit the number of interfaces calls per frame to aid with performance.
- Added the option to run the
Resources.UnloadUnusedAssets
method on scene group change.
- Added a new window to let you organise & load and scene group in your project with ease.
- Scene groups can be organised in their inspectors meta data with button labels, colour & category. The user can also add their own categories in settings, but some are provided by default.
- Multi Scene Manager Improvements:
- Made the manager static for ease of use.
- Added reload scene group option.
- Added optimisations for interface listener calling which can be edit in settings.
- Added new events system & additional events to help with listening for scene loads.
- Scene group improvements:
- Added dropdowns to allow scene selection to help avoid typo’s.
- Added meta data options for the new scene group selection tool.
- Added an extra step to clearing a group to avoid accidental pressed of the reset button.
- Improved the performance of the custom inspector for the groups.
Custom Ordering Added (0.1.3)
A mostly admin update, added 1 new feature and cleaned up for core code in some places.
Order Attribute
You can now add a custom attribute to an multi scene interface implementation to define a custom execution order for the method. This works in the same way that the script execution order works with 0 being the default, negitive numbers will be before the default, positive will be after the default. If you don't define a order for a method it will be set to 0 in the order by default and run in normal hierarchy order.
Just add [MultiSceneOrdered]
to use this system on a method.
Use [MultiSceneOrdered(x)]
to use custom ordering for this method, x being the order position you want it to run in.
Minor Update (0.1.1)
- Added editor buttons to multi scene manager to allow a scene group to be loaded in the editor at the push of a button, rather than having to do it manually.
- Fixed some minor issues in the multi scene manager that I found while using the package in a project.
First Release (0.1.0)
Summary
The first release version of this package. The readme/docs will be updated soon to better explain how to use this if you have just stumble upon this repo. This is still in development and bound to have stuff missing so feel free to let me know anything you think might be handy.
Attached files
- Core Package Just contains the core code for the multi-scene system with no extensions.
- Do Not Destroy Package Contains the extension to allow you to get objects in the do not destroy scene like you would in the core package's scene elly script.
- URP Cameras Package Contains the extension to allow camera stacking between scenes when using the URP or HDRP in Unity.