This might be answered from a perspective of Unity dev, or generically for programming – both could be helpful.
I am engaged on a recreation and am utilizing two packages, Extra Mountains’ TopDownEngine (for common stuff, cameras, managers, &c.), and Willyxz’s PaperDoll System (to handle sprite layers and animations). The previous is a Unity Asset Retailer package deal, and dealt with by the package deal supervisor. The latter is an assetpackage bought from itch.io. I take advantage of 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 an actual copy of all of the code information, moved them to my very own namespace, and even made implicit conversions for SOs between the 2 “variations” of the package deal. I will be including some further code over time, and this appears pretty straight ahead to me. If the creator updates the package deal, I can simply replace it in place in my venture, see what’s new in his demo scenes, and examine the diff from the brand new model to the previous model utilizing git. This might permit me to simply carry ahead any adjustments into my very own copy of the system.
The TopDownEngine is way extra advanced. I’ll 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 might, it might simply be very time consuming). This led me to surprise, what’s the most effective (or an excellent, or perhaps a first rate) method to deal with these types 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 further options that I need. If I simply replace it by the package deal supervisor, I suppose I might 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 smart (or sane). Maybe the truth is “do not replace the package deal”. I am positive that is most likely very best (like not updating engine variations throughout growth). However I additionally really feel like maybe I am lacking some apparent method to deal with such a state of affairs.
