Q:

Create own steam overlay

My end goal is to create a overlay to steam games similar in functionality to the discord steam overlay. I know this is a monstrous task so I am exploring all of my possibilities. The overlay built into steam is good, but you cannot play a game with it open.
Looking into steam's VGUI editing and steam skins system it seems like I can edit most things about the UI including steam notifications, which seems like the perfect candidate for an overlay. Either update one notification (if possible) or send many notifications.
So the question is, is it possible to:

Update one persistent notification or Send multiple notifications
Change notification content from outside sources (i.e. scripts, google, game servers)
Change notification dimensions and transparency

And if so, where in the steam files do I find the notification code? And is this the right direction or would it be easier to start on a standalone general application overlay?

A:

If you're talking about modifying the Steam overlay by injecting something that may end up getting a cease & desist letter, although maybe not -- Valve has effectively allowed/not stopped many other services and programs based on Steam so I don't know for sure. Valve is also currently very slowly working on updating the UI which could change any of this at any time. If you really do want to try this way I'd suggest looking into SteamKit, which is basically a partial reverse-engineered Steam client. Launching Steam in developer mode can help you find the files/variables for some of the definition of the skin, but I'm not sure where the notification coloring/styling is at. The old discontinued Enhanced Steam plugin that was for the client itself may help you figure out how to do this, but I've never looked at it's code and it may be outdated and no longer possible to do that way.
Overall though, yeah, your own app instead of doing shady stuff with the official client would likely be a better idea both because of legality and because it's likely going to be very difficult to install otherwise.

