This article explains the steps to go from an existing customizable object to a playing character that can be modified with an interface automatically generated from the object data.
It covers the following chapters:
- Create States: to organize the ui, and so the modification updates are as fast as possible and have the minimum impact.
- Set UI data in the Customizable Objects: so the user sees icons and text defined in the current Customizable Object, adapted to the changes of the evolving Customizable Object without manually modifying the UI for each new object artists add.
- Access the UI data of a Customizable Object from a Widget: so the widget is created with the relevant content at runtime.
This chapter covers the creation of Customizable Object States. As an example, sets up of one playing state to use while playing and one character edition state for clothing from on a Group Object Node.
- A Customizable Object with at least one Group Object Node in the hierarchy
- The first step is to create the states at the Customizable Object where they are most relevant. Add two states for the Base Object, at the node properties States array.
In this example, the Customizable Object has been renamed "Data Driven UI Character"
- The second step is to create an in-game state to use in situations where there's no plan on changing properties fast. Name the first state created, and make sure the options "Don't compress Runtime Textures" and "Build Only First LOD" are off.
In this example, the State has been named "inGame"
- The third step is to create a state to use in a character edition lobby, where many parameter changes are expected. Name the second state created, and make sure the options "Don't compress Runtime Textures" and "Build Only First LOD" are on.
In this example, the State has been named "Clothing"
- To finish the edition state, add the parameters are important when the state is chosen. To do so, add as many properties as needed at the Runtime Parameters array, and name each one of them exactly as the property that must be included in the state. For this guide it's three parameters, as the Group Object Node of group type Toggle defines one toggle parameter for each of its objects.
In this example, we need three parameters, named "Boots", "Trousers" and "Shirt", the Object Name property of each object included in the group. We need the names of all the objects in the group only because this group is of type Toggle, and this type of group defines an independent parameter for each of its objects, but in the example we want to use all of them under the same state.
This is now a Customizable Object with correctly set states, ready to use under two different conditions by enabling one of its states. It is ready for a game, but contains no interface information to automatically generate one.