Giter Site home page Giter Site logo

multiscenetools's Introduction

Multi Scene Tools

MultiSceneToolsIcon

Features

  • Scene Collection ScriptableObjects

    • Tracks which scenes are used together in runtime.
    • Double Click to load collection.
    • Set which scene is the active scene in the collection. (gets set automatically)
    • Track and add collection scenes to build settings.
    • (Comming) Tracks cross scene references.
  • Hierarchy Syle

    • Icon and tooltip on scenes that belong to a scene collection
    • User defined scene collection color.
    • Checkmark on the target active scene for the collection
    • Icons for displaying which collection scenes are in the build settings
  • Multi Scene Management Window

    • Display currently loaded scene collection
    • Load scene collections
    • Load scenes additively
    • Unload scenes
    • Save and override loaded scene collection
    • Create scene collections from loaded scenes
    • Create new scenes and load it additively
    • Add all open scenes to build settings
    • See the current settings set in the config scriptable object
  • Multi Scene Loader

    • Load scene collections with this static class
    • OnSceneCollectionLoaded & OnSceneCollectionLoadDebug<SceneCollection, collectionLoadMode> events triggered on sucessful loading
    • Loading modes
      • Additive (re-working)
        • Loads all scenes in a collection additive
      • Difference
        • Unloads all scenes the collections do not share, then load the missing scenes.
      • Replace
        • Unloads all scenes other than the boot scene, then loads all scenes additively.
    • (comming) Async loading methods
    • (comming) Scene Node view, Connect scenes together with nodes to visualise adjacent scenes and automate when scenes should be loaded.
  • Multi Scene Tools Config

    • See and set current singleton instance
    • See and set current loaded scene collection
    • Toggle for allowing cross scene referencing (Cross scene referencing is not implemented)
    • Toggle for logging scene collection loading
    • Target path for boot scene or manager scene
    • Target path for loading scene collections

Examples

  • Boot loader (obsolete)

    • Gets current collection when entering play in editor
    • loads the main menu when the _Boot scene is started
  • Scene Transitioner

    • Waits for the transition animation to finish before loading the next scene collection.
    • Tracks the in and out transition state

Setup

Author

License

  • Apache License 2.0 License. Refer to the LICENSE file

multiscenetools's People

Contributors

henryshouses avatar weibye avatar

Stargazers

 avatar Throne Vault avatar Javier García de la Cita avatar  avatar  avatar  avatar Rainer Strobo  avatar  avatar Dango avatar Hamza Lazaar avatar KGry avatar Sathyaraj Shettigar avatar Hamza Lazaar avatar  avatar ElegantFx avatar  avatar Petrie van Zyl avatar Nicolas Dedual avatar  avatar Robbie Howe avatar Felix Lange avatar  avatar  avatar

Watchers

 avatar

Forkers

weibye r2d2m

multiscenetools's Issues

Duplication issues

asset labels are not copied over, and sometimes dupes dont get copied all the data. i dont know how to reproduce this

Config ScriptableObject do not register changes

when the toggles that check if it should log scene changes and allow cross scene references change, unity do not seem to register it as a change that should be saved. This may be an issue that causes github or other version control to not detect changes in the config.

Menu to Tools>Multi Scene

Hi thanks for this. I've just edited my copy to move the menu item under Tools which I think is more appropriate for this package (ie it's not 'first class Unity functionality). And the Scene Manager panel does the work. I also use the Project Favourites to find Collections so menu items aren't really used much at all.

Thanks again. (finding a few bugs and I'm a little suspicious it's causing a crash to desktop occasionally! but early days - can't find actual evidence for this at the mo ;)

Consider removing `_ScriptableObjects` from the config path

This of course comes from opinion and feel free to disregard this if you disagree :)

I am assuming that by having the config path be Assets/_ScriptableObjects/MultiSceneTools/Config/ you prefer to bundle all scriptable objects within the _ScriptableObjects folder, regardless of where it belongs to? Or at least have all scriptable objects within subfolders of that folder?

In most of our projects at Breach, and in my personal projects, we are using a lot of different packages at the same time. More often than not we need to tell the various packages apart more than separating between scriptable objects and other types of content.

It usually looks somewhat like this:

Assets
| - ProjectName
     | - Materials
     | - Textures
     | - Prefabs
     | - Scripts
     | - ....
| - ExternalPackage1
    | - Scripts
    | - ScriptableObjects
    | - Textures
    | - Prefabs
| - ExternalPacakge2
    | - Scripts
    | - ScriptableObjects
    | - Config
| - ExternalPacakge3

So my suggestion would be to change the configPath to be Assets/MultiSceneTools/Config/ in order to have a clearer project structure within this plugin whenever it is used in conjunction with other packages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.