What do you do when you need to change an asset's script?

Currently my idea is to just create an entire new script and put it into my projects scripts folder. The only issue is if you do that a couple of times, it will be difficult to remember which scripts you have modified, and you’ll have to manually check if the asset has an update that modified the script (if you even remember).

Ideally, choose assets that are easily extended without having to directly modify the asset’s code, or ask the asset developer to update their assets to make them extensible. More Mountains (Corgi, TopDownEngine) does a good job with this by making all methods virtual so you can subclass them. Opsive (Ultimate Character Controller, Behavior Designer) also makes methods virtual and has a good event system that you can hook into, as does More Mountains.

If you’re stuck with an asset that isn’t easily extended, you could add a unique comment tag such as //[CUSTOMIZED] to all changes. Before importing an update, search for the tag. There are other tricks you can probably do with version control, but unique tags are helpful in these cases.

2 Likes