Advice - Updating free and paid versions of your game

Hello fellow Unity people,

I have a question as I am curious how other teams tackled this problem. When building a game and want to publish a free and paid version of the game, is there an addon or something available that will allow you to have 1 project and then choose what is included in the 2 different outputs. Or is this something you have to have two projects and recode changes in each?

Thank you,

Bayne

Sometimes apps get rejected if they are a lite/demo version of the full version.

Better to make them the same software but with a mechanism to unlock full version

I guess your best bet would be to have different scenes so you got mainmenitrial and mainmenufull. Then change the build order, make an editor script that does it would be trivial

IME, the more you can combine the shared parts of different versions (ie. the less duplication), the happier you’ll be when it comes time to update things. Of course, you have to balance this with not making things too unwieldy in the process.

Like, I probably wouldn’t even split it at the main menu level. I’d have a flag inside the game, and have parts of the main menu active/inactive based on that. Then I’d have a startup scene that sets the configuration before proceeding on to the main menu (which you’d probably want for responsiveness anyway), and have different versions of that.

im setting a preloader scene with an object that has, DontDestroyOnLoad(), anything i want to set globally for my game goes here, including a “public bool isFullVersion”. then i just use my code to determine what platform im on, if this is full or demo version, whether or not to use admob and google services, ect… i have found that this works really well to have a single project that can build android demos and full versions as well as webplayers without having to change any code, before each build i load up my preloader scene and check/uncheck the appropriate boxes for my current build

Thank you all for your replies. It has helped.