Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

Unity Multiplayer Unity 2021.2: Dedicated Server target and stripping optimizations now live! Please share feedback!

Discussion in 'Multiplayer' started by UnityGio, Jul 20, 2021.

  1. UnityGio

    UnityGio

    Unity Technologies

    Joined:
    Jun 8, 2018
    Posts:
    18
    Last year, we shared our goals for 2021. Three of our key focus areas have been improving workflows and usability, improving performance and iteration speed, and focusing on multiplayer networking. As a part of this, we’ve developed a new way to allow developers to create Unity dedicated server builds regardless of the netcode you choose to use for your application.

    What is Dedicated Server target?
    Our new Dedicated Server is a desktop sub-target that improves server build efficiency by automatically stripping assets and code that are not necessary for server builds each time a project is built, providing increased space and processing efficiency. As a result, Dedicated Server builds also make it more economically beneficial for server operators to run these more-efficient server applications created with Unity.

    Why did Unity create a Dedicated Server target?
    Traditional Unity headless server builds often contain assets and compiled code which are not accessed by headless server processes. This might include artifacts such as audio files, textures, meshes, and shaders. In a multiplayer context, rendering and asset management processes occur unnecessarily when server runtimes are being built and executed. This even happens with traditional headless Unity servers since the rendering operations are still executed, though to a null-display target. When doing builds with all this additional overhead, longer build times occur and iteration speed suffers, too.

    How do I use this new feature?
    Starting in Unity 2021.2, when setting your platform target, you now have the ability to specify Dedicated Server as a target type with an option to choose for which Desktop platform. This not only makes it more clear what kind of build you are creating, but also allows Unity to know to apply these optimizations during the build process. Another advantage is you get to programmatically query if the target is set to Dedicated Server in order to program Dedicated-Server-specific behaviors.

    How can I access this new feature?
    Dedicated Server platform support is now available inside the Unity Editor as of Unity 2021.2.0b1. Before 2021.3 LTS, Unity will move the feature from the default Unity Editor installation and into a separate support installer via Unity Hub in a future release.

    What feedback is Unity looking for?
    We’ve reached the stage in our development where we’d like to get your feedback on this new functionality and how it performs when tested on real game projects. These changes are focused on the way we build dedicated server projects and the final content it is packed in it, therefore the types of feedback we’re looking for are:
    • Data statistics on the projects you build with this version versus the results from build with previous versions of Unity. More specifically:
      • Project size on disk
      • Memory usage
      • CPU usage
      • Build time
    • How this new Dedicated Server target feature impacts your workflow and iteration times

    • If changes made by the Dedicated Server target could break or conflict with any previous approaches or features of your project

    We welcome your feedback on ways we can improve this tool in the future, too! Please feel free to reply with feedback on the features that you would like to see in upcoming versions. If you would like to share your experience or provide any feedback or suggestions for us, please leave us a comment in this thread.

    What about bug reporting?
    Ideally we'd like any bugs reported through the built in bug reporter tool, as that will automatically provide us with some relevant context. For instructions on how to file bugs through the Unity editor, please go here.

    Once you have submitted a bug report through the bug reporter, please feel free to refer us to it in your replies or new posts.


    Changelog
    • [UI] Dedicated Server target is now listed in the Build Settings window.


    • [Memory Optimization] Pixel data for textures that are not marked as read/write is not included in Server builds.
    • [Memory Optimization] Vertex data for meshes that are not marked as read/write and not used for internal systems, is not included in Server builds.
    • [CPU Optimization] Audio system disabled in Server builds.
    • [Scripting] UNITY_SERVER defined for Assemblies in Server builds.

    Currently Known issues
    • Error message “shader is not supported on this GPU” in Server Builds
     
  2. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    4,141
    What code is stripped exactly?

    If you don't mind me asking, did you do any long running dedicated server tests?
    For example, what about performance & memory leaks after several days / weeks?
    Is there any data you could share with us?

    Given all of Unity's stability issues, people are often concerned about launching servers into the Unity black box.
     
    Last edited: Jul 20, 2021
  3. UnityGio

    UnityGio

    Unity Technologies

    Joined:
    Jun 8, 2018
    Posts:
    18
    No user code is affected. We follow the same stripping rules as the regular player. For now and in this first release, we're only stripping and optimizing engine code around instance rendering and audio.

    Unfortunately, we don't have long duration test outcomes, or performance improvement comparisons. This is the information we hope that you and other users can share back with us.

    In terms of stability, there should be no crashes or memory leaks. As with any feature coming from Unity, we have a litmus of unit testing that we do on small samples and test suites. However, if any are discovered by the community, we do appreciate your bugs filed using the Bug Reporting tool.
     
    vis2k likes this.
  4. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    4,141
    Thanks for the reply.

    Your community is more than willing to use Unity for their game servers.
    Sometimes it's not obvious if Unity is ready though.

    For example, mention using Unity for a game server anywhere on the internet.
    People just laugh at you. They laughed at us for years, still do.

    Point being that nobody knows what's going on inside the black box.
    • Getting regular bugs fixed is virtually impossible. We've tried, a lot.
    • If a production game encounters a leak, we can't expect the poor QA guy to run it for a week with 100 CCU to reproduce it :)

    Imho for Unity to become a serious option for game servers:
    • Either the community needs to see inside the black box.
    • Or the people that can see inside the black box need to show believable commitment to game servers.
    Long running tests would be great.
    Open sourcing more parts would be great.
    Unity making their own multiplayer game would be even better.
     
    Last edited: Jul 22, 2021
    iSleepzZz, akuno, Thunderik and 2 others like this.
  5. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    Why is this called dedicated server build?
    This would indicate it is building a server, but in fact it just builds a headless unity build.
    So calling it Headless Build would fit much better. For example in network tests we also use headless clients that we can spawn, this means our headless clients would require a dedicacted server build?
     
  6. jesusluvsyooh

    jesusluvsyooh

    Joined:
    Jan 10, 2012
    Posts:
    369
    Yeah might be time for name change, i build headless clients, and have had to explain in the past that headless server is for that too.
     
  7. andrews_unity

    andrews_unity

    Unity Technologies

    Joined:
    Dec 11, 2015
    Posts:
    264
    Well its not the same as the headless client entirely, previously we had the "headless" build option which depending on the platform meant different things. On Windows and MacOS this was just the normal players with a different entry point app and we just ran in batchmode. On Linux this option was a completely different binary from the standard player that actually had code differences for example we compile out things like input, audio, graphics backends etc... on top of running in batchmode. We also didn't allow devs to provide specific player settings for headless vs the standard player.

    This new target is new binaries for all platforms, meaning windows and macOS are also compiling out the un-needed code, we also defined a new sub-target that allows us to now to optimize specific to this target vs just hacking something on top of the standard player. This also enabled us to provide devs with the ability to have dedicated server specific player settings which means we can now customize that API where it makes sense to support the server target. So I would not say its the same as before because its not. Add to that as mentioned before we also do some stripping of content based on using this target that we know you could never use for example audio files, non-read/write textures etc... So it really does provide a better path for use to provide something more then we did before.
     
  8. Jes28

    Jes28

    Joined:
    Sep 3, 2012
    Posts:
    888
    May be you need to provide a way to keep audio files that can be read from cpu for audio centric game servers
     
  9. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,289
    About time. No more having to deal with separate projects or juggling asset bundles to make builds without shaders, sounds, and textures.

    Now find a way for us to test multiple clients on the same project without having to make builds or trick Unity with symbolic links and working with multiplayer in Unity can start looking less like a hack.
     
    Thunderik and CreativeChris like this.
  10. andrews_unity

    andrews_unity

    Unity Technologies

    Joined:
    Dec 11, 2015
    Posts:
    264
    I am curious the use case for this? I would argue more often then not folks do not want the audio files... we do keep some of the meta data linked to the AudioClip itself but just not the underlying raw audio data.
     
  11. Jes28

    Jes28

    Joined:
    Sep 3, 2012
    Posts:
    888
    You right
    but there are games on your Engine (not my games) where audio is main part of game everything else is just environment around sound.
    Such games can not be online with your new Server Target because you dont provide option to keep actual audio data

    So building generic tech you must think about all usages not only most used ones.
     
  12. andrews_unity

    andrews_unity

    Unity Technologies

    Joined:
    Dec 11, 2015
    Posts:
    264
    I don't know if your statement is accurate as to people who have sound based games. I mean they could still throw their audio files in the StreamingAssets folder and load them and do whatever CPU foo they want to, it likely doesn't make sense that they use AudioClips or the Unity Audio system on the server. I would almost argue it would be more performant that they not use AudioClips if all they are going to use that data for is their own Audio Processing.
     
    DungDajHjep likes this.
  13. Jes28

    Jes28

    Joined:
    Sep 3, 2012
    Posts:
    888
    May be you right

    But the same can be sad about textures or meshes that they dont need on server.
     
  14. Kyllthor

    Kyllthor

    Joined:
    Jul 22, 2018
    Posts:
    7
    That's great, and why not take the idea a step further by developing a server engine isolated from the game engine. With an integrated and modular internet transport system, from there we could build all the multiplayer possibilities.

    It would be very fast for multiplayer games. Allowing developers to use a server base with the whole structure of Unity is a big advantage. A market for high value AAA games.

    Developing a server from scratch requires network developers, but starting from an empty solid foundation can be developed by game programmers, with less server training.
     
    r31o and cristianm_unity like this.
  15. jesusluvsyooh

    jesusluvsyooh

    Joined:
    Jan 10, 2012
    Posts:
    369
    Looks like we can all agree, that customisable options is best way for the new headless feature, if for some strange reason people need to keep audio, or textures, shaders etc :D

    Good luck andrews_unity , UnityGio and the rest of your squad!
     
    Last edited: Aug 11, 2021
  16. JagerZero

    JagerZero

    Joined:
    Sep 25, 2018
    Posts:
    1
    Publish to Win And Linux, Crash during runtime.

    Crash Report configuration:
    * App Name: Island
    * App Version: Unity 2021.2.0b6_2055a14f48ed
    * Mono DLL: G:\Development\GameServWin\MonoBleedingEdge\EmbedRuntime\mono-2.0-bdwgc.dll
    * Bug Reporter App Path:
    * Crash Report Path: C:\Users\JAGER\AppData\Local\Temp\Crashes
    * Is Editor: false
     
  17. UnityGio

    UnityGio

    Unity Technologies

    Joined:
    Jun 8, 2018
    Posts:
    18
    Thanks @JagerZero . Because we make use of other metadata needed, and also leverage the system's triage capabilities, may you please file a bug into our Bug Reporting system for this crash?

    Instructions on how to do so are here: https://unity3d.com/unity/qa/bug-reporting

    You can then follow-up with via direct-message to me with a link to the Fogbugz.
     
  18. Slandercakes

    Slandercakes

    Joined:
    Jul 30, 2015
    Posts:
    15
    This sounds interesting. I'm currently using Unity for a thin client for input + rendering that interacts with a authoritative C# server. It would be nice to take advantage of Unity code, like physics, to ensure the client + server simulation are the same, but I always thought the overhead of a headless client made it not worth it. This might change things for sure.
     
  19. MrG

    MrG

    Joined:
    Oct 6, 2012
    Posts:
    349
    @UnityGio Is there a document that fully details what's stripped? Lights aren't mentioned above, and wouldn't mesh colliders need the mesh? What can be configured?
     
  20. jesusluvsyooh

    jesusluvsyooh

    Joined:
    Jan 10, 2012
    Posts:
    369
    hihi
    Took me a few hours to figure out the problem, but got there eventually.

    Mac building to Mac, gave this error, wouldn't even run a blank headless scene.
    Screenshot 2021-09-02 at 14.22.28.jpg

    Mac building to windows, gave this error, cannot build windows IL2CPP, even though it was set to MONO.
    Screenshot_2021-09-02_at_14.51.35.jpg

    Removing Unitys ProjectSettings, close/reopen Unity, fixed both the above problems.
    Screenshot 2021-09-02 at 17.36.04.jpg
    So something in 2021.2 or the headless feature doesn't like Unity 2019 (and below) project settings files.

    The following Audio error, when an AudioSource is on a prefab in a scene, removing the audio source from prefab makes the error go away.
    Screenshot 2021-09-02 at 18.26.02.jpg
    Screenshot 2021-09-02 at 18.33.18.jpg

    And then i get spammed with .dll's not found :eek:
    (stripping is set to disabled, and allow unsafe code is true)
    Might have to leave that part for another day, tired eyes.

    (P.S everything worked and looked fine running in Editor)
    Hope thats enough info to investigate with :)

    Compression sizes:

    2021.2, Non optimised headless build size = 212mb
    ^ Texture override to lowest "Max 64" = 105mb
     
    Last edited: Sep 2, 2021
    cristianm_unity and UnityGio like this.
  21. UnityGio

    UnityGio

    Unity Technologies

    Joined:
    Jun 8, 2018
    Posts:
    18
    @JagerZero - we appreciate what you were able to send in. The team was able to track down the source of the error and has a fix for the bug committed. It should be available in the near future on one of our next updates.

    @jesusluvsyooh - Thanks for this information on the two issues you have observed, and your compressions experienced. May you please also submit a Fogbugz for both issues observed and then message me the issue numbers? Instructions on how to do so are here: https://unity3d.com/unity/qa/bug-reporting

    @MrG - investigating and will reply with more info asap. Thank you for your patience ahead.
     
    Ishidres likes this.
  22. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    821
    Hi. How about assetbundles? Can I build assetbundles for dedicated server which has no rendering/audio data?
     
  23. orangetech

    orangetech

    Joined:
    Sep 30, 2017
    Posts:
    50
    That is good trend, people want running many unity programs as room server on a bare metal machine.
    so let unity build as much as possible small is very important.
     
  24. UnityGio

    UnityGio

    Unity Technologies

    Joined:
    Jun 8, 2018
    Posts:
    18
    Hi @MrG

    Here are some answers to your questions. Please let us know if you have any others.

    No, for now we have is what is described in the changelog:
    • [Memory Optimization] Pixel data for textures that are not marked as read/write is not included in Server builds.
    • [Memory Optimization] Vertex data for meshes that are not marked as read/write and not used for internal systems, is not included in Server builds.
    Lights are not modified. Mesh colliders require the read/write parameter to be enabled, therefore they are not stripped. The read/write parameter for mesh colliders is the property that allows accessing it from CPU, otherwise it's GPU only. This is what we check to confirm that we can remove the mesh and texture data.

    For now it is not possible to configure further how striping works. We started with textures and meshes data of non read/write assets (note that we strip the pixel and vertex data, not the assets themselves). This is because we can be certain that the data is not accessible by the CPU, and without a GPU output, not accessible at all.
     
  25. MrG

    MrG

    Joined:
    Oct 6, 2012
    Posts:
    349
    Seems like real-time lighting / Enlighten / loading baked lighting should be stripped. I recall seeing in a headless console that it was starting threads for Enlighten, which always seemed rather silly.
     
    UnityGio likes this.
  26. danstovell

    danstovell

    Joined:
    Jun 6, 2014
    Posts:
    1
    Currently, when we run our game server as Vanilla C# in Mono we use about 15MB of memory, and running in Unity as headless "out of the box" it uses close to 600MB of memory. There is an optimization tool in the asset store that sounds like it could get down to the 150MB range, but that's still too high for our needs.

    Are you able to give any indication of generally where on the scale of 15 - 600MB I would expect to land with these additional optimizations?
     
    Jes28 likes this.
  27. cristianm_unity

    cristianm_unity

    Unity Technologies

    Joined:
    Oct 16, 2018
    Posts:
    193
    Hi @danstovell,

    Our current memory optimizations for Dedicated Server are focused on stripping the assets data that we can be 100% sure are not going to be used (That's the textures and vertex data that are GPU only). I've personally seen a reduction up to 60% of the original size on some small sample projects with a final disk and memory usage below and close to 100MB, but the actual level of optimization depends a lot on the specific project and the assets it uses.

    We are very interested in knowing more about the actual ranges you can get in real cases, so I would encourage everyone here to try a build and share the before and after disk and memory consumption of your projects. That will be really helpful for us to validate and make decisions about where to focus next.
     
    UnityGio and danstovell like this.
  28. dev2X

    dev2X

    Joined:
    Oct 29, 2016
    Posts:
    2
    Hello, when will it be possible to install it via "Add Module" in the unity 2020?
     
    Last edited: Oct 17, 2021
  29. UnityGio

    UnityGio

    Unity Technologies

    Joined:
    Jun 8, 2018
    Posts:
    18
    Hi @JarviTeam . Dedicated Server Target with asset stripping won't be backported to Unity 2020 as that is already a stable LTS editor.
     
  30. Danila24ru

    Danila24ru

    Joined:
    Sep 21, 2012
    Posts:
    17
    Thank you for feature! Now my server use only 100-200MB ram. (was 300-500).
    I have few crashes (related to ntdll.dll). My editor 2021.2.0b13 (also tried b10-b13). Windows dedicated server build always crash. I fixed it by disabling Unity Audio Plugin in preferences.
    Second crash in editor while opening scene, open prefab, press play etc. Fixed by disabling Asset Chache server.

    Waiting for next updates. Would be nice to fix/remove these errors/warning.

    ...
    WARNING: Shader Unsupported: 'TextMeshPro/Distance Field Overlay' - All subshaders removed
    WARNING: Shader Did you use #pragma only_renderers and omit this platform?
    WARNING: Shader If subshaders removal was intentional, you may have forgotten turning Fallback off?
    ERROR: Shader TextMeshPro/Mobile/Distance Field - Masking shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
    ERROR: Shader TextMeshPro/Mobile/Distance Field Overlay shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
    ...
     
  31. Danila24ru

    Danila24ru

    Joined:
    Sep 21, 2012
    Posts:
    17
    @UnityGio How can I build dedicated server from script? BuildPipeline.BuildPlayer() not support this target yet?

    EDIT:
    I found solution:
    var buildPlayerOptions = new BuildPlayerOptions()
    {
    subtarget = (int) StandaloneBuildSubtarget.Server,
    target = BuildTarget.StandaloneWindows64,
    options = BuildOptions.Development
    };
     
    Last edited: Oct 27, 2021
  32. Shalafi83

    Shalafi83

    Joined:
    Feb 4, 2018
    Posts:
    18
    Hi,

    i tryed to build a server for a game as a dedicated server.
    Everytime i try to start it, it crashes. The crashlog says

    UnityPlayer.dll caused an Access Violation (0xc0000005)
    in module UnityPlayer.dll at da22e59a.


    when i build it as headless in an older unity version, i didnt had any problems.
    I also tried to start the server with "-nographics -batchmode"


    Any idea how to fix this?
     
  33. gamejogador1

    gamejogador1

    Joined:
    Nov 20, 2018
    Posts:
    1
    Hello, I would like to ask if this is going to the 2019.2 version and if It will finnaly be able to use Input and Output in the Headless server, since in my project there is a huge necessity of Headless user input for admin messages and commands and also message output soo I can get a proper feedback.
     
  34. inkcomic

    inkcomic

    Joined:
    Jan 6, 2015
    Posts:
    4
    I met this too, dose anyone in unity team track this issue?:(
     
  35. cristianm_unity

    cristianm_unity

    Unity Technologies

    Joined:
    Oct 16, 2018
    Posts:
    193
    Hi @Shalafi83, @inkcomic, we recently identified some crashes related to the usage of audio in Dedicated Server. Those should be fixed in the latest 2022.1.0a14 and will be in 2021.2.4f1.
    Could you please give it a try in that version and let us know if it works for you?
     
  36. nicolas_lebedenco

    nicolas_lebedenco

    Unity Technologies

    Joined:
    Jun 23, 2021
    Posts:
    1
    @gamejogador1 Normally, Unity applications have console input and output disabled so methods such as System.Console.WriteLine will silently fail even if the application is started in the command line with -batchmode. There are alternatives to arbitrarily attach a terminal window but they all require use of native system libraries (with DllImport). The only exception is for headless unity applications. In old unity versions they were built with BuildOptions.EnableHeadlessMode enabled (equivalent to setting the Server Build checkbox in the build settings window) or more recently using the Dedicated Server platform (subtarget). The resulting unity player in this case will have no visual elements without the need to specify any command line options, managed scripts will be compiled with the UNITY_SERVER compiler directive and stdin and stdout will be accessible (although Unity logs will go to stdout by default). Mac and Linux players are compiled as a standard console application. Windows player is compiled with /SUBSYSTEM:Console and runs as a standard windows console application. Now one of the caveats with logging is that you may want them in a file and I mention it here https://forum.unity.com/threads/unity-server-build-logs.947481/#post-6506649. On the other hand, if you want to have a clean stdout you need to replace Unity's default log handler.
     
  37. inkcomic

    inkcomic

    Joined:
    Jan 6, 2015
    Posts:
    4
    Sure I will try it.
    Actually in my project with the plugin "TopdownEngine", which uses many audio features, hope it will be fixed. Many thanks:D
     
  38. Behappy859

    Behappy859

    Joined:
    Jul 25, 2019
    Posts:
    15
    This dedicated server I click on.... is it for Xbox consoles/Windows? Or should I still use URP for Xbox if I'm in the Creators Program/Partner Center on Microsoft.
     
  39. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    1,228
    Hi @UnityGio. Have u start battle testing this Dedicated Server target for dots netcode and make sure it's always working properly for dots netcode?
     
  40. iceb_

    iceb_

    Joined:
    Nov 10, 2015
    Posts:
    93
    Just tested building to dedicated server in 2021.2.4f1, taking longer than expected to build because it's going through and compiling and stripping all the shaders. ( currently in 2021.2.4f1, it takes a super long time to do the shader stripping of shaders with any build target ) Curious why it even needs to take the time to compile shaders at all as headless?

    At least it doesn't need to swap the art asset files though like the headless server builder 3rd party asset.
     
    Claytonious likes this.
  41. inkcomic

    inkcomic

    Joined:
    Jan 6, 2015
    Posts:
    4
    Just verified in 2021.2.4f1, It wont crash anymore, thanks.:)
     
    cristianm_unity likes this.
  42. Vladnee

    Vladnee

    Joined:
    Apr 28, 2017
    Posts:
    12
    Hi. How about asset bundles? Can I build asset bundles for a dedicated server that has no rendering/audio data?
     
  43. Rodlaiz

    Rodlaiz

    Joined:
    Jul 30, 2013
    Posts:
    38
    From someone starting from scratch... Is there a page in the documentation or tutorial out there explaining how to create a Dedicated Server with Unity Netcode, how to host it and try it with friends ? Been looking around for a while and the Discord channel point me to this subforum. Thank you
     
  44. brunoma

    brunoma

    Joined:
    Mar 10, 2015
    Posts:
    3
    did this get added in 2021.2? it's not in 2020.3?
     
  45. Nickromancer

    Nickromancer

    Joined:
    Jul 31, 2016
    Posts:
    82
    I got

    when running my game server in virtual box VM. Isn't the dedicated server build have visual stuff stripped? Should I just ignore these error message?
     
  46. cristianm_unity

    cristianm_unity

    Unity Technologies

    Joined:
    Oct 16, 2018
    Posts:
    193
    @Nickromancer, Shaders are not striped out yet and that is why you can see those messages. No rendering is happening though, so it's safe for now to ignore them.
    We expect to improve it in the future.
     
  47. cristianm_unity

    cristianm_unity

    Unity Technologies

    Joined:
    Oct 16, 2018
    Posts:
    193
    @brunoma,
    That is correct, Dedicated Server target -and its optimizations- was introduced in 2021.2. In previous versions you can use the "Server Build" options of the build settings.
     
  48. cristianm_unity

    cristianm_unity

    Unity Technologies

    Joined:
    Oct 16, 2018
    Posts:
    193
    Hey @Vladnee,
    This version of Dedicated Server does not introduce any change to Asset Bundles, which means that you can build them and use them in your Dedicated Server builds, but no optimizations will happen for the bundles themselves.
     
  49. Spitap

    Spitap

    Joined:
    Jan 10, 2021
    Posts:
    3
  50. cristianm_unity

    cristianm_unity

    Unity Technologies

    Joined:
    Oct 16, 2018
    Posts:
    193
    Hi @Spitap,
    Yes, unofficially we have a
    -standaloneBuildSubtarget
    argument that you can use with the "Player" or "Server" value.
    We are looking forward to add it officially to the documentation but be aware that it could change.
     
    Claytonious likes this.
unityunity