Are you using a build system that you created yourself, one from a package or the one that ships with Sublime?
Inline build errors are placed there as a result of doing a build, but a few things need to be in place for them to work the way you expect.
First, the following setting needs to be enabled. As seen here it’s enabled by default, so this is probably not the issue unless you accidentally turned it off.
// Shows build errors just under the line on which they occur.
"show_errors_inline": true,
The setting tells the build system that it should display errors in files, but it also requires that the build system, you’re using (i.e. the sublime-build file) to contain a file_regex (and possibly also line_regex, depending on the tools used in the build) that is capable of capturing the errors in the output.
These capture the same build errors as are used to power the navigation between errors via the menu items in Tools > Build Results or the associated keys. If using those commands after a build navigates you somewhere, then the errors are being captured; otherwise that’s the problem.
The last thing is that by default build systems use the exec command to execute tools used during the build, and it’s the exec command that is injecting the error phantoms into the file. It’s possible for a build system to specify a different command to execute the build, in which case that command becomes responsible for making sure that the phantoms are displayed. You can double check that by looking at the sublime-build file to see if it contains a target key; if it does not, it’s using exec.