DLC Without AssetBundles?

Is it possible to incorporate DLC (more along the lines of Expansion Packs actually) into a game WITHOUT using AssetBundles?

If required, I am willing to simply hide the objects if a file specific file is not in place or something like that, I just wanted to gather a bit of information.

I have seen some Unity games in the past use DLC seemingly without AssetBundles, but I just wanted to get some information on if it was possible to “build” a system for doing it myself.

Code, yes, easily. .Net/mono allows for easily loading in dll’s.

Assets themselves, like models/animations/scenes/etc… that’s a little tough. TECHNICALLY you could do it yourself… but why? All of these assets need to be processed down the unity pipeline to make them usable in game. You COULD process them yourself, but that’s a whole lot of work that is already done for you when you create an AssetBundle.

@lordofduct when I say load an asset, I would steer clear of trying to import and place models and things anyway, but I am talking more about hiding and showing objects, but not just when a file with a specific name is in the right place because ANYONE could fake that very easily, but something a little more foolproof, but very quick to download.

Hiding and showing objects?

What, you mean you want an ‘expansion pack’ that basically runs some code that hides and shows objects that exist in the original game?

First) I wouldn’t really call that an ‘expansion’ pack. Expansion packs ADD content. You’re talking about reconfiguring existing content.

Second) Importing a C# dll and running code in it would do this. No need for AssetBundle.

Sorry, when I meant show and hide objects I meant things like triggers to access the added content, not just unhide an expension that was available in the actual game.

What? I am so confused by what you’re asking. It appears your talking about the triggers that trigger where the expansion is. That honestly has little to do with the actual distribution of expansion packs. The distribution requires a file you download and include with the original game…

AssetBundles do this.

If your AssetBundle doesn’t carry any models/animations/audio/etc? What’s in it?

Ok, then, I think I have managed to confuse myself, I had been up for more than 24 hours when I did the last post, sorry.
If I am using AssetBundles, is there any way to “list” the ones available and enable/disable them as you can in Skyrim.

Would the use of AssetBundles also make it mod-able? As people can add their own?

First, AssetBundles can be loaded from disk:

And using System.IO you can list files in a folder.

So, I’d create a folder where expansion packs go. When they download an expansion pack, you put them in the folder. Now we can list what expansion packs are available.

Then you could also have a config file in this folder that flags what asset bundles exist are actually used or not. This way the user can say “sure, I downloaded the military zone pack, but I don’t want to use it this game… so turn it off”. I’d default it that if the bundle doesn’t exist in the config, but does on disk, then it’s ‘ON’… this way if at download it fails to write the new download to the config file, the user isn’t left wondering why they can’t access their newly purchased product.

Then when you load the game, you load the list of packs available and compare them to the config file for which are on, and you load those assets.

If you wanted extra ‘always online’ security. You could also communicate with a server for which of these bundles are actually valid. Where they have to login to a central server that stores the purchasing receipts of each expansion pack.

I have read about AssetBundles before, but I found them to be very confusing, and after watching several videos and reading all the documentation on them, I still found myself a little confused by them, how they are created, used, implemented and managed. The documentation is not very good at explaining or giving examples in practical situations, and they don’t seem hugely secure either.

what sort of security are you looking for?

I mean yeah, it’s just all your assets wrapped up.

Most games though can have their assets just dumped… like, it’s just models and animations and what not. You secure a game through operation…