Hello there, @KellianHughes ...
No, a course does not have to be made public before students can be added. Are you using the Free For Teachers (FFT) version of Canvas, or are you using a paid Canvas environment through your school? If using a paid version, your school might already have a process in place so that your students are automatically added to your course(s)...typically via their SIS (Student Information System).
To answer the second part of your question, normally users are added at the Canvas account level first. Then, if users are added to a course (student, instructor, TA, etc.), then Canvas will automatically find their account and add them to the course. Since you are getting a message that the user cannot be found, it sounds like that student was not first added at the Canvas account level. If you are using a paid Canvas environment, you might want to speak with your school's Canvas administrator to see exactly what the process is for getting students added to the course.
Hopefully this information will help. Please let Community members know if we can be of further assistance. Thanks!