We use plastic tower drawers, and separate by colours, half filling the drawers so they’re good for rummaging. I’ve lined the dark coloured drawers with white paper to make it easier to find bricks.
We also have smaller drawers for specific brick types (wheels, long thin ones, glass, the precious 2x4s, plates..) and we started with empty drawers so ds could create his own categories of importance.
We have a number of boxes for particular types of Lego like Super Mario or Harry Potter.
We have shelves for display. And under the bed we have some shallow boxes for unsorted Lego, important keep apart Lego and Lego that ds has agreed can be sorted back into the system (this is rarer than I anticipated when I set this up)
Running in parallel to this system is ds’ own system which is space and time based, with pieces and builds spread out across his floor and on every flat surface. He has asd and knows if things have been moved. Our compromise is that Lego is allowed anywhere on his rug, but not in the rest of the floor, and not on the window board (so the room can be aired).
It took a few goes and a lot of patient listening to get this far and largely it works. Ideally I’d like to cut back on the amount of Lego but it keeps coming.