  Advice classes in computational complexity have frequently been used to model
real-world scenarios encountered in cryptography, quantum computing and machine
learning, where some computational task may be broken down into a preprocessing
and deployment phase, each associated with a different complexity. However, in
these scenarios, the advice given by the preprocessing phase must still be
generated by some (albeit more powerful) bounded machine, which is not the case
in conventional advice classes. To better model these cases we develop `bounded
advice classes', where a more powerful Turing machine generates advice for
another, less powerful, Turing machine. We then focus on the question of when
various classes generate useful advice, to answer this we connect bounded
advice to unary languages. This connection allows us to state various
conditional and unconditional results on the utility of advice generated by
$\mathsf{EXP}$, $\mathsf{NP}$, $\mathsf{BQP}$, $\mathsf{PSPACE}$, and more. We
study the relations between bounded advice classes, quantum bounded advice
classes, and randomised bounded advice. We also examine how each of these
concepts interact with recently introduced classes, like $\mathsf{BPP/samp}$.
Our results also improve the state of the art in existing research on the
complexity of advice functions.
