···1122# Creating the Danmaku Manager singleton
33> [!IMPORTANT]
44-> It is actually discouraged to call `DontDestoryOnLoad` on the Danmaku Manager
44+> It is discouraged to call `DontDestoryOnLoad` on the Danmaku Manager
55> component to allow it to survive a scene load. If you must keep it across scene
66> loads, remember to release the data it owns periodically.
7788-The main required component need for everything in DanmakU to function in the
99-**Danmaku Manager** component.
88+The power of **DanmakU** comes from the scripting together @DanmakU.Fireables
99+and @DanmakU.Modifiers to create complex patterns. Included in the package is
1010+a simple emitter that is intended to be a jumping off point for more complex
1111+behaviors. This guide walks you through setting up a scene with an emitter
1212+continually firing.
1313+1414+## Your First Bullet
1515+1. Make sure you have completed the installation instructions.
1616+1717+1. Select `File -> New Scene` to create a new scene
1818+1919+1. Create an empty game object in the scene. Click `Add Component` and add a
2020+@Danmaku.DanmakuManager component to the scene.
2121+2222+ Name it `Danmaku Manager` (the name isn't actually important, but it helps
2323+ disambiguate it in the scene.)
2424+2525+ The @Danmaku.DanmakuManager manages the danmaku (bullets) in your scene, and
2626+ it controls the bounds for danmaku..
2727+2828+ Keep everything default for now. Later, you can use the Center and Extents
2929+ properties to change the size of the area where bullets will automatically
3030+ despawn.
3131+3232+ Your scene must have a DanmakuManager object. **DanmakU will fail to run
3333+ without one.**
3434+3535+1. Add another empty game object to the scene. This time, add a
3636+@Danmaku.DanmakuPrefab component to the object.
3737+3838+ Name it `Danmaku Prefab`. This object will be the template we use for our bullets.
3939+4040+ @Danmaku.DanmakuPrefab defines a bullet type for your game. It contains a
4141+ reference to the shader, sprite (or mesh), and collision information for
4242+ that bullet type.
4343+4444+1. Included with the project is a sprite called `Big1`. Drag it onto the
4545+`Rendering->Sprite` field of `Danmaku Prefab`
4646+4747+1. In the `Danmaku\Runtime\Shaders` folder there is a file called
4848+`Default Sprite Danmaku`. Drag this to the `Rendering->Shader` property for the
4949+`Danmaku Prefab` game object. Leave all the other fields their default values.
5050+5151+1. Add a third empty game object. Add a @Danmaku.DanmakuEmitter component to it.
5252+5353+ Name it `Danmaku Emitter`. Make sure it is positioned at (0, 0, 0), as bullets
5454+ will be emitted from it.
5555+5656+ The @Danmaku.DanmakuEmitter class is a simple bullet emitter meant to be a
5757+ jumping off point for your own emitter types. It shows how you can compose
5858+ many behaviors together to create different patterns.
5959+6060+1. Drag `Danmaku Prefab` on the `Danmaku Type` field of `Danmaku Emitter`.
6161+6262+1. Expand `Arc`, if it is not already, and change `Arc->Count` to 1.
6363+6464+1. Press play. You should see a steady stream of bullets being fired to the right.
6565+6666+1. Stop the game and change `Fire Rate` to 1, `Arc->Count` to 3,
6767+`Arc-Length` to 30, `Line->Count` to 3, and `Line->Delta Speed` to 2.
6868+6969+1. Continue playing with the properties of `Danmaku Emitter`, including the
7070+position and rotation of the gameobject.
7171+7272+> [!NOTE]
7373+> You may need to adjust your Main Camera settings, and the import settings for the Big1 image to get the bullets to be the correct size.