Finding the figure
In the Ubisoft Connect desktop client, open Games, select a title, and look at its overview and statistics. For supported games, time played appears with the other tracked stats such as challenges and units. Your Ubisoft profile on the web shows a similar view for games tied to the account.
As with the other publisher launchers, there is no library-wide total and no way to rank your games by hours.
The double-launcher problem
Ubisoft games are unusual in how often they run through two launchers at once. Buy Assassin's Creed or Far Cry on Steam or Epic and the game still starts Ubisoft Connect, which starts the game. Each layer has its own idea of when the session began and ended.
The practical result is three different numbers for one game: what Steam recorded, what Ubisoft Connect recorded, and what you actually played. Time spent sitting in the Connect launcher, waiting for an update or a sign-in, is counted by some layers and not others.
Ubisoft+ makes it worse
Subscription access means installing a game, playing it for a while, and removing it. Nothing keeps a durable record across those cycles, and a title you cancelled six months ago is hard to look up at all. If you subscribe periodically, a local record is the only way to know what a subscription month actually gave you.
One number, measured the same way every time
PlayCounter ignores the launcher chain and times the game's own process. When Assassin's Creed's executable is running, the session is running; when it exits, the session closes. That gives you a figure measured the same way for Ubisoft, Steam, Epic, Game Pass, and standalone games, so comparisons across your library actually mean something.
Because launchers themselves are processes too, PlayCounter is designed to track recognised games rather than the launcher shells around them. Where an unusual wrapper makes a title ambiguous, you confirm the match once and the choice is remembered locally.