Brent Allard
Brent Allard

Reputation: 396

Unity3D how to support 'modding' (allowing players to add their own game objects)?

I'd like users to be able to design their own GameObjects in unity, and somehow import them at runtime into a game I'm making.

That means maintaining the hierarchy (there may be child objects), and any scripts, components, models, and materials used.

After looking around, I haven't seen any cookie-cutter solutions to this problem, but I also have a hard time believing I'm the first person to attempt to write a moddable game with Unity's engine. Are there any best practices for adding prefabs/assets at runtime?

Upvotes: 4

Views: 2089

Answers (1)

Lyze
Lyze

Reputation: 395

AssetBundles are the way to go.

Basically you can create one or multiple assetbundle files from scenes or specific objects which pack everything into them.

Assetbundles contain everything you want, except new scripts. You can reference scripts but not create them per default.

If you want to bundle new scripts you need to create a ddl file and load that during runtime.

Upvotes: 1

Related Questions