How do you make a moddable Unity game?
Or how easy is it to make a moddable game with Unity and what are the best examples of moddable Unity games?
How do you make a moddable Unity game?
Or how easy is it to make a moddable game with Unity and what are the best examples of moddable Unity games?
You’d have to expose some kind of files or settings of some sort. You could do pretty much anything if you include an in-game editor, you could even provide a scripting editor, and run scripts… you could even implement your own scripting language. But if you want to go outside the app and have it depend on files that are stored in some known location, then you could allow external or third-party tools or have some external way to edit, like for graphics editors, text editing, etc. Then the app would pull in the files. Or you could feed them via a server.
I guess internally you’d have to be able to support loading of new textures or configuration files or whatever and read them and set variables etc. Depends how far you want to take it.
It’s technically possibly to use unity to make an app which lets people build games of any kind… but if you get too close to exposing all of Unity’s functionalities (practically a replacement for the Unity editor) then Unity is not going to like that.
What I did for my game (not an ad, but here’s to see it http://recklessdriver.arrowblock.com/) was decode filetypes and create loaders for textures (TGA/PNG) and models (Obj, and had someone else make a new file type for the game too), making it easy to load stuff from a path of my choice. That’s the way to go.
make things heavily data driven, implement a scripting api for your game. You could likely use iron python and selectively expose API to it. Than implement your own texture and obj importers, and have it read the scripts and assets from a path using the .net IO commands.
Its all a question of how modable you want it to be.
Would be nice, if unity allowed you to build basic apps that could use the UnityEditor namespace, this way you could build a tool for creating asset Bundles compatible with your game.
One of those things I seriously hope Unity improve on in the future…
Any unity made game that have a various levels of steam workshop support seem to have some implementation of modding supported… gone are the days decent map editor/sdk release for a game though. Unity has poor level of built in tools for mapping artist made content. And its packaging of assets textures etc is pretty anti modding, aswel as its api’s from streaming in textures/models is not well supported…
Think the closet to modding of a Unity game where community have gone to extra lengths to make it happen is 7dtd. Where the developers at least made alot of the settings the game uses are all stored in easily accessible xml files from items/weapons/ai/ etc inc the voxel terrain settings) https://7daystodie.com/forums/forumdisplay.php?81-Game-Modification … its also the only game I know where tools both for asset bundles and assembly csharp got developed specifically for… that got me into making server mods for the game… before realizing I was wasting my time and would rather just work on my own game instead of making server mods.
And just simple things like streaming assets and allowing textures/models to be easily accessible for modders requires the developer to goto extra lengths to make it possible … Even Unreal is a better editor/engine for allowing a game developer to make a game with it and be able to give players the tools for modding and making levels at least in that aspect… the fact it doesn’t use c# actually really screws it and its why UE made games still don’t have support from oxidemod…blueprints and c++… making a game with c# really does have its benefits if you’re not opposed to modders ![]()
oh yeah City skylines… that also has a good level of modding including its own runtime c# script compiler for modders to use to some extent… never really checked the game out but my search for doing the same for my own game lead me find out how they were doing it… once again a whole lot of effort on the developer side to make it happen.
I think oxidemod.org have done a lot making in unity multiplayer desktop games better … games like rust would would be total garbage without the server mods imo. its one of the reason ark survival multiplayer is abit rubbish no decent server mods, though its got better with more going through the blueprint spaghetti noodles and arks modding toolkit but still horrible.