Hmm, I like both! [name]Davis[/name] feels fun, with boyish playfulness that would transition well to grown-up maturity; I like the little twist on traditional [name]David[/name]. [name]Davey[/name] would be the obvious nickname, and I think it’s underused these days. [name]Garrett[/name] feels a bit edgier. Maybe it’s the little Irish background that makes it feel a little more…feisty? Spunky? I would forego blase [name]Gary[/name] for the gem [name]Rhett[/name]. I think [name]Garrett[/name] might be a tad more in line with your other choices, which might be a point in its favor. That said, I think [name]Davis[/name] might sound sliiiiightly better with [name]William[/name], though both are fine.
Sorry that I think both are great. [name]Hope[/name] the thoughts help anyway.
I like [name]Garrett[/name] much more than [name]Davis[/name] and I like it much more with the middle name [name]William[/name]. [name]Davis[/name] seems sort of bland, but [name]Garrett[/name] seems cool and strong and has the nn [name]Rhett[/name] if you want it.
I think [name]Davis[/name] is super cute, but I would hate for him to ever be nicknamed [name]Dave[/name] so I’m leaning towards [name]Garrett[/name] [name]William[/name].
[name]Garrett[/name] is a great name. [name]Davis[/name] isn’t bad, but not to my taste. [name]Garrett[/name]'s NN of [name]Rhett[/name] is also pretty awesome. I also think [name]Garrett[/name] goes better with [name]William[/name]. Also, [name]Davis[/name] and [name]Williams[/name] are both relatively common last names, and to have names that sound like common last names in both the first name and middle name slot seems too last name heavy to me.