ShadowBox: Interactivity Toolkit Update – v1.2.0

ShadowBox: Interactivity Toolkit has been updated to version 1.2.0! This brings a variety of changes to the underlying code in the toolkit, in preparation to decouple ShadowBox into a separate framework.

The main changes include:

  • NEW! Module Configuration System – ShadowBox is evolving into a framework, and as such, will have a variety of planned (and unplanned) modules and integrations in the future. The new module system allows you to enable or disable specific modules as necessary for your project or scene(s).
  • Namespace Change – The primary namespace for ShadowBox has changed from Shadowed to ShadowBox. This better aligns with the directory structure and package name.
  • Directory Change – The primary directory for the Interactivity Toolkit module has changed.
  • NEW! Online Documentation – Online documentation for ShadowBox and its’ assorted modules can be found here. The documentation included therein is a work in progress, and is subject to change.
  • BUG SQUASH – Dome Colliders now properly work!
  • NEW! Extra Fields – Additional trigger options have appeared in both Dome Collider and Box Trigger Areas.
  • Editor Window and Inspector Theming – Reworked all existing editors and inspectors for ShadowBox and assorted modules to be more uniform and readable regardless of Unity Editor theme.

You can find ShadowBox: Interactivity Toolkit by clicking here!

ShadowBox: Interactivity Toolkit

Does your environment have props that could use a little boost? Doors that don’t budge, windows that won’t open, levers that are more akin to sconces? Perhaps you’ve got a desk with glued on drawers? We’ve been hard at work the past two weeks building an easy to use, simple way to add interactions to your environment, and would like to present the first few glimpses of ShadowBox: Interactivity Toolkit. Keep in mind that this is a work in progress, and may not represent the final product.

Features:

Doors: Perfect for trapdoors, drawbridges, dwelling doors, chests, and much more!
Windows and Shutters: Open a window! Hey! Close that window, pal! You’re letting a draft in!
Drawers: What good is a filing cabinet if it can’t hold files? In, Out. In, Out.
Portcullis Doors: When one door closes, another opens, or so the saying goes.
Switches and Levers: There is an evil necromancer crying, because nobody has pulled her lever. Pull the lever, Kronk!
Buttons: We all love a good button! Press the button! Go on! That was easy.

Procedural Goodness

I will admit it. Procedural World’s Gaia has me spoiled, but it is very large, and I simply did not want it in this project.

So where does that leave me? Hand painting and placing each environment prop, tree, grass patch, and flower individually? Forget that! After some perusing through available utilities, I settled upon a little number by Staggart Creations aptly named Vegetation Spawner.

Vegetation Spawner procedurally plants trees and places billboards, mesh, and grass vegetation prefabs depending on a number of factors, least of which is the terrain layer weight underneath. This works beautifully, even with a large library of environmental props (so long as you remember to tune the spawn settings, otherwise you’ll end up waiting 46 hours to spawn trees!).

However, by default, it only handled vegetation — I also wanted that procedural placement goodness for my rocks, sticks, mushrooms, cactii, logs, and more… so after a long days’ work, I managed to extend the functionality to cover any prop thrown at the utility – leading to a beautiful, randomized placement of environment prefabs in all of the right places.

Here’s a screenshot!

Procedural desert environment goodness!

When one door closes…

…this is guaranteed to open it back up! Today, I’m going to offer a peek at one of the in house editor tools our artists will be using soon! Introducing the Shadowed Door.

In reality, a door on a hinge will swing along a set radius to open or close. In a game, the door has to be told how to swing, otherwise it will instantaneously move from one position to another, defying all known laws of physics. This can be handled with a simple linearly interpolated movement, broken up over a set duration.

However, I think doors are a little more complex than simply swinging to and fro. They can lock, they can change direction before fully being opened or closed, and the hinges can exist pretty much anywhere.

As I began further fleshing out the functionality of a basic hinged door, I was soon overwhelmed by the inspector for the door component. So I set out to fix this cluster of variables, and am quite happy with the results. Take a look!