Showing posts with label Unity. Show all posts
Showing posts with label Unity. Show all posts

Unity Collaborate Disadvantages or Limitations

After getting two months of experience with unity collaborate, I am able to highlight some serious problems of Unity collaborate. Or in other words, you can say unity collaborate disadvantages or limitations. 

Learn More: How to Enable Unity Collaborate.

So, without particular order they are given below:

Unity Collaborate Disadvantages/Limitations:

Scene Merging Not Support:

Your scene will be replaced if someone changed the scene on the server and you pull the changes. Your changes will be lost if you are working on the same scene meanwhile you pull all the changes. You have to do some manual work in order to save your work. I found it is better to make a prefab instead of placing your changes or setting in the scene.

Unity Collaborate Project Take Time to Reopen:

        If your project is heavy, heavy means a large project with more files. Then, it will take more time to load. Let say, we open a project that was already on the cloud (collaborate), then it will take time to recheck every file or revalidate the file from the server. Its time consuming and for heavy projects, it takes about half-hour or more.

3.      Unity Collaborate is Slow:

        Collaborate is slow sometimes. It stuck when updating the conflict or changes from the server. Conflict means two users have changed the same file. Then, you have to resolve the conflict either by merging both files or using the server or your file. You can see the difference of the file on third-party tools that unity automatically opens for you if it is already installed.

4.       Changes Some time Not recognized at Scene level:

            I uploaded changes on collaborate, my colleague downloaded the project with the changes but at scene levels, not all changes were sync at his side. At his side, some objects were missing scripts and colliders. It was a very very very strange problem for us (not repeated on other projects). I see that collaborate were not showing any remaining updates. It means that everything was up to date.

5.       Conflict Resolve one by one:

        You have to resolve conflicts one by one.

Unity WebGL Conversion Guide - Steps to consider For Unity Webgl Conversion

 There are some common steps you need to repeat whenever you make Unity WebGL build or if you want to convert your project into WebGL. Beware I am not using Unity 2020.

Learn more: Unity WebGL Technical Breakdown

1. Convert to Latest Unity Version (if Possible):

Always try to use the latest Unity version if you are building for unity WebGL as unity WebGL has several issues. With each new unity release, we see different bug fixes but remember each new build brings it known issues. If you don't have any problem with the latest unity version then, you should adopt it for your WebGL project. Beware porting to your current project into the latest unity version can show significant compatibility issues, so make a backup before conversion.

2. Save Scripting Define Symbols 

Before converting to WebGL please save your scripting define symbol outside unity (separately). Scripting defines symbols will be available under player settings. Some of the symbols are lost during WebGL conversion.
Scripting define symbols in webgl


Unity WebGL Technical breakdown - How Unity WebGL Works

 A Glimpse of technical background of unity3d WebGL:

Unity support dozen of platform for application deployment and one of them is WebGL. WebGL allows you to run your content on a web. Technically, WebGL is an API that renders graphics in web browser.  Currently, it has two supported version of WebGL 1.0 and 2.0. Remember WebGL 1.0 roughly matches the functionally of OpenGL ES 2.0 while WebGL 2.0 roughly matches the functionally of OpenGL ES 3.0.

Unity WebGL Structure


Figure 1 Unity WebGL consist of these components.

Post Processing and Unity WebGL

 A common question asked several times about unity post-processing and WebGL, why post-processing is not working on my browser or some of post-processing features are not working in browser: The reason is that post-processing works with WebGL 2 (Unity Forum). Unity WebGL Post processing doesn't work on WebGL1. If your browser and GPU support WebGL 2.0 then PPS (Post Processing stack) should work within your browser. Unity Support graphics API WebGL 1 and WebGL 2 and if Graphic API settings are set to auto then WebGL 2 will try to run first (if supported in the browser) :


Webgl auto graphic api

How to Import NuGet package in Unity3d

You often require to add third-party dll or nuget packages in Unity3d project. In this unity tutorial I will show you step by step how to add Nuget Package or dll into Unity3d project. For this tutorial we choose newtonsoft nuget package. You can adopt these steps for any nuGet package.

Here are the details,
      go to your desired NuGet package webpage.
      on the right side **Download Package** option click it.
      your package **.nupkg** file will be downloaded.
      change its extension to .zip and extract it
      go to lib and copy your package dll file from net or any netstandard folder. For [your unity project compatibility purposes][2] view this:

      open unity workspace and create plugin folder
      paste your dll file here.

Unity Webgl Issues and Solutions

During my extensive interaction with unity WebGL, I found different things that are difficult to handle in unity WebGL or Unity Webgl has some serious limitations (But nevertheless I have managed to stream large 3D area in unity WebGL with asset bundles). I have made this post in order to show you Unity3D WebGL issues sheet and if you are interested to see what technologies or toolchain Unity WebGL using behind the Scene then check this post. So, without a particular order here is the list of unity webgl limitations with relevant references for your further research. 



1. You cannot use Threads in unity WebGL. Here is the error that you will get when thread try to start:
SystemException: Thread creation failed.
UnityLoader.js:4   at System.Threading.Thread.StartInternal (System.Security.Principal.IPrincipal principal, System.Threading.StackCrawlMark& stackMark) [0x00000] in <00000000000000000000000000000000>:0
GameDev Question
Unity Forum
Unity Webgl Doc
Update: Unity claim that in Version 2019.1.0 they have added multiple Multithreading support but it was not working according to my test and now I also find this that there was bug with the problem which has fixed in Unity 2020.1.0 and Unity 2019.4.7 (untested)

2. If you are continuously pressing any keyboard input key and meanwhile you lost focus to WebGL canvas in the browser, the input will still work even after releasing the key. The situation may get worst in the Edge browser.
Ref:
SE Question
Maybe resolved in Unity 2019.3.0 but I have tested and still the same problem is happening.

Unity Tips and Tricks (Unity Shader Tips and Tricks) Part V

In this post, we gather different tips and tricks related to Unity Shaders.

Unity Shader Tips and Tricks











See Also: