Yeah so if you do not want a third party tool then working with custom fields is the way to go in my opinion. As you can have a custom field for expected hours vs actually consumed hours and then sum things up via graphs or in list view. + You can use the Portfolio feature.
If you want more features then you’d have to go with using a third-party tool as Asana does not have a native time tracking option yet.
Here is an existing product feedback request if you want to vote: Please build time tracking into Asana
So you want to allow team members to manually add time? So not actually using a time tracking tool to track automatically?
Hubstaff is mainly automatically (the only downside atm is that we are not able to start tracking by clicking on a button within Asana, has to be done via the app, browser or mobile phone).
Adding time manually works as well but via their website basically.
Some of the time tracking tools mentioned in the article I shared before do allow to start tracking from within Asana directly.
Which tool suits you best really depends on what features you require