Don't underestimate the attractive power of users being able to modify your game! Plus YOU decide which aspect they are allowed to modify!
Fully compatible with Unity 5.x, 2017.x and Unity 2018.x
(small issue discovered in version 2018.3. We're working on it!)
[moddable] is a professional tool to add mod support to your Unity game, with the lowest possible integration overhead and learning curve.
Resources:
Forum thread
Website
Demo
Tutorial
Modding Manual
API
Modding Tools (functionality that makes it possible to extend/modify your game) is among the most and consistently requested features by gamers for any game, any game type. Traditionally game makers have to include it (or at the very least considerations for it) in their game from day 1 and make their game and their mod tools depending on each other to be able to release powerful enough mod tools to the community at some later point. For Unity developers this kind of need for preparation and long painful process of integration is finally once and for all a thing of the past!
Make your game releasable AND desirable at any stage of development
Is your game in any stage other than completely done? ;) Chances are, that is the case. So get an edge with your community and release your game early with modding support. This way you will build your community up much quicker and have much more enthusiastic gamers even long before official launch! This makes [moddable] also the perfect marketing solution. Gamers will not even need knowledge of Unity to get started modding your game.
But no matter whether you start fresh from scratch or your game is already big/released for years, [moddable] is the most simple approach to integrate modding in your game in a day at absolute maximum - regardless of how big your game already is - guaranteed! The mod integration process is as easy as at all possible and completely abstracted from your game functionality, yet, you have unprecedented control over what aspect of the game the modder can access/modify and what not. (You are effectively only whitelisting methods of your game for access, for a very short demonstration, please just read on):
Not a programmer? Integration NOT a problem, guaranteed!
Let's imagine this is a method somewhere in your current or future Unity game:
public void Shoot(int firepower) {
....
}
Just add 1 word of code above the method, thus change to this:
[moddable]
public void Shoot(int firepower) {
....
}
This is ALL there is to it, this and not more! All other processing and mod bridging and execution logic is done by us!
This way you make the method accessible to modders AND it's cross-executing (thus when the mod function is called, the Unity function is executed, and the other way around as well!).
At the same time you don't need to write extensive documentation for modders of your game to let them know that particular method is available to them, because of function-stubs auto-generated as a mod template at game start (making it literally plug-and-play-and-forget).
Not only that but we also included a complete documentation website for you in the package which you are free to deliver with your game and/or on your homepage where the modding language is disected and explained in detail.
[moddable] makes it possible to change existing functionality of your game/simulation. The mods are text based. This means your modders don't need any external tool to create mods for your game. Just any text editor will do. [moddable] has it's own Mod Scripting Language, which syntax is very similar to JavaScript, and this way it's really easy to adapt for your customers.
Features:
- Text based mods, no extensive IDE needed at all for modding
- Integration is easy and abstracted from your native game functionality in an aspect-oriented approach. Just add "[moddable]" above your methods/member variables, ->Done!
- built-in console for debug output and even modding at runtime.
- JS-like modding language
- Automatic generation of template mod, exposing and explaining your game mod API, no extra action needed on your part
- Define the mod function execution time (before or after the native method in the game), even override native game functionality completely by mods, or disallow any aspect of it (even decide per exposed Unity method): thus total control and flexibility.
- Mod execution order (if needed)
- Passing Unity Parameter values to the mods
- Passing Unity method return values to the mods
- Many built-in and ready to use mod functions. Need more? Just write them in Unity, expose, and ready.
Planned Features:
- modders will be able to create custom GUIs using uGUI (acutally a lot is already included, but as of yet largely undocumented)
- Make mods Multiplayer-ready
- Mesh importing
- Prefab/component browser (imported meshes inclusive)
- Creating events/callbacks in mods
- More built-in API functions (bridge between mod and game)
(ATTENTION: New features could increase package price)
Platforms:
At this point, [moddable] mod loading from files is suitable for Standalone players, but it's planned for all platforms. "Live modding" through the built-in console works everywhere already.