In last year’s preseason opener against the Jets, offensive lineman Daniel Brunskill, then playing with the Falcons, saw Atlanta guard Jamil Douglas leave the field with a finger injury.

Brunskill wasn’t supposed to replace Douglas. He had been playing tackle, not guard, in training camp. But Brunskill had yet to enter the game and attacked the unexpected opportunity like it was a hard-charging defensive tackle.

“I just ran on the field,” Brunskill said, smiling. “I wasn’t supposed to, probably. But I don’t think the other guard saw Jamil come out, so I just ran in and started playing.”

Sixteen months later, Brunskill’s ability to create an opportunity explains why the former undersized walk-on at San Diego State has enjoyed a career transformation — he has moved from serving as a practice-squad mainstay for the Falcons to a key contributor on the 49ers (12-3).

Eight months removed from playing for the San Diego Fleet in the short-lived Alliance of American Football, Brunskill will make his sixth start of the season Sunday in Seattle when he plays right guard in a game that will determine the NFC West champion.

The moment doesn’t figure to be too big for Brunskill, who brilliantly subbed for injured right tackle Mike McGlinchey and left tackle Joe Staley this season before assuming his most daunting assignment in last Saturday’s win against the Rams. Brunskill held his own against All-Pro defensive tackle Aaron Donald while replacing banged-up right guard Mike Person.

Brunskill wasn’t drafted. He spent his first two NFL seasons languishing on Atlanta’s practice squad. And head coach Kyle Shanahan knew Brunskill only by his jersey number for weeks after the 49ers signed him in April.

So how to explain the success of the roster long shot? To Staley, the answer is simple: He just needed a real shot.

“I think it’s just about a guy getting an opportunity,” Staley said. “And he’d never had that before. … Dan’s opportunity came and he ran with it. He played terrific ball when he went in there. He was a guy that we could count on. He’s done a terrific job this year.”

Said Brunskill: “I feel like the 49ers gave me a legit opportunity. In Atlanta, it was a little different.”

Last year, after the Falcons’ season ended, Brunskill decided he needed to chart a different course. He declined Atlanta’s offer to sign a reserve/futures contract, which would have kept him with the team through the offseason, because he didn’t feel his long-awaited promotion to the 53-man roster was forthcoming.

His decision wasn’t without risks. With Atlanta, he at least would be guaranteed employment. If he became a free agent, there was no assurance another team would be interested in his services.

Sunday’s game Who: 49ers (12-3) at Seattle (11-4) When: 5:20 p.m.TV: Channel: 11Channel: 3Channel: 8 Radio: 104.5, 680, 107.7

Read More

Brunskill weighed about 200 pounds as a senior at Valley Center High (San Diego County) and didn’t earn a scholarship at SDSU until his redshirt junior season. And he played just one season at right tackle after previously serving as a blocking tight end.

In the NFL, no team had signed him off Atlanta’s practice squad in two full seasons.

“I just felt like I needed to get to a different team that might give me a chance,” Brunskill said. “A team that might be able to view me differently. It was like, ‘Do teams even know about me?’ I figured I’ll go somewhere else and I’ll be known to at least one other team. It was kind of a gamble because if another team didn’t end up taking me …”

His gamble didn’t pay off immediately.

After about two weeks of waiting for a phone call, the Lions brought him in for a visit in mid-January. They said they would be in touch.

Meanwhile, Brunskill’s agent had been fielding calls from interested AAF teams. Brunskill initially declined those offers, but with the NFL ignoring him, he relented and signed with the Fleet for $56,000 and free lodging at a Residence Inn in Mission Valley.

Brunskill didn’t feel like he was making much progress. But his high school coach, Rob Gilster, was wowed by how far Brunskill had come since college when he watched him play in the AAF.

“I saw him with the Fleet this year and I was like ‘Dang, Daniel is really good,’” Gilster said. “And now when I’m watching him with the 49ers — yes, I’m biased — but I’m watching and saying, ‘He’s actually one of their best linemen.’”

The 49ers noticed Brunskill, too.

They signed him April 12, about a week after the AAF folded, and he began to make a strong impression with his versatility in training camp.

He played every position except right tackle in preseason games and received verbal boosts from Staley and Person, whose basic message was this: You’re an NFL player.

Still, Brunskill was largely in the dark about his chances to make the 53-man roster. In his search for clues, he grasped onto a chance interaction with Shanahan, who was at the same restaurant the night before a preseason game in Kansas City when Brunskill was with his parents.

“Shanahan had seen me and he stopped over and said, ‘Hi’ to us,” Brunskill said. “That was cool. At the time, I didn’t know if he knew my name all the way or not.”

Brunskill has since made a name for himself.

In fact, he no longer has to call his own name to get into a game, as he did in last year’s preseason opener. Brunskill laughed when he recalled running into the game and serving as a pulling guard on a sweep on his first play.

“That was a rough one,” Brunskill said. “My first pull was good. And then my second pull wasn’t that great. But it all worked out OK.”

Eric Branch covers the 49ers for The San Francisco Chronicle. Email: ebranch@sfchronicle.com Twitter: @Eric_Branch