I want to create a package which contains a custom field (text) on the campaign object.
This custom field is required (I set it required in the schema builder)
If someone is installing my package, will this required field be visible to all profiles (by default)?
You made it a universally required field. Universally required fields are visible on all profiles. They can’t even be removed from a page layout or made read-only.