Zone Controller: Enhancing Your Unity 5 Game
Events
Subscribe:  iCal  |  Google Calendar
Utrecht NL   29, Jun — 30, Jun
Brighton GB   10, Jul — 13, Jul
Brighton GB   10, Jul — 13, Jul
Cambridge GB   13, Jul — 17, Jul
San Diego US   19, Jul — 23, Jul
Latest comments
by game2018
5 hours ago

This is great websites, I visited some of them but I didn’t know that Google offers free games.And this is I play free flash games in this websites. zombs royale game

Awesome news!

by Shane Schultz
11 hours ago

This is an amazing walkthrough. Thank you so much for the step by step and what you used. I've been looking for something like this exactly, especially since I'm all self taught and am kinda stuck with a proper pipeline/workflow.

Zone Controller: Enhancing Your Unity 5 Game
22 February, 2016
Interview

Game developer and Unity 5 master Johnathan Rossitter talked about his most recent product for Unity Asset Store – Zone Controller. It’s an awesome tool that will help you to control your scenes much easier.

Zone Controller Introduction

Zone Controller is a collection of Unity scripts which allows game developers to control the dynamics of their scenes like never before.

The main concept is based on creation regions of your scene (Zones) which contain configuration information about how all of the other effects in the Scene should behave when the player is in that Zone. Zone Controller makes the entire process of creating these Zones extremely easy and does not require the user to write a single line of code.

Zone Controller: a Collection of Unity Scripts
The basic workflow for using Zone Controller is:
  1. Create a new Zone in your scene and define it’s shape.
  2. Drag the GameObjects which you want to control onto that Zone’s inspector.
  3. Browse all of the sub components that Zone Controller discovers within your GameObject and select the Fields/Properties/Methods you wish to use.
  4. Specify the values you want each of those properties to use when that Zone is triggered inside the Zone’s inspector.
  5. Click Play.

At runtime there is a Master Zone Controller in the scene which monitors all of the individual Zones you setup and when a Zone is triggered by a player entering it, the Master Controller will smoothly and gradually transition the values from the current state into the values you specified in the inspector.

Zone Controller: a Collection of Unity Scripts

Changing the Properties of the Object

I worked hard on getting this right from the beginning and had 4 semi public beta releases of the product before releasing it. Zone Controller has 3 main methods of discovering information about the GameObject/Components you choose.

  1. Using .NET Reflection and Generics, whereby Zone Controller will look at the fields, properties, enumerators, methods and complex subclasses within your component.
  2. Core Unity Types, where I have specified known and stable properties of things like Lights, Cameras, Shaders, Materials, Particle Systems and many others.
  3. Certified Plugins, where other asset developers have worked with the publishers API I made available and only published the properties they wish to expose to Zone Controller.
 Zone Controller: a Collection of Unity Scripts

Zone Controller will work with fields,properties and methods that are:

Public, Private, Static or Instance

Zone Controller presently supports the following types:

Int, Float, Bool, Color, Vector2, Vector3, Vector4, AudioClip, String, Enumerations, Texture and Texture2D

So for example, if you are using a Post Processing image effect like a Color Correction script, Zone Controller can allow you to change the properties of that component at runtime and give you different color grading settings for indoor or outdoor regions of your Scene.

Performance

Zone Controller is intended to be use as many times per scene as you like. Presently only 1 active Zone at a time is supported, so you can have as many of them as you like. I have an update in the works to support nested Zones, where the Master Controller will average settings of multiple layers of Zones within other Zones. I did extensive testing with Zone Controller in my development and found virtually not impact on the runtime, as you only modify the items you select. The Editor itself has a small bit of overhead when discovering new components as it has to do deep introspection on Game Objects you select.

Versions

So, Zone Controller comes in two versions, Free and Pro.

Obviously as an asset developer I would like to make enough money to fund my research time, so it’s advantageous of me to make the Pro version more compelling than the Free. That being said the Free version is not crippled in any way. It offers all of the core functionality of the Pro version but with limitations. Mainly the Free version is limited in:

  1. Only 5 properties can be selected per Zone (though you can have as many zones as you like)
  2. Advanced transition tools like Curve based transitions are disabled
  3. No source code
  4. No access to beta versions
  5. No reflection based component discovery

Limitless Usability

Without overestimating the usefulness of Zone Controller, I can say that since Zone Controller can allow you to control ANY other Unity component, the uses are limitless. There are applications for Zone Controller in almost any game and scenario. However most of my users have found the most benefit from Zone Controller in:

  • Controlling weather and environmental system like Tenkoku, Time of Day and Sky Master
  • Controlling AI engines and making enemy NPC characters more aggressive when you are certain Zones.
  • Controlling game time speed to create Slow Motion Zones
  • Controlling Gravity settings and making Low Gravity portions of a Map
  • Controlling Special effects like Amplify Color, ColorfulFX,
  • Controlling Curvature systems like Curved World and Horizon Bend
  • Controlling Particle Systems like shuriken
  • Controlling Unity Animation Controllers to animate certain parts of your level when a users enters a Zone
  • Controlling the tightness and speed of Character Controller Systems like Motion Controller 2 by ootii

In addition to controlling properties of components, Zone Controller also allows you to fire off events to scripts when you trigger zones, so Zone Controller has been used to track game events such as cut scenes when a user reaches a certain part of the map.

So yeah, the uses for Zone Controller are really only limited to the imagination of the game developer. And again, this is all done without writing a single line of code.

As it was mentioned earlier you can get two versions, Free and Pro. You can also check out documentation.

Johnathan Rossitter, Game Developer

Leave a Reply

Be the First to Comment!

avatar
wpDiscuz