I have a custom grass mesh for my CSGO map. It has three LOD models. It works properly in hammer. I can move and fly around and see the LOD's change. When I compile FULL and go in-game there is no LOD changing at all. Also, when viewing LOD's in the model viewer I see them change, but nothing happens in-game. Its worth noting that I am using CSGO's Studiomdl application through the SDK launcher when running my .qc if that means anything.
Here is my .qc file:
$scale 1
$modelname "grassy\grassy.mdl"
$body mybody "grassy.smd"
$staticprop
$surfaceprop grass
$cdmaterials "models\grassy"
$sequence idle "grassy.smd"
$collisionmodel "grassy_col.smd" { $concave }
$lod 75
{
replacemodel "grassy.smd" "grassy_lod1.smd"
}
$lod 150
{
replacemodel "grassy.smd" "grassy_lod2.smd"
}