Showing posts with label Unity3d. Show all posts
Showing posts with label Unity3d. Show all posts

Unity Awake vs Start Event - Differences and Similarity


Unity MonoBehaviour offers different magic events that you can attach to any GameObject. In this unity tutorial I will explain awake or start events as they both mostly use for assignment purposes.

Awake:  Awake is invoked when the MonoBehaviour is created. You may view it as your default constructor
Start: Start event executes after all initialization is done and the first frame for the behavior is about to run. Start runs right before the Update event.
Similarity:
Start/Awake are called exactly once in the lifetime of the script.

How to Call one C# method from another C# script in Unity3d

Calling one method of a script from another script is common in Unity3d game development. In this Unity3d beginners tutorial I will show you how to call one c# method from another script.

How to add Serilog or Third Party Logging in Unity3d

In this video tutorial I have explained how to add third party logging system in Unity3d. This is advance logging way to log information in unity console with SeriLog. you can even write your games logs in specific text file with proper text formatting.

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 vector graphics package missing solution

Unity Vector graphic package is in the preview stage currently so you need to check one more setting in order to view the package in the package manager window. First of all, you need to open package manager window from the Window menu then click on advanced setting and check show preview packages.


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:

Game Pause on error in Unity3d

For debugging purposes, you may require to pause the game on an error so that you can inspect the game situation. For this reason, you can follow these steps:

1. Write an error log in block of the code

    Debug.LogError("Exception occured");

And before running the editor open console and hit Error Pause in the console log.


The game will pause as any error occurred in the console.

  

How to send email form Unity3d and C# using gmail

Here are the 7 steps guide to send an email from your unity game using Gmail service. With gamil mail service you can send email in unity3d.

Steps for Gmail Account:

1. Login to Gmail Account
2. Go to at this location https://myaccount.google.com/security
3. Go to the Less secure app access section and Turn on Allow less secure app access (see image below)


Steps for Unity

4. Create a Unity project (or in your existing project) Make a script with SendEmail name and Copy Below code.
5. Attach the script with any game-object in your hierarchy.
6. Provide the credential in the inspector in the script (like your account and password and receiver account, message body, etc)
7. Run the game, it will send the email to the desired address in the start function

Note: If your system is behind a proxy then, email may not be sent and throw an exception.