Police were called to the scene on Old Point Road East around 8:25 Sunday night.
The child was in cardiac arrest, police said. He was pronounced dead at the hospital a short time later.
Pedro Jones, 20, has been arrested on manslaughter charges.
Jones told reporters outside Southampton Town Justice Court that he didn't mean to do it.
"I'm sorry," he said. "That's my baby. I loved him to death."
The agony spilled into the parking lot.
"You'll get some jailhouse justice, you pig!" shouted one person.
State police say Jones beat the life out of 17-month-old Roy Jones.
"He's a beautiful baby boy that didn't deserve what happened to him," his cousin, Rainbow Hill, said.
According to court documents, Jones, who was not related to the boy, punched him over and over with closed fists and grabbed him by the neck.
Documents say he confessed to the crime, telling troopers, "I was trying to make him act like a boy instead of a little girl. I never struck that kid that hard before. A one-time mistake, and I am going to do 20 years."
He told troopers he planned to marry Roy's mother, who is a member of the Shinnecock Indian Nation. They lived together on tribal land in Southampton.
Just before dark last night, the baby was already in cardiac arrest when someone called 911.
It was too late to save his life.
"An idiot infiltrated my family, grew our trust, through the heart of a child. And I hope the justice system turns around and steals his," Daniel Collins Sr., the boy's grandfather, said.
Authorities said additional charges may be filed and/or current charges may be upgraded pending the completion of the investigation.