Why do you need scriptableobjects in game development?

Why do you need scriptableobjects in game development?

Using ScriptableObjects makes it easier to manage changes and debugging. You can build in a level of flexible communication between the different systems in your game, so that it’s more manageable to change and adapt them throughout production, as well as reuse components. Avoid creating systems that are directly dependent on each other.

Why is it important to change game state at runtime?

It’s crucial that your team can make changes to the game at runtime. The more you can change your game at runtime, the more you can find balance and values, and, if you’re able to save your runtime state back out like Scriptable Objects do, you’re in a great place. This one is really a sub-pillar to the first two.

How to architect your game code for debugging?

What you will get from this page: Tips for how to keep your game code easy to change and debug by architecting it with Scriptable Objects. These tips come from Ryan Hipple, principal engineer at Schell Games, who has advanced experience using Scriptable Objects to architect games.

Who is the developer of scriptable objects in Unity?

These tips come from Ryan Hipple, principal engineer at Schell Games, who has advanced experience using Scriptable Objects to architect games. You can watch Ryan’s Unite talk on Scriptable Objects here; we also recommend you see Unity engineer Richard Fine’s session for a great introduction to Scriptable Objects.

How are entities and components used in GameplayKit?

Individual components are unaware of each other and of the entity they belong to, so you can easily add new entities and new behaviors without complex interdependencies in your code. The Entity-Component design pattern is an architecture that favors composition over inheritance.

What makes it easier to make changes to a game?

Focus each component on solving a single problem. This makes it easier to piece multiple components together to build something new. Make as much of your game as data-driven as possible. When you design your game systems to be like machines that process data as instructions, you can make changes to the game efficiently, even when it’s running.