Runtime Unity Editor (RUE) - UGEcko/Chroodle GitHub Wiki

Runtime Unity Editor

Runtime Unity Editor (Commonly referred to as RUE) is essentially Unity Explorer, but ported over to be supported by BSIPA.

RUE can be used to interact with objects in the current scene, like a hierarchy.

Here are some of the features of RUE that will be covered:

  • Modifying GameObject transform
  • Destroying / Changing activity of GameObjects
  • Inspecting / Modifying components of GameObjects

RUE is made up of modules. For this page, we will only be covering the Object Browser, and Inspector modules . Aswell as any small/extra features.

PSA: This repo was made specifically for noodle and chroma, so not ALL features that RUE offers will be covered, just in-depth explainations of the most helpful features.

Installation

The installation process of RUE is no different of a plugin installation for BeatSaber.

Simply grab the RUE zip file from the BSMG Discord pc-mod-dev channel. Open the zip, and drag both of the folders (Libs and Plugins) into your BeatSaber root folder. This will add the contents of both folders into your Libs and Plugins folder.

And that's it! Run up BeatSaber, and move on to the next section below to get started with navigation of RUE!

Navigation

For starters, to open RUE, hit the G key when loaded into a scene. This will open the RUE UI. It may or may not have some tabs open.

Our main focus currently is the UI at the bottom. This shows all of our modules that RUE offers. More to the right you can see some additional toggles and tools. Right now, we will cover Time, then cover the modules.

Time

Time is a neat feature that RUE offers that lets you manipulate the time of the unity scene. Play around with the number! You may notice higher values increase the speed of animations, and lower values do the opposite making them slower.

You may also notice two buttons. One being a > symbol, and another being a pause symbol. The > button will reset the time to default (being 1.00), and the pause button will simply change the time to 0 (Pausing time). However, you cant click the pause button again, instead, hit the > button to reset Time back to 1.

One thing to note is that Time will NOT change the speed of songs/maps.

Modules

As mentioned before, there are many modules that are included with RUE: Clipboard, Inspector, Object Browser, Profile, REPL Console, and Viewer. However we will only be covering the Object Browser and the Inspector.

Object Browser

Starting with the Object Browser. (If you are familiar with unity, the Object Browser is basically a Runtime Hierarchy).

Not only does the Object Browser list all objects in the Scene, you also have the ability to move objects transform (Position/LocalPosition,Scale, rotation/LocalRotation). You are also able to view the active components on selected GameObjects. (Later we will cover the Inspector, which lets you Inspect and Modify the properties of these components).

The Anatomy of the Object Browser:

ObjectBrowser_img

Lets start with the Yellow Section. This houses the search options. You have your textbox, and some search specifics like Names, Components, Properties, and Statics. For most of the time, you will be using Names (Default). However, if you want to find a specific component in all of the objects; click on the Components button to filter all GameObjects that only have the specified Component.

The Clear button clears the textbox and returns the Object Browser to its default state. The Dump Obj button is irrelevant.

Moving on to the Green Section. This is the list that shows all of the GameObjects in the scene. You can select GameObjects by simply clicking on them. Some GameObjects that have a grey box next to them means they are parenting another GameObject; click the grey box to view the children inside of the parent GameObject. If a GameObject is greyed out, it means its not currently active. And selected objects will be blue.

There are some functions when you right click on the object, however the relevent ones are also found in the next section so it will just be covered there.

Next up is the Red Section. This represents the selected GameObjects transform properties. The objects transform properties includes its activity status, and its Position, LocalPosition, LossyScale, LocalScale, EulerAngles, and LocalEulerAngles. You may also notice an Inspect Button, aswell as an X button. The X button destroys the GameObject, while the Inspect button sends the object into the Inspector tab, which will be covered later.

Admittedly the rotation sliders are rather finicky. However the rest should be fine.

Lastly, the final boss is the Cyan Section. This section simply lists all components of the selected GameObject. Click on one of the components to send it to the Inspector to inspect and/or modify. If the GameObject has an absurd amount of components, RUE conveniently provides a search bar that functions the same way as the main search bar.

Inspector

The inspector lets you inspect and modify properties of specific aspects of an OBJECT. This means both GameObjects and Components. For example, you can modify the BloomFogEnvironment properties, like attenuation.

The Anatomy of the Inspector:

Inspector_img

Starting off with the Red Section. This section holds all of the filters of everything that is listed in the view. You may have noticed there is another textbox, aswell as some checkboxes. These checkboxes are pretty irrelevant to any chroma/noodle. However, the Only Declared checkbox may help you filter out likely useless properties to find more important properties.

The only other filter checkmark that may have significance is Fields, an example of a field is shown below:

Moving on to the Green Section. The lighter area is your tabs, which represent different GameObjects/components, or you can chose to send members to another tab. This is good for organization if you are managing more than one object. The darker area is your active member list. Think of the tabs being the parent object, and these being the children.

If a tab is a GameObject and you are modifying a component, that component will be in this list. As you go deeper into the member, it will provide a "path" with buttons. Currently selected tabs/members are shaded blue.

Lastly there is the Orange Section. This is where all the magic happens. This view lets you inspect and modify any properties or parameters to an object. Each property is split into 3 things; Value/Return type, Member name, and Value.

The value/return type is the type of the property. The Member name is the name of the property. And the Value is the value of the property. If you are familiar with C# then this may provide deeper understanding:

image

Is equivalent to:

bool active = true;

Lastly, member names that may appear as buttons are fields. Click these to inspect their properties.

One example of a useful field is _bloomFog: image

(The _bloomFog field lets you modify the fog properties in-game).

That about covers the installation and basics for RUE! Please reach out if you have any additions or recommendations for this page or any others. Thank you!