I publish a character-centric effects pack in the Asset Store called Acts of Magic. This WIP thread is not about the AoM pack but about the underlying C# scripting framework we use to build the effects in AoM. We call this framework RMFX Core and we intend to utilize it to build more special effects content packs. This thread will illustrate the new things we are adding to the framework.
Intro to RMFX Core
This is supposed to be a “work in progress” thread, so I’ll get to what we’re working on shortly, but first, here’s a quick intro to RMFX Core and what it’s supposed to do. RMFX Core is a C# framework for creating high-level special effects in Unity. Unity comes with a strong suite of effects technologies, (particle-systems, dynamic lighting, sound effects, projectors, materials, shaders, etc.), but these are just building blocks.
Consider a burning torch… an easy effect, right? A torch is not just a particle-system on a stick. Except in the simplest of cases, a torch requires more than that. Sure, you’ll probably want at least one ParticleSystem for fire and maybe another for smoke, but a torch emits light, so you’ll likely want to add a Point Light, and you’ll probably want that light to flicker. Maybe you even want it to flicker in response to wind forces. And don’t forget audio. A crackling fire sound is essential. Suddenly this simple effect is looking a bit more complicated. And this is just the beginning. How does the torch become ignited and extinguished? Does it inflict damage when wielded like a weapon? Can it be used to set other things on fire?
The goal of RMFX Core is to help you realize high-level conceptual effects (like the burning torch) by coordinating the diverse effect technologies that Unity offers. In truth, you can do it all in script, but RMFX Core provides useful tools and methodologies for special effects crafting so you don’t have to build each effect from scratch, or implement your own system.
Special effects creation in Unity is a very wide topic and there is much space for RMFX Core to evolve and fill. The current available version of RMFX Core, the one included with AoM, is fairly narrow. Most of the base architecture is in place, but since AoM was our first Asset Store product, it contains just enough to realize the first collection of spell effects. As we develop new capabilities for RMFX Core, we’ll show them here in this WIP thread.
So, what are we currently developing for RMFX Core?
Selectrons
Recently, we’ve started adding selectron capability to RMFX Core. What is a selectron? For those of you who are unfamiliar with the term, selectron is a nickname we use for selection effects, those common effects used to indicate that a character, object, or unit is selected. Conceptually selectrons are part of the user interface, but they typically feature effect elements that are integrated with other 3D scene elements. Also, unlike other special effects in networked multiplayer scenarios, an active selectron is typically running on a single client.
This video shows a selected character as the demo cycles through 8 different selectron implementations.
Although not shown in the video, selectrons are also useful for free-targeting, where you want to interactively place an arbitrary target for certain kinds of spells and weapons. They might even be used for structure placement in an RTS game or in a level editor.
You can use just about any building-block effect in a selectron. Projector-based zodiac effects are really useful when you want to show that a character is selected, but there are many other possibilities. Selectrons in this series also make use of mesh effects, particle-system effects, sound effects and lighting. Selection effects may seem like simple effects, but you can go much further than just placing a decal at a character’s feet.
Like other effect categories in RMFX Core, selectrons can be highly adaptive to context. For example, effect parameters, such as scale, can be modified on a per-character basis, so that the same selectron fits a small halfling character differently than a large troll. Portions of a selectron can be unique to a specific character type, while other effects used by the selectron will be the same across all selectable character types. Characters can even be configured to react when targeted by a specific selectron. In the video, for one of the selectrons, the character automatically reacts to being selected and temporarily goes into an alternative idle animation.
In support of Selectrons, we’ve also added a basic one-at-a-time selection system to the demo that goes with RMFX Core. It works a lot like the selection system used in World of Warcraft and other RPGs. The image above shows the system working in combination with Acts of Magic. A fireball spell has been cast at the goblin character which the red arrow selectron indicates as the selected target.
Goblin Warrior by Mister Necturus



