The Runtime Manager UI
The Runtime Manager UI that appears in the Demo is isolated from both the core system and the demo.
This means that if you want, you can easily use it in your projects, providing an alternative UI for palette setup and also the capability to change palettes in builds, without having to use the Unity Editor.
A common scenario for this kind of usage is: you want to hire a free-lance artist to do some color tuning on your project, but maybe he has no experience with the Unity Editor, or you can't (or don't want to) share with him the project source code.
Adding the Runtime Manager UI to your scene allows the artist to tune colors with only a build of the project, at runtime, and to export the modified palette to a JSON file.
When he's done with the tuning, he will send you the JSON file and you will be able to import it in the Unity Editor substituting your "placeholder" palette.
Additionally, the Runtime Manager UI source code can guide you in building similar features in your projects. For example, a character customization screen might similarly let you change some colors (and you could save/load the modified palette to/from JSON data to store in your player savegame).
How to add the Runtime Manager UI to a scene?
It's super easy: just drag the
p_SCP_RuntimeManagerUI
prefab into your scene, under a Canvas
node.
By default, the Runtime Manager UI stays hidden.
To show it up, you will need to call the show()
method of its
SCP_RuntimeManagerUI
component from another script.
For example, on another node, you can add this script that shows the
Runtime Manager UI when pressing the M
key. Remember to initialize the
m_rRuntimeManagerUI
reference with the p_SCP_RuntimeManagerUI
node under
the Canvas
element.
using UnityEngine;
using BinaryCharm.SemanticColorPalette.RuntimeManagement;
public class MainBhv : MonoBehaviour
{
[SerializeField] private SCP_RuntimeManagerUI m_rRuntimeManagerUI;
void Update() {
if (Input.GetKeyDown(KeyCode.M)) m_rRuntimeManagerUI.Show();
}
}
What if I don't need it?
You should remove from your projects the folders:
Assets\BinaryCharm\SemanticColorPalette.RuntimeManagerUI
Assets\BinaryCharm\SemanticColorPalette.RuntimeManagerUI.ThirdParty
This way, you won't include in your build unnecessary elements.