As an extra rule, how about using only the basic logical scripting entities, brushes & effects that are shared by Hammer, UnrealEd, Sandbox, Unity etc? Universal things like logic nodes, trigger brushes, simple effects & the like, while avoiding the very game-specific & heavily coded things like Portal's portals.