Supports: All Unity versions (Unity 6 ready)
NOTE : Work perfectly on multiple monitors but mutli-window and multi-display support is limited. Complex setups are no longer officially supported.
With nearly 100% happy customers this is a reliable solution.
Summary:
"Borderless Standalone Window + Advanced Windows API" is an Unity Plugin that gives you the ability to control the actual window position,size,borders of your standalone build via Scripting.
In other words it lets you remove the borders of your game's window and gives you the API to minimize,close,maximize,resize,grab ect. through your scripts.
There are tons of creative ways to use it and implement it to your games/programs/launchers an example would be this template.
The package comes with Example Scenes and many scripts to help you start and understand its use.
NOTE : This is a Windows only product.
Demo : Download
What you actually get:
~A "QuickAutoBorderless" boolean that forces Borderless mode on the build on initialization without restarting it
~A "FullyAutoBorderless" boolean that forces Borderless mode on the build on initialization after restarting it
~A "AllowSizeResettingBeforeExit" boolean that makes the window start as a small 116x90 window instead of full size
~A "SilenceWarnings" boolean to silence any warning that keep your editor safe.
~A "AutoFixAfterResizing" boolean that will make the window borderless after resizing if its not already.
~A "SizeReset" vector2 to overrite default resetting sizes when window closes
~A "FocusResetOnClick" boolean that will give focus to the window when click so child windows dont steal focus
~New Scripting API.
-Window.Minimize ();
-Window.Minimize (boolean);
-Window.Fullscreen ();
-Window.Fullscreen (Vector2);
-Window.Fullscreen (int,int);
-Window.Maximize ();
-Window.Maximize (boolean);
-Window.UnMaximize ();
-Window.Exit ();
-Window.ForceExit ();
-Window.IsDoneLoading();
-Window.IsBorderless ();
-Window.Border ();
-Window.Border (boolean);
-Window.SetMinWidth (int);
-Window.SetMaxWidth (int);
-Window.SetMinHeight (int);
-Window.SetMaxHeight (int);
-Window.SetRect (Rect);
-Window.SetRect (int,int,int,int);
-Window.SetPosition (int,int);
-Window.SetPosition (Vector2);
-Window.SetSize (int,int);
-Window.SetSize (Vector2);
-Window.GetMinWidth ();
-Window.GetMaxWidth ();
-Window.GetMinHeight ();
-Window.GetMaxHeight ();
-Window.GetBorderRect ();
-Window.GetBorderPosition ();
-Window.GetBorderSize ();
-Window.GetPermnentBorderSize ();
-Window.GetRect ();
-Window.GetPosition ();
-Window.GetSize ();
-Window.GrabStart ();
-Window.GrabEnd ();
-Window.QuickDisableBorders();
-Window.QuickEnableBorders();
-Window.ResizeLeftStart (float);
-Window.ResizeLeftStart ();
-Window.ResizeLeftEnd ();
-Window.ResizeDownLeftStart (float);
-Window.ResizeDownLeftStart ();
-Window.ResizeDownLeftEnd ();
-Window.ResizeDownStart (float);
-Window.ResizeDownStart ();
-Window.ResizeDownEnd ();
-Window.ResizeDownRightStart (float);
-Window.ResizeDownRightStart ();
-Window.ResizeDownRightEnd ();
-Window.ResizeRightStart (float);
-Window.ResizeRightStart ();
-Window.ResizeRightEnd ();
-Window.ResizeRightTopStart (float);
-Window.ResizeRightTopStart ();
-Window.ResizeRightTopEnd ();
-Window.ResizeTopStart (float);
-Window.ResizeTopStart ();
-Window.ResizeTopEnd ();
-Window.ResizeTopLeftStart (float);
-Window.ResizeTopLeftStart ();
~New Scripting API to control external windows:
-Window.Minimize (int);
-Window.Minimize (int,boolean);
-Window.Maximize (int);
-Window.Maximize (int,boolean);
-Window.UnMaximize (int);
-Window.IsMaximized ();
-Window.SetRect (int,Rect);
-Window.SetRect (int,int,int,int,int);
-Window.SetPosition (int,int,int);
-Window.SetPosition (int,Vector2);
-Window.SetSize (int,int,int);
-Window.SetSize (int,Vector2);
-Window.QuickDisableBorders(int);
-Window.QuickEnableBorders(int);
-Window.ResizeTopLeftEnd ();
-Window.FlashEnd();
-Window.FlashEnd(int);
-Window.FlashPause();
-Window.FlashPause(int);
-Window.FlashStart();
-Window.Flash
Description sourced from the Unity Asset Store listing.