Using the
model
key (or
zhlt_usemodel
targetting an env_sprite using the model for example) you can set most brush entities to use a model instead (remember to give them an ORIGIN brush where you want the model's origin to be), but that'll replace the entire brush model
including the cliphulls resulting in it having no collisions as kimilil says.
(Also if using
model
you need to make sure the model is already precached in the map somewhere otherwise it'll crash).
Using game code would be the better way to go. That it's not already in the SDK doesn't mean it cannot be done.
You could implement a sort of "attach model" key directly in func_pushable for your mod that places a model at the origin and updating its position within the pushable's
Move()
method, or even more useful would be implementing an entity that can "parent" one entity to another so they move together, like
trigger_setorigin in Sven Co-Op or the
movewith (iirc) feature in Spirit of Half-Life.
It's possible the
Featureful SDK already has some entity parenting feature that you could use, so that's worth checking out.