I am closing in on starting a new project, and have picked out assets (inventory system, dialog system, behaviour tree) that are easy to just re-skin and customize a bit, to save time.
The one thing I cannot decide about is the character controller. Can anyone that has tried both an asset (I was thinking opsive) and making your own explain a bit about the pros/cons you found? To make a proper character controller from scratch probably takes > 100 hours, so when is it worth that time?
How long it takes depends a lot on your requirements. If you want to make a character who just walks around and collides with walls, it might only take a few hours. If you need ALL of the features that the Opsive controller has, it probably will take a long time, though (That’s why it costs so much ).
Not necessarily trying to dissuade you from buying anything, but have you looked at the free controllers that come with the Unity Standard Assets and their 3D Game Kit? That might give you ideas for how to implement your own, or you may be able to modify them to get to where you want.
Personally, I have a day job and only game dev as a hobby, so if I think something is going to be frustrating to implement, and also going to take a whole month’s worth of weekends, then I would gladly spend a few bucks to get past that. Keep in mind that having a lot of assets to integrate and keep up-to-date is a chore in itself.
Con - if it doesn’t contain functionality you desire, you have to add it. Depending the asset you’ve selected this may be difficult if not impossible without completely ripping it to shreds. A good 3rd party character controller would have extensibility designed into it… but I don’t know of any off hand.
Yeah i have really bad experience with customizing assets, all of a sudden there is an update and you forget you changed that one line of code and it gets overwritten.
Maybe it’s worth a weekend or two of at least trying to create a custom one, I want to be able to walk, run, fight, gather, craft, and so on. Time is precious when you have a day job.