San Francisco 49ers defensive lineman Solomon Thomas did not sign his four-year rookie contract last year until a day after his new teammates reported to training camp. The 49ers' first-round draft pick this year, Mike McGlinchey, remains as one of the 15 unsigned draft picks from the 2018 rookie class.

The only other 49ers rookie who remains unsigned is second-round draft pick Dante Pettis.

All rookie contracts are for a length of four years. NFL teams have the option to pick up a fifth year for first-round selections, like McGlinchey. His fully-guaranteed four-year contract will be in the range of $18.3 million, including a signing bonus of $11.4 million. That presumably left items like bonus payment terms and roster bonus allocations as the only potential hold ups – or so we thought.

Offset language within the contract may also be a factor in getting McGlinchey's deal done, according to a report by Pro Football Talk. As the NFL news site explains, offset language allows a team to reduce the money due if a player is cut before the completion of his four-year contract. For example, if McGlinchey were waived within his first four years, the salary due to him from the 49ers would be reduced by the salary he would earn from his new team – assuming he is claimed. Without the offset language, a player could earn salaries from multiple clubs.

Offset language is typically part of a head coach's contract. For example, the money the 49ers owed to Jim Tomsula is offset by the salary he is earning as the defensive line coach for the Washington Redskins. Kyle Shanahan's six-year contract, however, reportedly did not include offset language, which is pretty unheard of in the NFL. If the 49ers fired him before the end of his deal and he found work elsewhere within the NFL, he would collect the full salary due from San Francisco in addition to the salary from his new team.

Pro Football Talk points out that Jacksonville Jaguars running back Leonard Fournette avoided offset language within his rookie deal last year.

49ers rookies are scheduled to report to training camp along with the veterans on July 25.