Erwägungen:
1.
1.1. A._ (geb. 1986) ist Staatsangehöriger von Costa Rica. Er reiste am 6. Dezember 2017 in die Schweiz ein, liess am 27. Dezember 2017 seine Partnerschaft mit dem Schweizer Bürger B._ registrieren und erhielt am 16. Januar 2018 eine Aufenthaltsbewilligung. Seit 1. Mai 2018 bezieht er Leistungen der öffentlichen Fürsorge (bis Ende November 2019: Fr. 49'582.65). Sein Schweizer Partner ist - mit einem Unterbruch - seit 1. März 2015 auf Sozialhilfe angewiesen.
1.2. Nachdem das Migrationsamt des Kantons Zürich A._ am 11. Dezember 2018 auf die ausländerrechtlichen Folgen des Bezugs von Sozialhilfe hingewiesen hatte, verwarnte es ihn mit Verfügung vom 8. Juni 2020 und drohte ihm den Widerruf bzw. die Nichtverlängerung der Aufenthaltsbewilligung an. Die dagegen erhobenen Rechtsmittel von A._ und B._ wiesen die Sicherheitsdirektion des Kantons Zürich am 14. August 2020 und das Verwaltungsgericht des Kantons Zürich am 3. Februar 2021 ab.
1.3. Mit Beschwerde vom 15. April 2021 beantragen A._ und B._ dem Bundesgericht, die Sache sei an die Sicherheitsdirektion zurückzuweisen. Das Bundesgericht hat keine Instruktionsmassnahmen verfügt.
2.
2.1. Gemäss Art. 42 Abs. 1 und 2 BGG haben Rechtsschriften unter anderem die Begehren und deren Begründung zu enthalten, wobei in der Begründung in gedrängter Form darzulegen ist, inwiefern der angefochtene Akt Recht verletzt. Art. 95 ff. BGG nennen dabei die zulässigen Rügegründe.
2.2. Das Verwaltungsgericht hat erwogen, das Vorliegen des Widerrufsgrundes von Art. 63 Abs. 1 lit. c AIG (SR 142.20) werde nicht infrage gestellt. Streitig sei, ob der Beschwerdeführer 1 ein Verschulden am Sozialhilfebezug treffe. Er spreche gut Deutsch, sei jung, gesund und voll arbeitsfähig. Dennoch sei ihm der Berufseinstieg in den vergangenen drei Jahren nicht gelungen. Von Februar bis März 2019 habe er ein Beschäftigungsprogramm absolviert. Am 7. August 2019 habe er eine Deutschprüfung auf dem Niveau B1 absolviert und mit Bravour bestanden. Im September bis Oktober 2019 habe er einen Deutschkurs auf dem Niveau B2 besucht. Per 2. Dezember 2019 habe er sich zum Interkulturellen Übersetzer für Einsätze bei der Basisbeschäftigung ausgebildet. Danach habe er versucht, eine Lehrstelle anzutreten. Nach einer Schnupperlehre vom 17. bis 19. Februar 2020 bei der X._ habe er die Lehrstelle allerdings wegen einer möglichen Mehlstauballergie nicht antreten können. Vor diesem Hintergrund könne die Abhängigkeit von der Sozialhilfe nicht als unverschuldet gelten, auch wenn der Beschwerdeführer 1 seiner sozialhilferechtlichen Schadensminderungspflicht nachgekommen sei. Nachdem der Beschwerdeführer 1 im Dezember 2018 wegen seines Fürsorgebezugs ermahnt worden sei, habe die schnellstmögliche Lösung von der Sozialhilfe im Zentrum gestanden und nicht ein massgeschneiderter Berufseinstieg. Er hätte sich deshalb aktiv um eine Anstellung auf dem ersten Arbeitsmarkt bemühen müssen. Aus den Akten gehe allerdings - mit Ausnahme der X._ - keine einzige Bewerbung hervor. Auch der Beschwerdeführer 2 habe bis heute keinen Nachweis für aktuelle Bewerbungsbemühungen erbracht. Die Loslösung von der Sozialhilfe liege klar im Einflussbereich der Beschwerdeführer, namentlich des uneingeschränkt arbeitsfähigen Beschwerdeführers 1. Die Verwarnung erweise sich deshalb als verhältnismässig und stehe im Einklang mit Art. 8 EMRK (vgl. E. 5 des angefochtenen Urteils).
2.3. Mit diesen Ausführungen setzen sich die Beschwerdeführer nicht substanziiert auseinander.
2.3.1. Die Beschwerdeführer rügen unter dem Titel "widersprüchliche Urteilsbegründung" bzw. "unverhältnismässige Ausnützung des Grundsatzes der freien Beweiswürdigung", dass kein Verschulden am Sozialhilfebezug bestehe. Wie vorher dargelegt (vgl. E. 2.2), hat sich das Verwaltungsgericht eingehend mit der konkreten Situation der Beschwerdeführer auseinandergesetzt und ihr Verschulden am Sozialhilfebezug ausführlich begründet. Alleine mit dem pauschalen Verweis auf ihre Mitwirkung im sozialhilferechtlichen Verfahren vermögen die Beschwerdeführer diese Erwägungen nicht infrage zu stellen. Die Vorinstanz hat die Mitwirkung der Beschwerdeführer nicht in Abrede gestellt, aber mit Blick auf die bundesgerichtliche Rechtsprechung (vgl. Urteil 2C_525/2020 vom 7. Oktober 2020 E. 4.2.3) erwogen, dass das alleine nicht ausreiche, um von einem fehlenden ausländerrechtlichen Verschulden auszugehen. Die Beschwerdeführer setzen sich weder mit der zitierten Rechtsprechung auseinander noch bestreiten sie, dass sich in den Akten keine aktuellen Bewerbungsbemühungen befinden, mit Ausnahme für die Lehrstelle bei der X._. Dass beide Beschwerdeführer seit Frühling/Sommer 2020 und damit seit Einleitung des vorliegenden Verfahrens angeblich "ausgiebige Stellensuchbemühungen" leisten (vgl. S. 4 der Beschwerde), wird nicht weiter belegt, weshalb offengelassen werden kann, inwieweit dieser Einwand nach Art. 99 Abs. 1 BGG überhaupt zulässig ist.
2.3.2. Unerheblich ist weiter, ob es angesichts der "Kann"-Formulierung von Art. 96 Abs. 2 AIG geboten war, den Beschwerdeführer 1 zu verwarnen. Dabei handelt es sich um eine Ermessensfrage, die vom Bundesgericht nicht geprüft werden kann. Entscheidend ist nur, ob die Verwarnung gegen Bundes- oder Völkerrecht verstösst. Dies legen die Beschwerdeführer nicht dar; der blosse Hinweis, die Verwarnung sei nicht verhältnismässig und verstosse gegen Art. 8 EMRK, genügt nicht, um die ausführlichen Erwägungen der Vorinstanz infrage zu stellen. Namentlich geht der Einwand fehl, die übrigen Integrationsleistungen des Beschwerdeführers 1 seien nicht berücksichtigt worden. Sie waren u.a. der Grund, dass der Widerruf der Aufenthaltsbewilligung als nicht verhältnismässig erachtet wurde. Schliesslich spielt es für die Rechtmässigkeit der Verwarnung auch keine Rolle, welche Relevanz ihr mit Blick auf allfällige spätere aufenthaltsbeendende Massnahmen zukommt.
2.4. Zusammenfassend mangelt es der Beschwerde offensichtlich an einer hinreichenden Begründung, auch unter Berücksichtigung, dass die Beschwerdeführer eine Laienbeschwerde eingereicht haben und die formellen Hürden daher praxisgemäss niedriger anzusetzen sind (Urteil 2C_626/2020 vom 3. August 2020 E. 2.4). Darauf ist im vereinfachten Verfahren durch den Einzelrichter nicht einzutreten (Art. 108 Abs. 1 lit. b BGG).
3.
Dem Ausgang des Verfahrens entsprechend haben die unterliegenden Beschwerdeführer die bundesgerichtlichen Kosten unter solidarischer Haftbarkeit zu tragen (Art. 66 Abs. 1 und Abs. 5 BGG).
Demnach erkennt der Präsident:
1.
Auf die Beschwerde wird nicht eingetreten.
2.
Die Gerichtskosten von Fr. 500.-- werden den Beschwerdeführern unter solidarischer Haftbarkeit auferlegt.
3.
Dieses Urteil wird den Verfahrensbeteiligten, dem Verwaltungsgericht des Kantons Zürich, 2. Abteilung, und dem Staatssekretariat für Migration schriftlich mitgeteilt.
Lausanne, 27. April 2021
Im Namen der II. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Seiler
Der Gerichtsschreiber: Businger