diff --git a/Facepunch.Steamworks/Client.Overlay.cs b/Facepunch.Steamworks/Client.Overlay.cs
new file mode 100644
index 0000000..8cded37
--- /dev/null
+++ b/Facepunch.Steamworks/Client.Overlay.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Facepunch.Steamworks
+{
+ public partial class Client : IDisposable
+ {
+ private Overlay _overlay;
+
+ public Overlay Overlay
+ {
+ get
+ {
+ if ( _overlay == null )
+ _overlay = new Overlay { client = this };
+
+ return _overlay;
+ }
+ }
+ }
+
+ public class Overlay
+ {
+ internal Client client;
+
+ public void OpenProfile( ulong steamid ) { client._friends.ActivateGameOverlayToUser( "steamid", steamid ); }
+ public void OpenChat( ulong steamid ){ client._friends.ActivateGameOverlayToUser( "chat", steamid ); }
+ public void OpenTrade( ulong steamid ) { client._friends.ActivateGameOverlayToUser( "jointrade", steamid ); }
+ public void OpenStats( ulong steamid ) { client._friends.ActivateGameOverlayToUser( "stats", steamid ); }
+ public void OpenAchievements( ulong steamid ) { client._friends.ActivateGameOverlayToUser( "achievements", steamid ); }
+
+ public void AddFriend( ulong steamid ) { client._friends.ActivateGameOverlayToUser( "friendadd", steamid ); }
+ public void RemoveFriend( ulong steamid ) { client._friends.ActivateGameOverlayToUser( "friendremove", steamid ); }
+ public void AcceptFriendRequest( ulong steamid ) { client._friends.ActivateGameOverlayToUser( "friendrequestaccept", steamid ); }
+ public void IgnoreFriendRequest( ulong steamid ) { client._friends.ActivateGameOverlayToUser( "friendrequestignore", steamid ); }
+
+ public void OpenUrl( string url ) { client._friends.ActivateGameOverlayToWebPage( url ); }
+ }
+}
diff --git a/Facepunch.Steamworks/Facepunch.Steamworks.csproj b/Facepunch.Steamworks/Facepunch.Steamworks.csproj
index 941eeb8..0e2fd48 100644
--- a/Facepunch.Steamworks/Facepunch.Steamworks.csproj
+++ b/Facepunch.Steamworks/Facepunch.Steamworks.csproj
@@ -43,6 +43,7 @@
+