This might be answered from a Unity improvement perspective or generically for programming; Both one could be helpful.
I am engaged on a sport and I am utilizing two packages, TopDownEngine by Extra Mountains (for common stuff, cameras, managers, and so on.) and PaperDoll System by Willyxz (for managing sprite layers and animations). The primary is a Unity Asset Retailer package deal and is managed by the package deal supervisor. The latter is an asset pack bought from itch.io. I take advantage of GitHub for all supply management, for any variations there could also be.
For the PaperDoll system, each to be taught it and to handle modifications, I mainly made a precise copy of all of the code recordsdata, moved them into my very own namespace, and even did implicit conversions for OS between the 2 “variations” of the package deal. I will add extra code over time and this appears fairly simple to me. If the creator updates the package deal, I can replace it in my venture, see what’s new in its demo scenes, and examine the distinction between the brand new model and the outdated model utilizing git. This is able to permit me to simply submit any modifications to my very own Copy of the system.
The TopDownEngine is way more advanced. I will have to make modifications to some enums and a few modifications to the state machines. I do not need to duplicate all of the code (I might, however it might be time consuming). This led me to surprise: what’s the very best (or good, and even first rate) technique to deal with this sort of factor?
For instance, I add a number of states to the CharacterMovement enumeration and add what I have to parse these new movement states. A brand new model of TDE is arriving that has some extra options that I need. If I replace it through the package deal supervisor, I suppose I might commit it, examine the variations, and re-add any modifications I would like from the earlier model, however this does not appear wise (or wise). Perhaps the truth is “do not replace the package deal”. I am certain it is most likely ideally suited (like not updating engine variations throughout improvement). However I additionally really feel like perhaps I am lacking some apparent technique to deal with this sort of scenario.
