Former President Donald Trump has called on US lawmakers to prioritise funding for school security over sending military aid to Ukraine.
Speaking at a pro-gun conference, Mr Trump questioned how the US “has $40 billion to send to Ukraine” but cannot ensure security in schools.
The meeting of the National Rifle Association (NRA), the largest US gun group, is taking place in Houston.
The intervention comes days after 21 people died in a Texas school shooting.
“Before we nation-build the rest of the world, we should be building safe schools for our own children in our own nation,” Mr Trump said in Friday’s speech, drawing loud applause.
Earlier this month, the US Congress overwhelmingly voted to send nearly $40bn (£31bn) in military aid to Ukraine. In total, US lawmakers have sent about $54bn to Ukraine since Russia invaded in February.
“Congress should vote immediately to take back every penny of unused Covid relief money,” Mr Trump went on. “Take it back from the states and use that money to quickly establish impenetrable security at every school all across our land.”
Mr Trump rejected calls for tightened gun controls, saying decent Americans should be allowed firearms to defend themselves against “evil”.
He instead proposed a “top-to-bottom overhaul” of school safety, with fortified single points of entry including metal detectors and at least one armed police officer on every campus. He accused Democrats of stonewalling such security measures.
The former Republican president began his speech by reading out the names of the Uvalde shooting victims, with each marked by a bell toll.
The annual conference of the NRA, which has five million members, is taking place 280 miles (450 km) from Uvalde, the scene of the worst school shooting in the US in a decade.
Ahead of the event, several conservative speakers and musical performers announced they were backing out – including Texas Governor Greg Abbott, Senator John Cornyn and the manufacturer of the rifle used in the Uvalde attack.
Mr Trump hit out at those who withdrew, telling the crowd: “Unlike some, I didn’t disappoint you by not showing up.”
Mr Trump also called in his speech for the US to “drastically change our approach to mental health”.
He made a similar call during his presidency, even while critics at the time accused him of trying to defund medical programmes that included mental healthcare.
Before Mr Trump spoke, Texas Senator Ted Cruz blamed mass shootings mainly on absent fathers, declining church attendance, social media and video games.
Mr Cruz also reiterated his pro-gun stance and urged delegates “not react to evil and tragedy by abandoning the Constitution or infringing on the rights of our law-abiding citizens”.
Outside the venue, hundred of protesters gathered to oppose the NRA. They held signs saying “NRA kill kids”, “protect children not guns” and held crosses and photos of shooting victims.