Skip to content

Commit 61bbbf0

Browse files
committed
update url and package name
update documentation url update subdomain update subdomain
1 parent a1219e4 commit 61bbbf0

File tree

29 files changed

+143
-155
lines changed

29 files changed

+143
-155
lines changed

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2022 MyGameDevTools
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Advanced Scene Manager Documentation
1+
# My Scene Manager Documentation
22

3-
This repository contains the documentation for **Advanced Scene Manager**, a Unity package designed to streamline scene transitions, async operations, and addressable scene management.
3+
This repository contains the documentation for **My Scene Manager**, a Unity package designed to streamline scene transitions, async operations, and addressable scene management.
44
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.
55

66
## Prerequisites

docs/advanced-usage/core-concepts.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
---
22
sidebar_position: 1
3-
description: An introduction to the advanced usage of the Advanced Scene Manager.
3+
description: An introduction to the advanced usage of My Scene Manager.
44
---
55

66
# Core Concepts
77

8-
There are some key structures that need to be understood in order to dive deep into the logic of the Advanced Scene Manager.
8+
There are some key structures that need to be understood in order to dive deep into the logic of the My Scene Manager.
99

1010
## Architecture
1111

12-
This is an overview of the Advanced Scene Manager architecture. We will dive into each individual component in the next pages.
12+
This is an overview of the My Scene Manager architecture. We will dive into each individual component in the next pages.
1313
Consider this flowchart:
1414

1515
```mermaid
1616
flowchart TB
17-
asm(Advanced Scene Manager)
17+
asm(My Scene Manager)
1818
sd(Core Scene Manager)
1919
isd([ISceneManager])
2020
so{{Load, Unload or Transition}}
@@ -42,7 +42,7 @@ flowchart TB
4242
sr === so
4343
```
4444

45-
- The `AdvancedSceneManager` is a static implementation of a `CoreSceneManager`, which contains all the logic to perform **Scene Operations**.
45+
- The `MySceneManager` is a static implementation of a `CoreSceneManager`, which contains all the logic to perform **Scene Operations**.
4646
- The `CoreSceneManager` is an implementation of the `ISceneManager` interface, that by itself only defines "low-level" **Scene Operations** methods that receive `SceneParameter` arguments.
4747
- The `SceneParameter` struct is an abstraction to handle a single `ILoadSceneInfo` or multiple (`ILoadSceneInfo[]`).
4848
- The `ILoadSceneInfo` interface is an abstraction of a reference to a scene. It has the following implementations:

docs/advanced-usage/core-scene-manager.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ new CoreSceneManager(initializationScenes: new Scene[]);
8989
```
9090

9191
:::note
92-
You don't need to manually create a `CoreSceneManager` instance if you're using the `AdvancedSceneManager`.
92+
You don't need to manually create a `CoreSceneManager` instance if you're using the `MySceneManager`.
9393
:::
9494

9595
## Scene Parameter

docs/advanced-usage/advanced-scene-manager.md renamed to docs/advanced-usage/my-scene-manager.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
sidebar_position: 2
33
---
44

5-
# Advanced Scene Manager
5+
# My Scene Manager
66

7-
The `AdvancedSceneManager` is a static wrapper to the `CoreSceneManager` class, that exists to simplify the usage experience of the **Scene Operations**.
7+
`MySceneManager` is a static wrapper to the `CoreSceneManager` class, that exists to simplify the usage experience of the **Scene Operations**.
88
It manages an internal reference to a Core Scene Manager that is created during the `RuntimeInitializeOnLoadMethod` callback, which is executed after the first scene has loaded and after the first `Awake()` cycle.
9-
That means that the `AdvancedSceneManager` will not be initialized until the first `Start()` cycle.
9+
That means that `MySceneManager` will not be initialized until the first `Start()` cycle.
1010

1111
```cs
1212
[RuntimeInitializeOnLoadMethod]
@@ -18,7 +18,7 @@ internal static void Initialize()
1818

1919
## Static API
2020

21-
You can optionally disable the `AdvancedSceneManager` static class entirely if you wish to manually handle the `CoreSceneManager` lifecycle and/or extend any functionality.
21+
You can optionally disable the `MySceneManager` static class entirely if you wish to manually handle the `CoreSceneManager` lifecycle and/or extend any functionality.
2222
To do it, simply define the scripting symbol `DISABLE_STATIC_SCENE_MANAGER` on your scripting compilation settings.
2323

2424
## Extension Methods

docs/advanced-usage/scene-transitions.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ The `WaitForScriptedStart` and `WaitForScriptedEnd` fields in the `LoadingBehavi
4040
Effectively, this **delays** the start or the end of the **Scene Transition** operation to display a visual feedback such as a fade in/out.
4141

4242
When the `TransitionAsync` method is _awaited_, it will wait until the entire transition has been completed **and** the loading scene has been unloaded.
43-
If you wish to execute an action exactly when the target scene is loaded, you can either rely on that scene's `Awake()` calls or subscribe to the `SceneLoaded` event from the `CoreSceneManager` or `AdvancedSceneManager`.
43+
If you wish to execute an action exactly when the target scene is loaded, you can either rely on that scene's `Awake()` calls or subscribe to the `SceneLoaded` event from the `CoreSceneManager` or `MySceneManager`.

docs/getting-started/basic-usage.md

+22-22
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,46 @@
11
---
22
sidebar_position: 3
3-
description: Basic introduction to the usage of the Advanced Scene Manager.
3+
description: Basic introduction to the usage of My Scene Manager.
44
---
55

66
# Basic Usage
77

88
Loading scenes with this package implies that the scenes **will always be loaded as Additive**. That is simply because there is no advantage in loading scenes in the **Single** load scene mode when you expect to work with multiple scenes.
99

10-
You will be using the `AdvancedSceneManager` static class to perform the scene operations.
10+
You will be using the `MySceneManager` static class to perform the scene operations.
1111

1212
## Loading scenes
1313

1414
You can load scenes by using any of these references:
1515

1616
```cs
1717
// Name
18-
AdvancedSceneManager.LoadAsync("my-scene");
18+
MySceneManager.LoadAsync("my-scene");
1919
// Path (relative to the Assets folder)
20-
AdvancedSceneManager.LoadAsync("Scenes/my-scene");
20+
MySceneManager.LoadAsync("Scenes/my-scene");
2121
// Build Index
22-
AdvancedSceneManager.LoadAsync(1);
22+
MySceneManager.LoadAsync(1);
2323
// Address
24-
AdvancedSceneManager.LoadAddressableAsync("my-scene-address");
24+
MySceneManager.LoadAddressableAsync("my-scene-address");
2525
// Asset Reference
26-
AdvancedSceneManager.LoadAddressableAsync(mySceneAssetReference);
26+
MySceneManager.LoadAddressableAsync(mySceneAssetReference);
2727
```
2828

2929
Additionally, you can also pass an array of scenes (given the same type of reference):
3030

3131
```cs
3232
// Array of build indexes
33-
AdvancedSceneManager.LoadAsync(new int[] { 1, 2, 3});
33+
MySceneManager.LoadAsync(new int[] { 1, 2, 3});
3434
```
3535

3636
The loaded scene can be marked to be set as the active scene:
3737

3838
```cs
3939
// Loads a scene and sets it as the active scene
40-
AdvancedSceneManager.LoadAsync("my-scene", true);
40+
MySceneManager.LoadAsync("my-scene", true);
4141

4242
// Loads a list of scenes and set the scene at index 1 as the active scene
43-
AdvancedSceneManager.LoadAsync(new int[] { 1, 2, 3 }, 1);
43+
MySceneManager.LoadAsync(new int[] { 1, 2, 3 }, 1);
4444
```
4545

4646
You can get the progress of the loading operation by passing an `IProgress<float>` implementation, for example:
@@ -55,7 +55,7 @@ public class SimpleProgress : IProgress<float>
5555
// [...]
5656
5757
SimpleProgress progress = new SimpleProgress();
58-
AdvancedSceneManager.LoadAsync("my-scene", true, progress);
58+
MySceneManager.LoadAsync("my-scene", true, progress);
5959
```
6060

6161
## Unloading scenes
@@ -64,24 +64,24 @@ You can unload scenes by using any reference, including the scene itself.
6464

6565
```cs
6666
// Name
67-
AdvancedSceneManager.UnloadAsync("my-scene");
67+
MySceneManager.UnloadAsync("my-scene");
6868
// Path (relative to the Assets folder)
69-
AdvancedSceneManager.UnloadAsync("Scenes/my-scene");
69+
MySceneManager.UnloadAsync("Scenes/my-scene");
7070
// Build Index
71-
AdvancedSceneManager.UnloadAsync(1);
71+
MySceneManager.UnloadAsync(1);
7272
// Address
73-
AdvancedSceneManager.UnloadAddressableAsync("my-scene-address");
73+
MySceneManager.UnloadAddressableAsync("my-scene-address");
7474
// Asset Reference
75-
AdvancedSceneManager.UnloadAddressableAsync(mySceneAssetReference);
75+
MySceneManager.UnloadAddressableAsync(mySceneAssetReference);
7676
// Scene
77-
AdvancedSceneManager.UnloadAsync(AdvancedSceneManager.GetActiveScene());
77+
MySceneManager.UnloadAsync(MySceneManager.GetActiveScene());
7878
```
7979

8080
You can also unload multiple scenes:
8181

8282
```cs
8383
// Array of build indexes
84-
AdvancedSceneManager.UnloadAsync(new int[] { 1, 2, 3});
84+
MySceneManager.UnloadAsync(new int[] { 1, 2, 3});
8585
```
8686

8787
## Scene Transitions
@@ -91,10 +91,10 @@ You can use the same references from the `LoadAsync` method.
9191

9292
```cs
9393
// Name
94-
AdvancedSceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
94+
MySceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
9595

9696
// Array of AssetReference
97-
AdvancedSceneManager.TransitionAddressableAsync(new AssetReference[] { scene1, scene2, scene3 });
97+
MySceneManager.TransitionAddressableAsync(new AssetReference[] { scene1, scene2, scene3 });
9898
```
9999

100100
:::info
@@ -108,13 +108,13 @@ Check the [Loading Scene Examples](../samples/loading-scene-examples.md) Sample
108108
All scene operations are awaitable and can be used in coroutines as well. For example:
109109

110110
```cs
111-
await AdvancedSceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
111+
await MySceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
112112
// Do something after the transition
113113
```
114114

115115
For coroutines, you must convert the `Task` into a `WaitTask`, which is a helper struct to support coroutines:
116116

117117
```cs
118-
yield return AdvancedSceneManager.TransitionAsync("my-target-scene", "my-loading-scene").ToWaitTask();
118+
yield return MySceneManager.TransitionAsync("my-target-scene", "my-loading-scene").ToWaitTask();
119119
// Do something after the transition
120120
```

docs/getting-started/compatibility.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
sidebar_position: 2
3-
description: Packages compatible with the Advanced Scene Manager.
3+
description: Packages compatible with My Scene Manager.
44
---
55

66
# Compatibility

docs/getting-started/installation.mdx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
sidebar_position: 1
3-
description: How to install the Advanced Scene Manager package.
3+
description: How to install the My Scene Manager package.
44
---
55

66
import Tabs from '@theme/Tabs';
@@ -48,7 +48,7 @@ This will automatically update your **Scoped Registries** and install the packag
4848
* Click `Apply`.
4949
* Open `Window/Package Manager`.
5050
* In the left column, select `Open UPM` inside `My Registries`.
51-
* Select `Advanced Scene Manager` under `My GameDev Tools`.
51+
* Select `My Scene Manager` under `My GameDev Tools`.
5252
* Click `Install`.
5353
</TabItem>
5454
</Tabs>

docs/intro.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ sidebar_position: 1
44

55
# Introduction
66

7-
The **Advanced Scene Manager** is a powerful Unity package designed to simplify scene management, improve performance, and enhance flexibility in your projects. Whether you're dealing with scene transitions, [Unity Addressables](https://docs.unity3d.com/Manual/com.unity.addressables.html) scenes, or async/await workflows, this package provides an easy-to-use solution for handling all your scene management needs.
7+
**My Scene Manager** is a powerful Unity package designed to simplify scene management, improve performance, and enhance flexibility in your projects. Whether you're dealing with scene transitions, [Unity Addressables](https://docs.unity3d.com/Manual/com.unity.addressables.html) scenes, or async/await workflows, this package provides an easy-to-use solution for handling all your scene management needs.
88

99
## Key Features
1010

@@ -16,7 +16,7 @@ The **Advanced Scene Manager** is a powerful Unity package designed to simplify
1616

1717
## Instalation
1818

19-
To get started with the Advanced Scene Manager, you can install it in various ways:
19+
To get started with My Scene Manager, you can install it in various ways:
2020

2121
* [OpenUPM](./getting-started/installation.mdx#openupm)
2222
* [Install from Git](./getting-started/installation.mdx#git)
@@ -31,5 +31,5 @@ using MyGameDevTools.SceneLoading;
3131
// [...]
3232
3333
// Transition to a scene with a loading scene
34-
AdvancedSceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
34+
MySceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
3535
```

docs/samples/loading-scene-examples.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ This sample showcases different loading scenes and how to use **Scene Transition
1212
Import the sample through the **Package Manager**.
1313

1414
1. Open `Window/Package Manager`.
15-
2. Select `Advanced Scene Manager` from the `In Project` list.
15+
2. Select `My Scene Manager` from the `In Project` list.
1616
3. In the right panel, select the **Samples** tab.
1717
4. Click on the `Import` button on the `Loading Scene Examples` item.
1818

19-
The sample assets will be installed to `Samples/Advanced Scene Manager/<version>/Loading Scene Examples`.
19+
The sample assets will be installed to `Samples/My Scene Manager/<version>/Loading Scene Examples`.
2020

2121
## Scriptable Render Pipeline Compatibility
2222

@@ -29,7 +29,7 @@ After importing the sample, a dialog will appear asking to automatically add the
2929
This is required to be able to perform **Scene Transitions** with the sample scenes.
3030
If you ignore this prompt, you'll need to manually add the scenes to the **Build Settings** if you want to play the sample.
3131

32-
You can easily remove the scenes added to the **Build Settings** via the menu item at `Tools/Advanced Scene Manager/Remove 'Loading Scene Examples' from Build Settings`.
32+
You can easily remove the scenes added to the **Build Settings** via the menu item at `Tools/My Scene Manager/Remove 'Loading Scene Examples' from Build Settings`.
3333

3434
## Playing the Sample
3535

@@ -69,12 +69,12 @@ public class SceneTransitionTrigger : MonoBehaviour
6969

7070
public void TransitionWithLoading(string loadingScene)
7171
{
72-
AdvancedSceneManager.TransitionAsync(_targetScene, loadingScene);
72+
MySceneManager.TransitionAsync(_targetScene, loadingScene);
7373
}
7474

7575
public void Transition()
7676
{
77-
AdvancedSceneManager.TransitionAsync(_targetScene);
77+
MySceneManager.TransitionAsync(_targetScene);
7878
}
7979
}
8080
```

docs/upgrades/from-3-to-4.md

+12-11
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ description: Upgrade from version 3.x to 4.x
77
# Upgrading from 3.x to 4.x
88

99
The `4.x` update consolidates the changes in the `3.x` and simplifies a few more steps of the usage experience.
10-
It completely removes the `ISceneLoader` implementations and adds a static `AdvancedSceneManager` class so you don't have to manually control its lifecycle.
10+
It completely removes the `ISceneLoader` implementations and adds a static `MySceneManager` class so you don't have to manually control its lifecycle.
1111

1212
## Key Changes
1313

14-
* Changed the `AdvancedSceneManager` to be a static class that auto manages its lifecycle. ([#49](https://github.com/mygamedevtools/scene-loader/issues/49))
15-
* Converted the former `AdvancedSceneManager` to a new class `CoreSceneManager`, used internally by the new static `AdvancedSceneManager`. ([#49](https://github.com/mygamedevtools/scene-loader/issues/49))
14+
* Renamed the package to `MySceneManager` from `AdvancedSceneManager` due to collisions with an existing Unity Asset Store product called Advanced Scene Manager.
15+
* Added the static class `MySceneManager` that auto manages a scene manager lifecycle. ([#49](https://github.com/mygamedevtools/scene-loader/issues/49))
16+
* Converted the former `AdvancedSceneManager` to a new class `CoreSceneManager`, used internally by the new static `MySceneManager`. ([#49](https://github.com/mygamedevtools/scene-loader/issues/49))
1617
* Added extension methods to avoid having to create `ILoadSceneInfo` instances manually. ([#49](https://github.com/mygamedevtools/scene-loader/issues/49))
1718
* Removed the `ISceneLoader` interface and all its implementations: `SceneLoaderAsync`, `SceneLoaderCoroutine` and `SceneLoaderUniTask`. ([#39](https://github.com/mygamedevtools/scene-loader/issues/39))
1819
* Moved the `Transition` logic to the `ISceneManager` interface directly.
@@ -24,7 +25,7 @@ It completely removes the `ISceneLoader` implementations and adds a static `Adva
2425

2526
## Code Updates
2627

27-
With the static `AdvancedSceneManager` available, you no longer need to manage an `ISceneManager` lifecycle.
28+
With the static `MySceneManager` available, you no longer need to manage an `ISceneManager` lifecycle.
2829
Also, there's no longer need to manually create `ILoadSceneInfo` instances due to the addition of extension methods.
2930
Consider this `3.x` code:
3031

@@ -38,7 +39,7 @@ loader.TransitionToSceneAsync(new LoadSceneInfo("my-target-scene"), new LoadScen
3839
It can be converted to this `4.x` code:
3940

4041
```cs
41-
AdvancedSceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
42+
MySceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
4243
```
4344

4445
## No more `ISceneLoader`
@@ -111,9 +112,9 @@ You can retrieve the scenes by calling `SceneResult.GetScenes()`.
111112
## Advanced Scene Manager Changes
112113

113114
The former `AdvancedSceneManager` was an implementation of the `ISceneManager` class.
114-
This implementation has been renamed to `CoreSceneManager` and the `AdvancedSceneManager` name has been converted to a static class that internally manages an instance of a `CoreSceneManager`.
115+
This implementation has been renamed to `CoreSceneManager` and the `MySceneManager` is a new static class that internally manages an instance of a `CoreSceneManager`.
115116

116-
Operationally, the static `AdvancedSceneManager` is a static wrapper to a `CoreSceneManager` instance.
117+
Operationally, the static `MySceneManager` is a static wrapper to a `CoreSceneManager` instance.
117118

118119
The **Scene Transition** implementation from the former `SceneLoaderAsync` has been migrated to the `CoreSceneManager` class, along with a few improvements.
119120

@@ -122,10 +123,10 @@ The **Scene Transition** implementation from the former `SceneLoaderAsync` has b
122123
With extension methods, you no longer need to manually create `ILoadSceneInfo` instances:
123124

124125
```cs
125-
AdvancedSceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
126+
MySceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
126127
```
127128

128-
This works for both the static `AdvancedSceneManager` and any `ISceneManager` implementation.
129+
This works for both the static `MySceneManager` and any `ISceneManager` implementation.
129130
The extension methods use the arguments to build a `SceneParameter` internally, such as:
130131

131132
```cs
@@ -149,13 +150,13 @@ With the removal of the `SceneLoaderCoroutine` and the conversion of the return
149150
You just have to convert the task to a `WaitTask`, that can be yielded:
150151

151152
```cs
152-
yield return AdvancedSceneManager.TransitionAsync("my-target-scene", "my-loading-scene").ToWaitTask();
153+
yield return MySceneManager.TransitionAsync("my-target-scene", "my-loading-scene").ToWaitTask();
153154
```
154155

155156
You can also use the `WaitTask` to get the loaded scene:
156157

157158
```cs
158-
WaitTask<SceneResult> waitTask = AdvancedSceneManager.LoadAsync("my-target-scene");
159+
WaitTask<SceneResult> waitTask = MySceneManager.LoadAsync("my-target-scene");
159160
yield return waitTask;
160161

161162
Scene loadedScene = waitTask.Task.Result.GetScene();

0 commit comments

Comments
 (0)