This might be answered from a perspective of Unity dev, or generically for programming – both could be helpful.
I am engaged on a sport and am utilizing two packages, Extra Mountains’ TopDownEngine (for basic stuff, cameras, managers, &c.), and Willyxz’s PaperDoll System (to handle sprite layers and animations). The previous is a Unity Asset Retailer bundle, and dealt with by way of the bundle supervisor. The latter is an assetpackage bought from itch.io. I exploit GitHub for all supply management, for no matter variations which will make.
For the PaperDoll system, each to study it and to handle adjustments, I’ve mainly made a precise copy of all of the code recordsdata, moved them to my very own namespace, and even made implicit conversions for SOs between the 2 “variations” of the bundle. I will be including some extra code over time, and this appears pretty straight ahead to me. If the writer updates the bundle, I can simply replace it in place in my mission, see what’s new in his demo scenes, and evaluate the diff from the brand new model to the previous model utilizing git. This could enable me to simply convey ahead any adjustments into my very own copy of the system.
The TopDownEngine is way extra advanced. I will have to make adjustments to a couple enums and a handful of adjustments to the state machines. I do not wish to duplicate all of the code (I may, it might simply be very time consuming). This led me to surprise, what’s the very best (or a superb, or perhaps a respectable) approach to deal with these kinds of issues?
E.g. – I add a number of states to the CharacterMovement enum, and add what I have to for parsing these new motion states. Alongside comes a brand new model of TDE that occurs to have some extra options that I would like. If I simply replace it by way of the bundle supervisor, I suppose I may commit it, take a look at the diffs, and add again in no matter adjustments I have to from the earlier model, however this does not appear wise (or sane). Maybe the fact is “do not replace the bundle”. I am certain that is most likely excellent (like not updating engine variations throughout growth). However I additionally really feel like maybe I am lacking some apparent approach to deal with this sort of scenario.


