Search Unity

[v2.1.0] Advanced Scene Manager | Scene Management tool for Unity

Discussion in 'Assets and Asset Store' started by nuwn, Jan 22, 2021.

  1. edufurlaneto

    edufurlaneto

    Joined:
    Sep 18, 2017
    Posts:
    17
    Hi. I new to ASM and seems to be great. My next project has several scenes and it seems ASM can help a lot organizing and speeding up the whole process. However this will be a VR production and the loading screen only works on the right eye. Do you have any update or tips for working in VR? Thanks
     
  2. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Hi! sadly we do not own any VR gear so I won't be able to help you there.

    But I tried to google a little, and ASM loading screens are just a scene with a canvas in it so the rules for VR exist there.
    I read something about rendering for each eye? Not sure if this will guide you right. Wish I could help you more.

    https://forum.unity.com/threads/ui-...one-eye-w-hdrp-single-pass-instancing.891208/
     
  3. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Update v1.5.0

    Features:
    - Added collection templates.
    - Added option to exclude collections from build (option in appearance settings).

    Scene Manager Window:
    - Changed startup 'star' into 'startup' text to be more clear, added indicator for implicit startup collection. Added and changed default startup option to 'Auto' and made 'DoNotOpen' actually not open implicitly.
    - Updated selection to be more useful and feel better to use.
    - Added right-click menus to collections, scenes, and tags.
    - Gave tags tab a much-needed facelift.
    - Added more headers to settings to clean cluttered sections up.
    - Improved OnGUI() performance.
    - Hid tag color and label (we may remove support for this entirely since they seem pretty pointless in hindsight, but if anyone wants it back, just let us know).
    - Added indicator for collections scenes in the hierarchy, similar to persistent scenes.
    - Changed the way we store local settings, SceneManager.settings.local, rather than the scripts themselves using PlayerPrefs, which makes the settings less scattered and easier for us to manage. This, unfortunately, means that the local settings, which are mostly appearance settings, will be reset to their default values on updating.
    - Changed the way creating scenes from a scene field in a collection works, to be more similar to creating a regular scene. The option to revert this is in settings.

    Other:
    - Moved tags from being stored in profile to the collection, since storing them in profile made no sense, to begin with... - Fixed some issues when removing ASM or dependency where compilation errors would occur due to unity not wanting to recompile when #ASM pragma unset.
    - Improved asset refresh, made it combine multiple requests when multiple ones are made in a short timespan. Added queueing on top of that, so they won't run parallel, which might have also caused issues.
    - Rewrote parts of scene operation.
    - Added better scene operation callbacks, i.e. SceneOperation.WithCallback(Callback.Before(Phase.SceneLoad).Do(() => {...})), exists as both static (injected into all operations), or per instance.
    - Added ability to run callbacks in scene operation when it changes to a given phase.
    - Fixed issue with KeepOpenIfNextSceneAlsoContainsScene.
    - Fixed issue where the scene with default tag would not reopen when a new collection opened that also contained it. - Added SceneHelper.Preload(scene), .FinishPreload().
    - Removed zero width space from profile prefix (added to collection asset names), since they caused issues with source control when Unicode disabled, existing zero-width spaces will not be removed automatically, so if you're affected by this, please rename collections to a temp name, then back.
    - Made sure the default pause screen does not get stripped from builds when code stripping is enabled.
    - Changed default pause screen to instantiate prefab into dontDestroyOnLoad, rather than create a new scene dynamically.
     
  4. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Long-awaited Update, Some new needed features, Usability improvements, and most importantly, bugfixes!

    Update 1.6.0


    Features:
    - Added blacklist/whitelist to avoid processing irrelevant scenes.
    - Added dynamic collections that ensure all scenes in a folder are included in the build (overrides blacklist/whitelist).
    - Added intro wizard that introduces the user to ASM and helps to set up a profile.
    - Added support for configurable enter play mode.
    - Added ability to set custom startup scene (advanced, don't change this if you don't know what it does).


    QoL:
    - Added automated git installer in dependency manager to more easily install git.
    - Added patch notification.
    - Added ability to double click/drag Scene Scriptable Object into a hierarchy to open associated scene.

    Fixes:
    - Improved dependency manager to trigger more often.
    - Moved package manager into the settings tab and removed "plugin.asm.package-manager" as a dependency.
    - Changed 'Create camera for splash screens' into 'Create camera during startup', which covers the entire startup rather than just the splash screen.
    - Improved performance of cross-scene references outside of playmode.
    - Improved SceneOperation.totalProgress (aka progress for loading screens).
    - Cleaned up namespaces, this means some things will be in different namespaces and you'll have to change your code a bit if upgrading.
    - Fixed many bugs.
     
    ledshok likes this.
  5. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Update 1.6.2

    - Significantly improved SceneOperation performance by reducing overhead and removing no longer needed delays at some spots.
    - Added profile-wide option to disable the call to Resources.UnloadUnunsedAssets() after standalone scene opened or closed.
    - Added option to collection to disable call to Resources.UnloadUnunsedAssets() after it has been opened or closed.
    - Added Scene.state, which more accurately specifies its state (aka NotOpen, Queued, isOpening, isPreloading, isOpen).
    - Changed Scene.IsOpen() to .isOpen since it is now a proxy for .state == SceneState.Open.

    - (2020 and above) Added the following callbacks:
    * ISceneOpen.Coroutine (same as ISceneOpen)
    * ISceneOpen.Coroutine.EvenWhenDisabled (allows callback to be called when object or script is disabled)
    * ISceneOpen.Void (coroutine-less callback, no need to yield break;)
    * ISceneOpen.Void.EvenWhenDisabled (ISceneClose, ICollectionOpen, ICollectionClose has had the same improvements)

    QoL:
    - Added a call to ISceneOpen and related, when entering play mode through the unity play button.

    Bugs:
    - Fixed SceneManager.standalone.preloadedScene not resetting after domain reload.
    - Fixed preload allowing the same scene to be opened multiple times.
    - Fixed some bugs with the scene manager window. (edited)
     
  6. trueh

    trueh

    Joined:
    Nov 14, 2013
    Posts:
    74
    I'm getting the following exception with ASM 1.6.2 while I run a collection in the editor in Unity 2021.3.4f1:

    NullReferenceException: Object reference not set to an instance of an object
    [Exception] NullReferenceException: Object reference not set to an instance of an object
    UtilitySceneManager.OnEnterPlayMode() at /AdvancedSceneManager/System/Core/Scene Managers/UtilityManager.cs:58
    56: {
    57: if (!runtime.wasStartedAsBuild)
    -->58: foreach (var scene in standalone.openScenes)
    59: _ = CallbackUtility.DoSceneOpenCallbacks(scene).StartCoroutine();
    60: }

    While I'm getting the error, things still seem to work as expected. I tried re-installing ASM from scratch and re-creating my configuration and I am still getting the same error. Any clue?

    Regards
     
  7. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
  8. trueh

    trueh

    Joined:
    Nov 14, 2013
    Posts:
    74
  9. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
  10. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Another small Quick tip!

    I am quite sure most of our users might have missed this one.

    You can keep a scene open in the editor while switching collections etc, or keep it open/closed when scenes are present. Handy when you have a persistent scene as I do with Main-camera and Event system.
    (Editor only)

    Video

    https://twitter.com/Lazy_Solutions/status/1539364706657439745
     
    ledshok likes this.
  11. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
  12. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
  13. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
  14. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Update 1.7.0

    Features:
    - Embedded dependencies, so there is no need to manually download them (editor coroutines are automatically added). - Adds ProfileDependent, ProfileDependentScene, and ProfileDependentCollection that provide the ability to load a different scene depending on the current profile.
    - Added option to change default asset path (where scene/collection/profile scriptable objects, are created).
    - Finished implementing equality for Scene == OpenSceneInfo == UnityEngine.SceneManagement.Scene == SceneAsset.
    - Added SceneState enum / Scene.state that will more accurately describe what state a scene is in (NotOpen, Preloaded, Open, etc...).
    - Rewrote SceneUtility.MergeScenes to be more robust, and to move scenes to recycle bin so that they can be restored. - Finally fixed pdf generation for docs, so offline docs are now up-to-date.

    Bugs:
    - Scene.isOpen has been changed to a property like it should have been from the start.
    - Fixed bug with patch check that used a hardcoded folder in Assets/AdvancedSceneManager.
    - Fixed bug with Scene.isIncluded where it would return true in build, even if it isn't.
    - Fixed a few bugs related to the default fade screen where it would throw errors in startup action and quit action.
    - Fixed bug where tracked scenes would not be cleared when starting play mode, using configurable enter play mode.
    - Fixed bug where LoadingScreenUtility.DoAction(Scene, Action, bool) would freeze due to it accidentally calling itself, rather than an overload of the method.
    - Fixed HierarchyGUIUtility throwing imgui layout errors.
     
    ledshok likes this.
  15. trueh

    trueh

    Joined:
    Nov 14, 2013
    Posts:
    74
    Hello. I've just updated. This release is producing errors when building the game. I suppose that some using
    AdvancedSceneManager.Editor.Utility statements should be enclosed within #if UNITY_EDITOR conditions in ScriptableObjectUtility.cs, and AssetRef.cs.

    Same happens with some calls made to AssetDatabase in AssetRef.cs.

    Thank you.
     
  16. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    I am so sure we tested that, jikes...
    I'll get back when we find more and have a patch.

    Thanks for reporting it!
     
  17. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
  18. trueh

    trueh

    Joined:
    Nov 14, 2013
    Posts:
    74
  19. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    v1.7.1 patch

    - Fixed build errors

    Is live on store
     
  20. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Update 1.8.0

    Features / Quality of Life:

    - Added Default Profile, which is used if no profile is set during editor startup / reload.
    - Added spam checking for event methods (methods used from UI Button click for example) and duplicate check for scene operations.
    Added undo for scene collection removal, through a new menu item in the upper right corner (only visible when collections have actually been removed).
    - Added options to disable asset refresh triggers, which may be helpful when making many changes that would otherwise trigger it. Just remember to run asset refresh manually when done.
    - Made the refresh button change to a stop button when asset refresh is running.

    API:s:
    - Renamed SceneManager.assetManagement to .assets, since the class has been rewritten into static AssetUtility, and .assets is now just a proxy for collection, scene, and profile lists.
    - Added BuildSettingsUtility.DoPreBuild(), .DoBuild(), which allows custom build processes involving asm.
    - Added SpamCheck, which can be used to make cooldowns easily.

    Other:
    - Removed dependency manager since it is no longer needed, as dependencies are, since the last update, embedded in the asset store package.
    - Due to the above, #ASM is no longer needed and has been removed, this fixes most situations where upgrading to a newer ASM version can cause compilation errors.
    - Merged plugins into asset store packages for reduced complexity and easier maintenance.

    Bugs:
    - Fixed the issue where entering play mode through Unity play button would cause a null reference when attempting to open a collection.
    - Restored ping / open scene on scene field.
    - Fixed some issues with having null scenes in a collection.
    - Fixed section headers in settings having a margin that would not expand/collapse the section when clicked.
    - Fixed selection sometimes does not clearing when pressing a blank area.
    - Added hover effect to collection, tag, and setting headers.
    - Removed the ability to initiate drag-drop from dynamic collections.
    - Fixed scroll resetting on editor reload.
    - Fixed import loop when the Advertisements package is installed.
     
    ledshok and esteban16108 like this.
  21. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Update 1.8.1

    Features / API:
    - Added auto install of addressable package when ASM plugin is enabled, Unity 2019.
    - Added allCollections + collections, and similar for scenes, in SceneManager.assets.

    Bugs:
    - Fixed a bug with the scene manager window where it would not render correctly after entering play mode.
    - Fixed a bug where the welcome tab would be displayed incorrectly.
    - Added option to disable opening startup collection when using the collection play button.
    - Fixed SceneManagerWindow style not loading when unity window is not focused, after script recompile.
    - Hid dynamic collection spacer, when dynamic collections are hidden.
    - Fixed unity cloud build/batch mode.
     
  22. Bezoro

    Bezoro

    Joined:
    Mar 16, 2015
    Posts:
    133
    1.8.1 is crashing Unity 2021.3.15f1
     
  23. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Hi thank you for the report,
    I have verified this and we will upload a patch to GitHub, if needed, when we figure out the cause of this issue. And then push it to the store, which takes a bit longer.

    Restarting the project after a crash seems to be working, throwing some errors that can be ignored for now.
     
  24. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    So the issue has been resolved, and we had to update many files to fix other bugs that were finally showing themselves after we fixed the import loop, which is a good thing.

    However, this means its too much to push a simple patch, so we will make it a new asset store update, which if unity works fast, will be up and running at the start of the week.

    In the meantime, If importing and crashing, Restart works, the error presented can be ignored. or wait with updating until 1.8.2.

    If you get really stuck opening the project for some reason, here's the workaround...

     
    Last edited: Dec 3, 2022
  25. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Update 1.8.2

    Bugs:

    - Fixed import loop when AssetRef did not already exist (when ASM imported for the first time, Could cause a crash at first import).
    - Made AddressMappings into AssetRef singleton, which means it will now be moved alongside all other ASM assets.
    - Fixed SceneAsset sometimes not opening in the editor due to it being blacklisted
     
  26. ch1ky3n

    ch1ky3n

    Joined:
    Oct 26, 2017
    Posts:
    57
    Hey somehow I can't drag UnityScene into collection, I'm using Unity 2022.2
     
  27. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Hi, do you get any errors or such?

    Also, note that 2022.2 is beta, we might not fully support it as we focus on LTS.
     
  28. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Also it might be that you did not set up whitelist/blacklist, you do that in wizard or in Setting/assets.
     
  29. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Update 1.9.0

    Known bug:
    Upgrading local settings to new storage (PlayerPrefs -> /UserSettings/AdvancedSceneManagerSettings.json) may in some instances fail: "System.ArgumentException: JSON parse error: The document root must not follow by other values."

    Patch available.
    - Fixed overlooked namespace conflict for addressable.
    - Fixed possible index out of range error in coroutine utility.

    Notes:
    - This will be the final version of ASM that will support Unity 2019. ASM 2.0 will not support it. Individual patches will be found on GitHub as normal.
    - AddressMappings ScriptableObject has been removed, it can be safely removed if it still exists (all settings within are automatically relocated to a new location on start).
    - New default dynamic collection, 'Advanced Scene Manager defaults', are only added to new profiles. You can add this manually to existing profiles by using the following path:
    'Assets/AdvancedSceneManager/System/Defaults'


    Features:
    - Added forceProfile, in addition to defaultProfile, which will force the profile for everyone on the project, with no effect if null.
    - Added an "Advanced Scene Manger defaults" dynamic collection to newly created profiles.
    - Added SceneManager.utility.OverrideSceneLoad(...), for easier overriding of scene load / unload.
    - Added example scripts in "AdvancedSceneManager/Example scripts".
    - Changed the link in the top right menu to view patches, so that it is always visible, instead of only when a patch is found.
    - Added Add and Remove buttons to the standalone dynamic collection.
    - Added a bunch of examples in '/Advanced Scene Manager/Example scripts'.

    Plugins:
    - (2020+) Changed plugin section again to work better, it now opens the package manager when a plugin has a dependency, and the plugin will be enabled automatically on dependency install.
    - Added toggle for disabling plugins automatically enabling when its dependent package is installed (addressables).
    - Changed addressables to use SceneData rather than custom AdressMappings scriptable object.
    - Changed addressables to use a new scene load override system.
    - Rewrote large parts of cross-scene references so that the code is easier to work with.
    - Improved hierarchy icons for cross-scene references.
    - Rewrote parts of addressables plugin, support for preloading added.

    API:
    - Added lazy creation of OpenSceneInfo, which will allow users to use Monobehaviour.Scene() in Start(), Awake(), and OnEnable().
    - Added Profile.standalone, which can be used to retrieve scenes in the dynamic collection 'standalone'.
    - Added Scene.OpenPersistent(), to easily open scenes as persistent.
    - Added OpenSceneInfo.SetPersistent(), to easily set an already open scene as persistent.
    - Added SceneManager.utility.OverrideSceneLoad(), to override how ASM loads scenes. (i.e. this is how addressables now load / unload scenes flagged as addressable).
    - Removed SceneOpenAction, SceneCloseAction, and since they were made redundant.
    - Removed OverridableSceneAction, as it was superseded by SceneManager.utility.OverrideSceneLoad().
    - Renamed BuildSettingsUtility to BuildUtility, to more accurately describe what it has become.
    Configurable enter play mode:
    - Fixed ASM dropping active profile when recompiling in play mode.
    - Fixed QuitAction not resetting .isQuitting.

    Misc:
    - Disabled auto deletion of temp build, for quicker subsequent temp builds.
    - Merged BuildSettingsUtility and BuildEventUtility into BuildUtility, added .asmPreBuild event, which will be called before build (if ASM handles it) and is blocking, which means changes to the project will be included in the build, which regular .preBuild event, which is a wrapper for unitys api, isn't.
    - Changed SceneData to store its data in SceneManager.settings.project, instead of "<AssetRef>/SceneData/<scenename>.json". (Which also means SceneData won't be left behind when moving ASM assets anymore).
    - Changed offline docs to an offline webpage (same as online).

    Bugs:
    - Fixed issue where SceneManagerWindow could not in some circumstances be resized.
    - Fixed startup scene incorrectly being added to AssetRef.
    - Fixed PreloadedSceneHelper.FinishPreload() not working, due to it not ignoring the scene operation queue.
    - Changed "Prevent event methods from being spammed" to false, by default.
    - Fixed issue with Scene.state.
    - Fixed duplicate setting elements.
    - Fixed duplicate scene hierarchy indicators.
    - Fixed patch check.
    - Fixed asset refresh not properly filtering out non-scene assets.
    - Fixed SceneHelper being generated with the wrong name.
    - Fixed Stackoverflow that would happen when using OpenOrReopen.
    - Fixed some bugs with batchMode / dedicated server build.
    - Changed the link in the top right menu to view patches, so that it is always visible, instead of only when a patch is found.
    - Fixed patch check being stuck on a specific commit, and as a result, not finding new patches.
    - Fixed asset refresh not properly filtering out non-scene assets.
    - Fixed duplicate "open collection when SceneAsset opened".
    - Fixed duplicate dynamic collection setting.
    - Fixed the wrong name for scene helper.
    - Fixed OpenOrReopen StackOverflow.
    - Fixed QuitAction not resetting .isQuitting in configurable play mode.
    - Changed Profile.SetProfile to public, as was intended.
    - Fixed Runtime.Initialize() not called in dedicated server build.
    - Fixed filtering in AssetRefreshUtility.OnPostprocessAllAssets that filters out everything that is not a scene, since that is what we're interested in, in that trigger.
    - Fixed a few issues with create profile dialog.
    - Fixed an issue where SceneCollectionUtility.Create(name, profile), would not use passed profile, and use Profile.current instead.
    - Added sorting to AssetRef.scenes, which should prevent scenes in list from getting rearranged for no reason.
    - Changed how ASM assigns profile during editor initialization, in an effort to prevent profile from getting unset in some circumstances.
    - Hid warning for unity build button override when entering play mode.
    - Fixed a bug where SceneCollection.Close() would not close scenes flagged as KeepOpenIfNextCollectionAlsoContainsScene.
    - Added checks in AssetRef to not save if no changes were actually made, which would trip source control up.
    - Fixed Profile.collections not updating when collections are added or removed, which also caused the scene manager window to not update its collection list.
    - Fixed a few bugs preventing ASM from working in unity 2023 (obsolete api warnings will be fixed in 2.0).
     
  30. NathanielAH

    NathanielAH

    Joined:
    Jul 22, 2013
    Posts:
    100
    A couple questions:

    1. Will version 2.0 be a separate asset?
    1.1 If yes, will there be an upgrade path for existing users / owners?

    2. Does anyone know if this asset interacts with or works well with Turbo Switch PRO?

    Thanks for the help.

    Sincerely,
    Nathaniel
     
  31. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Hi Nathaniel, thanks for the questions.

    2.0 will not be an upgrade. if you have ASM, 2.0 will be there when it's done.

    Tho it's a major version so an update from 1.9 might mean you have to rebuild your collections if you choose to do that.

    Taking a quick look at that asset, we do have switching platforms in mind. if you run same scenes for each platforms, no big deal, it will work as normal.
    if you wish to use different scenes for different platforms we have "ProfileDependentScenes", so one can make different profiles for each platforms. and this class ensures that the reference to the scene is not lost when changing profiles.

    The reason the scene refs is lost, is because in 1.9 what's added to the profile is what gets added to build settings and generated. as it contains rules. for example, blacklisting one's collection of demo scenes. This will change a bit in 2.0.

    (note to self, add an auto switch for platforms+profiles)

    Profiles are what gets built in asm.

    When it comes to the cache of the asset, I can only assume, as I have not worked with it, that it caches all serialized fields and scriptable objects, etc. so I think it will cache asm as well.
     
    NathanielAH likes this.
  32. NathanielAH

    NathanielAH

    Joined:
    Jul 22, 2013
    Posts:
    100
    Appreciate the quick response and information!

    Going to pick it up; looking forward to 2.0. Any tentative release date?

    Sincerely,
    Nathaniel
     
  33. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    No sorry, no ETA, turned out there was more work that needed to be done.
    2.0 is basically a rewrite and improvement update, no game-changing new features yet :D
    so 1.9 and patches are fully functional and very stable.

    Thank you for your support. I hope the asset proves to be helpful to you.
     
    NathanielAH likes this.
  34. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    ASM 2.0.0 is now Live on the store, it's available from 2022.3.2+

    Featuring a range of enhancements and an updated user interface. This update also brings a more robust API.

    It's recommended not to update an existing project unless you want to re-add all references in your game.

    ASM 1.9.32 has also been updated for the store. This is the final patch for 1.9, as the version has not received any bug reports for a solid period. 1.9 is available for older unity versions. as we move forward with 2.0.

    You who use Unity 2022.3.2+ and 1.9 can get the patches on Github, but due to how the asset store works, you will not be able to get it from the store.

    Thank you!
     
    ledshok likes this.
  35. profuzzy

    profuzzy

    Joined:
    Mar 13, 2015
    Posts:
    46
    IDK.. either I don't say anything and you'll be left unaware or I say something and then you might get upset.. I am not trying to upset you.

    I tried to like this, but the demo was broken in different places at every try, the broken links,
    Example: "There are multiple ways to load scenes, as there should be, Here's a list"...
    .. I can't gather the confidence to buy this.

    I think this has potential, it might even be great, but I would not know and I can't know unless I buy it.. and the pre-buy materials are stopping me.
     
    Last edited: Dec 20, 2023
  36. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137

    Hi, thanks for pointing that out, that link is way old, the initial post in here has not been updated in a very long time.

    Here's the updated URL to our guide, and I've updated that link at least.
    https://github.com/Lazy-Solutions/AdvancedSceneManager/tree/main/docs
     
    Last edited: Dec 20, 2023
  37. profuzzy

    profuzzy

    Joined:
    Mar 13, 2015
    Posts:
    46
    I appreciate the message.
    I was tired. I might buy it while on sale just because.. I'll test it and see if it works for me.
    That demo tho.. I bet it's causing you to lose more sales than you think.
     
  38. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Are there any Playmaker actions planned for interaction with ASM?
    I'm using playmaker for my scripting needs.
     
  39. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Hi, not exactly. We did add a little in a later patch, we are not playmaker users so we do not have much knowledge of that asset. from the dev:

    "There are two issues I could find: One issue was that coroutines were not fully supported in custom actions, so you cannot assign multiple ASM actions to the same state, you must use the FINISHED event and use another state for next action.
    The other issue was the fact that PlayMakers scripts are all bound to the scene, and if you close that scene, then PlayMaker will stop executing halfway through the sequence, I tried designing custom ASM actions around this, but please be aware of this"

    We have no plans to fully make sure playmaker is supported, But if someone makes it work and wants to share whats required for it, we would add it to the asset as well. but that's what we have for now.
     
    Lars-Steenhoff likes this.
  40. chris73it

    chris73it

    Joined:
    Oct 15, 2013
    Posts:
    21
    Hi,
    I am stuck when the Quick Start tutorial says "Now, lets create some levels, create two collections, "Level 1" and "Level 2". "
    How does one create a new collection? Where do I need to click? I tried clicking every icon in the Scene Manager tab to no avail. Help!
    Thank you!
     
  41. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    ASM 2.1.0 is now live and the requirements have been reduced to 2021.1+
    The package has now been combined, meaning 1.9 will be compiled for its versions, and 2.0+ for newer.

    Update 2.1.0

    Features:

    - Rewritten In-game toolbar.
    - New scene dropdowns for when only specific scenes may be selected, like loading screens.
    - Added Collections Overlay, and overlay/widget for scene view to easily see what collections are associated with the currently opened scenes, and provide an easy way to open/close them.
    - Added support for PlayMaker with some ASM actions.
    - Added SceneOperation.With(Progress<T>) to provide custom progress and normal progress tracking.
    - Added option to automatically open standalone scene when entering play mode using the unity play button.
    - Added SceneManager.runtime.scenePreloaded event.
    - Added Scene.Preload(Action onPreloaded) parameter.
    - Added SceneManager.CloseAll(params Scene[] except) parameter.
    - Added support for setting active collection scene to null.
    - Added undo to scene split (scene merge coming later).

    Compatibility:
    - Support for 2023.
    - Support for 2021.
    - ASM legacy introduced, this provides a streamlined patching experience for people stuck on 1.9, and a better experience upgrading from 1.9 to 2.x. This mode will be automatically toggled on if running on an unsupported version of Unity (2020 and below), or if the project contains assets from 1.9.

    Bugs:

    - Fixed duplicate drag-drop operations issue that would sometimes occur when attempting to drag a collection.
    - Fixed the issue where the fallback scene would throw an error when ASM folder moved.
    - Fixed some bugs with additive scenes.
    - Fixed an issue with DiscardPreload().
    - Fixed bugged scroll in the overview popup.
    - Fixed collection separator sometimes not centered.
    - Fixed splash screen playing on restart.
    - Fixed issue with DontDestroyOnLoad scene detection causing error on exit play mode due to adding helper object during exit.
    - Fixed update check referring to the wrong URL.
    - Fixed issue with version string.
    - Fixed issue with dynamic collection scenes having hidden object fields.
    - Fixed issue with the local documentation button in the menu popup.
    - When entering play mode with the ASM play button, Start() and similar would get called on the currently opened scene, before closing. This has been fixed.
    - Fixed an issue where standalone scene options would not save.
    - Fixed null reference in SceneBindingUtility.
    - Fixed popup overlay container having a background, underneath the actual popup background, it would become visible when resizing the window horizontally, when the popup width reaches max size.
    - Fixed issue where ObjectFieldDisplay on scene fields would become blue after drag and drop.
    - Added save prompt before playing.
    - Fixed cross-scene references window style not found.
    - Fixed missing XML documentation for a couple of methods on Scene.
    - Fixed a null ref in SceneOperation.progress when called too early.
    - Fixed issue where yielding SceneOperation would sometimes return immediately, due to bad CustomYieldInstruction.keepWaiting implementation.
    - Scene dropdown for active collection scene would display none, which is not supported.
    - Fixed an issue where creating a collection, and then immediately renaming it would result in the profile being renamed instead.
    - Changed patch notes to a debug log instead of an update button tooltip.
    - Fixed the update button not working.

    Misc:

    - Opening scenes from ISceneOpenAsync would cause the current operation to continue and not wait for this new operation. Support has been added for this, and the first operation will now wait for that new operation.
    - Made scene bindings sections in settings always be displayed, and disabled sections when the input system is not installed.
    - Added better handling of un-included scenes, ASM will now add the scene to standalone when it cannot be opened, allowing users to just restart play mode, as they see the warning. - Added option to add more buttons to the toolbar.


     
    ledshok likes this.
  42. nuwn

    nuwn

    Joined:
    Jan 29, 2017
    Posts:
    137
    Notice

    Upgrading from ASM 1.9 to 2.x cannot be done automatically. This is due to the fact that 2.x is a rebuild, and Unity do not provide any tools for dealing with this, so now we are stuck in a situation where the only solution to upgrade is to:
    1. Delete 'AdvancedSceneManager' folder
    2. Re-install ASM from asset store
    3. Enter legacy mode, to keep your profiles and collections, at the dialog window that should pop-up.

    Upgrading from legacy mode to 2.x proper, will unfortunately require a re-setup of ASM, all profiles and collections will be deleted, and scenes will need to be re-imported into ASM.