As of v0.5, the genereated Channel Data Message (named DefaultChannelData in the proto file) contains ALL the replication states that used the project. A typical DefaultChannelData mesage looks like this:
In a project that uses the Global and Spatial channel, the Global channel data should only contains the GameStateBase and derived state; the Spatial channel data should only contains the Character, PlayerController, PlayerState, and other spatial-related states:
To better support singleton state in the non-global channel data. For example, if each Subworld channel has a ChatState, without this feature, all the ChatState in the Subworld channels has to be put in a map in the DefaultChannelData, which makes the data access and merge troublesome;
To make the channel data more friendly to read and debug;
Less fields in the channel data means more efficient in terms of marshal and merge.
How to use this feature
An In-editor UI should be provided to specified which state should be generated for which channel type's data message(s).
What
As of v0.5, the genereated Channel Data Message (named DefaultChannelData in the proto file) contains ALL the replication states that used the project. A typical DefaultChannelData mesage looks like this:
In a project that uses the Global and Spatial channel, the Global channel data should only contains the GameStateBase and derived state; the Spatial channel data should only contains the Character, PlayerController, PlayerState, and other spatial-related states:
Why do we need this feature
How to use this feature
An In-editor UI should be provided to specified which state should be generated for which channel type's data message(s).