Hey there. I'm just starting to work on yet another GUI, using the OnGUI() approach, and I'm trying to optimize it as much as possible; the ones I wrote tend to be quite costly. I'm now trying to really understand how memory works so please correct me where I'm wrong. I used to declare all my Rect within the OnGUI() method and I suspected this was a problem but then I realized they are struct. From what I understand, struct are value-types so they live on the stack. Declaring them within a method has very little impact since the stack will be released when the method exit and it is not garbage-collected. The GC is usually the true problem related to memory allocation. That would mean that creating Rect within OnGUI() is fine and I can stop figuring workarounds with the ref keyword or List<Rect>(), correct? Do you guys know of any performance pitfall or do you have any neat tricks when scripting complex GUIs?