As part of our Cloud offering, we have expanded our authentication service with support for the following platforms:
Additionally, we provide authentication via
And last but not least, you can authenticate as a guest, where an account is automatically generated for you. With this feature you can block connections and only allow those that provide valid authentication credentials coming from said platforms. This is a nice additional layer of security if you’re developing your game on them.
To learn more about everything-authentication, head to our Player Accounts documentation.
When we designed the Hub, we thought about it as the central space where you can go for everything realted to coherence: learning, troubleshooting, and more. That’s an ambitious goal, so we’re tackling it in iterations. This time around, we wanted to reduce the inherent complexity of trying to solve many problems at once. Our recent experience of working with prominent game studios gave us a good foundation and a better understanding of what is actually expected. This leads us to the below:
Since we were updating the Hub, it made sense to update the Settings page at the same time. The principle is the same – simplicity, while sacrificing as little utility as possible. We’ve played with the organization of the settings, and the wording. And removed settings that are either deprecated or not relevant anymore.
You can now make your Networked Prefabs be visible via global queries. These CoherenceSyncs will be synced regardless of their visibility on live queries.
All you need is a CoherenceGlobalQuery component on your scene, and to toggle “Is Global” on your Networked Prefab. All the details, as usual, are found in the CoherenceGlobalQuery article in our docs.
There’s situations when you want to synchronize data that’s inside of a script where there’s Scripting Symbols conditioning the compilation. For such cases, we now offer [BakeConditional(“DEFINE”)], which you can use to tell coherence that it should only bake a given class when the symbol is present.
Find all the details on our Conditional compilation page.
Originally, coherence only supported Reflection Mode, with no concept of baking. We used C# reflection, a generic schema, and a handful of tricks to get away without code generation.
With v.1.6 we have embraced baking. It isn't flawless but it's proven to just work. We believe it offers the best tradeoff of flexibility, convenience, and power.
One of the biggest challenges is how we make baking (iterating) faster and more convenient. We’re not giving up on the idea of avoiding recompilations, or changes on the protocol when not strictly necessary. We'll have more to share about this soon. You can also engage with us in our Discord channel, sharing your current experience with iteration times!
Multi-Room Simulators was our approach to pushing a simulator to simultaneously care for more than one game session. To do this, we had to bend the rules. We needed to be able to have a variable number of isolated game sessions within the same build. This is doable, it just requires a lot of effort on the development side to avoid breaking that enforced isolation. To solve this problem, Multi-Room Simulators were based on a core abstraction: CoherenceSceneLoader and CoherenceScene. Abstraction which we’re pretty much supporting, and will continue to do so. You can read more about it here.
On top of that, we need a way to scale as needed. No matter how hard we try to push a simulator build, we will need a system that’s able to understand when the simulator is under such pressure that it needs help to distribute the load. We’re not ready yet to provide a production-ready mechanism that brings true scalability within this context. So we’ve decided it’s best to go back to the drawing board on this one.
1.6.0 will be the last release (for the time being) that still offers support for games that use Multi-Room Simulators.
We’ve gone through a handful of highlights we’ve introduced for release 1.6.0. But it doesn’t end there. For a full list of changes, as usual, check the Release Notes.
Written By