Switching to Godot from Unity [closed]

Hello folks.

This is my first question on this community and sorry if I will be a bit unclear. At first this is not a question for any solution about certain problem, I just want to listen some advice about changing a game engine.

I am unity developer for 2 years and I really love to make games, but there are some things which makes me feel little uncomfortable (for example pricing for unlocking some features, or being closed source). And that’s why I am thinking about changing working environment from unity to Godot. If there is someone who have done such thing before please let me know if it worth to invest my time into a new engine, or what difficulties will I encounter if I will give up unity and move to Godot.

Once again sorry if this is irrelevant post for this site or I am not clear enough.

What challenges might I expect from switching to online DMing from exclusively tabletop?

Because of COVID-19 our exclusively in-person sessions are going entirely online. We have downloaded roll 20, and we have voice chat, but beyond that we are fish out of water in the new medium.

What challenges might I expect from switching to online DMing from exclusively tabletop?

Does switching between using a versatile weapon one-handed to two-handed cost anything with regards to the action economy?

The versatile weapon property says (PHB, p. 147):

Versatile. This weapon can be used with one or two hands. A damage value in parentheses appears with the property–the damage when the weapon is used with two hands to make a melee attack.

A weapon with the versatile property, such as a longsword or a quarterstaff, can be wielded with one or two hands. Does it consume any part of the action economy to switch between using one or two hands on your turn?

Intuitively I’d say no, I imagine it costs absolutely nothing, but I can imagine, at worst, there being arguments for it costing your “free object interaction” (PHB, p. 190). Which is it?

(Below are some related Q&As, but not specific to versatile weapons, sadly).


The accepted answer to a related Q&A (thanks @NautArch) suggests that:

Taking your hand off the weapon should not require any action expenditure – you are just letting go of it, same as if you dropped it.

You can then use your free object interaction to restore your grip after casting.

The reasoning for the first case makes sense, but the second case isn’t backed up by anything, although I can see the logic behind it.

The errata posted in that answer, to me, suggests that it would in fact cost nothing to grip the weapon with a second hand, almost like it’s “part of the attack”, similar to how the Ammunition weapon property works, but again, this is logic, not RAW.

To give a concrete example, if we imagine that a PC’s turn starts with a longsword in one hand and a spellcasting focus in the other; they spend their bonus action casting a spell with their focus, and then spend their free object interaction putting that focus away. With only their action left, can they now attack with their longsword using it as a versatile weapon (i.e. dealing 1d10 damage instead of 1d8)?


See also, the “following round” scenario of this question (thanks @Medix2), which involves sheathing a shortsword and attacking with a longbow that requires two hands. This is almost exactly the same scenario as the one I detailed above.

Why it’s never switching cameras and not moving back to the original position the transform?

using System; using System.Collections; using System.Collections.Generic; using UnityEngine;  public class OpenningScene : MonoBehaviour {     [Header("Animators")]     public Animator[] animators;      [Space(5)]     [Header("Movement Settings")]     public Transform target;     public float movingSpeed = 1f;     public bool slowDown = false;      [Space(5)]     [Header("Rotation Settings")]     public float rotationSpeed;     public DepthOfField dephOfField;     public float waitingAnimation;     public float startConversation;      [Space(5)]     [Header("Cameras")]     public Camera[] cameras;      private Vector3 targetCenter;     private bool startWaitingAnim = true;     private bool endRot = false;     private int medea_m_arrebola_index;     private List<int> soldiers_indexs;     private Vector3 originalPosition;      // Use this for initialization     void Start()     {         originalPosition = transform.position;          targetCenter = target.GetComponent<Renderer>().bounds.center;         soldiers_indexs = new List<int>();          for (int i = 0; i < animators.Length; i++)         {             animators[i].SetFloat("Walking Speed", movingSpeed);              if(animators[i].name == "medea_m_arrebola")             {                 medea_m_arrebola_index = i;             }             else             {                 soldiers_indexs.Add(i);             }         }     }      // Update is called once per frame     void Update()     {         if (dephOfField.dephOfFieldFinished == true)         {             PlayConversations.PlaySingleConversation(0);             dephOfField.dephOfFieldFinished = false;         }          float distanceFromTarget = Vector3.Distance(animators[medea_m_arrebola_index].transform.position, target.position);          if (slowDown)         {             if (distanceFromTarget < 10)             {                 float speed = (distanceFromTarget / 10);                 for (int i = 0; i < animators.Length; i++)                 {                     animators[i].SetFloat("Walking Speed", speed);                 }             }         }          if (distanceFromTarget < 5f)         {             for (int i = 0; i < animators.Length; i++)             {                 animators[i].SetBool("Idle", true);                  if (startWaitingAnim == true)                 {                     StartCoroutine(WaitForAnimation());                     startWaitingAnim = false;                 }             }              if (waitinganimation == true)             {                 animators[medea_m_arrebola_index].SetBool("Magic Pack", true);                 waitinganimation = false;                  PlayConversations.PlaySingleConversation(1);             }              if(distanceFromTarget > 10 && BeginningCutsceneTrigger.entered == true)             {                 transform.position = originalPosition;                 cameras[0].enabled = false;                 cameras[1].enabled = true;             }              for (int i = 0; i < soldiers_indexs.Count; i++)             {                 animators[soldiers_indexs[i]].SetBool("Rifle Aiming Idle", true);                 if (!endRot)                 {                     Quaternion goalRotation = Quaternion.Euler(0f, 0f, 0f);                     float angleToGoal = Quaternion.Angle(                             goalRotation,                             animators[soldiers_indexs[i]].transform.localRotation);                     float angleThisFrame = Mathf.Min(angleToGoal, rotationSpeed * Time.deltaTime);                      int index = soldiers_indexs[i];                     animators[index].transform.Rotate(index % 2 == 0 ? Vector3.up : Vector3.down, angleThisFrame);                      // We end if we rotated the remaining amount.                     endRot = (angleThisFrame == angleToGoal);                 }             }         }     }      bool waitinganimation = false;     IEnumerator WaitForAnimation()     {         yield return new WaitForSeconds(waitingAnimation);          waitinganimation = true;     } } 

Maybe the reason is that the player is not in the view range of the other characters ? If I set it to be bigger then 3 it will switch the cameras but not move the transform to it’s original position.

And I want that when the distance is bigger then 10 and the other flag is true then change the transform position and switch the cameras but it’s not working.

This is how I trigger the flag and it’s working I checked with a break point :

using System.Collections; using System.Collections.Generic; using UnityEngine;  public class BeginningCutsceneTrigger : MonoBehaviour {     public static bool entered = false;      private void OnTriggerEnter(Collider other)     {         entered = true;     } } 

Ubuntu 18.04 suspends when switching monitor inputs

I have two monitors in a multi-computer setup. I have my Ubuntu 18.04 Dell XPS 15 laptop docked and connected to both monitors as well (each monitor has an HDMI switch to determine which computer to display). If at any point both of my monitors are switched to an input other than my laptop, Ubuntu suspends or otherwise stops sending signal to the monitors. Switching my monitor’s input back to my laptop results in no signal. At that point I’m required to pull my monitor out of its mount and open it in order to regain signal on my monitors.

While my laptop is docked the lid is closed and the built-in display turned off. I’d really like to be able to maintain the signal that my laptop is sending to my monitors so that I can easily switch back to Ubuntu after accessing my other computer, and after significant searching I have yet to find a way to do this.

Blank Screen on switching from nvidia to intel with ubuntu 16.04 on ASUS TUF FX504

I have recently installed nvidia-415 (415.27) from PPA.
OS: Ubuntu 16.04
System: ASUS TUF FX504 (gaming)
NVIDIA: Geforce 1050 ti
CPU: intel i5 8th gen

following are the observations:-

  • Nvidia mode works fine as I get output on nvidia-smi
  • On switching to Intel mode using NVIDIA-Xserver setting, I get blank screen just after logout and also after reboot.
  • On changing again to Nvidia mode using tty1 in recovery mode using prime-select nvidia everything works fine.

Can’t cancel the alt-shift shortcut for switching keyboard layout in Ubuntu 18.04

Can’t find a way to cancel the alt-shift shortcut. I do not see it under

Settings>Devices>Keyboard>Typing

(I do see super+space and super+shift+space).

I also do not see it in

gsettings get org.gnome.desktop.wm.keybindings switch-input-source  ['<Super>space'] 

How to disable that shortcut? I want to switch layouts using super+space, while alt-shift is used for various other shortcuts by various applications.

Problem switching GPUs with prime-select (nvidia and intel)

Im pretty new to Linux and Im triying to get working both my integrated Intel and dedicated Nvidia (1050 Ti) GPUs in my dell XPS 9570, with prime-select program, but Im having troubles.

If I dont touch the xorg.conf generated with nvidia-xconfig:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig:  version 430.50   Section "ServerLayout"     Identifier     "Layout0"     Screen      0  "Screen0" 0 0     InputDevice    "Keyboard0" "CoreKeyboard"     InputDevice    "Mouse0" "CorePointer" EndSection  Section "Files" EndSection  Section "InputDevice"      # generated from default     Identifier     "Mouse0"     Driver         "mouse"     Option         "Protocol" "auto"     Option         "Device" "/dev/psaux"     Option         "Emulate3Buttons" "no"     Option         "ZAxisMapping" "4 5" EndSection  Section "InputDevice"      # generated from default     Identifier     "Keyboard0"     Driver         "kbd" EndSection  Section "Monitor"     Identifier     "Monitor0"     VendorName     "Unknown"     ModelName      "Unknown"     Option         "DPMS" EndSection  Section "Device"     Identifier     "Device0"     Driver         "nvidia"     VendorName     "NVIDIA Corporation" EndSection  Section "Screen"     Identifier     "Screen0"     Device         "Device0"     Monitor        "Monitor0"     DefaultDepth    24     SubSection     "Display"         Depth       24     EndSubSection EndSection 

my intel graphic works great but a I get a black screen with the nvidia one.

If i use this xorg.conf (I took it in nvidia forum):

Section "ServerLayout"     Identifier     "Layout0"     Screen      0  "nvidia"     Inactive       "intel" EndSection  Section "Device"     Identifier     "intel"     Driver     "modesetting"     BusID      "PCI:0@0:2:0"     Option     "AccelMethod" "None" EndSection  Section "Screen"     Identifier     "intel"     Device     "intel" EndSection  Section "Device"     Identifier     "nvidia"     BusID      "PCI:1@0:0:0"     Driver         "nvidia"     VendorName     "NVIDIA Corporation"     Option     "ConstrainCursor" "off" EndSection  Section "Screen"     Identifier     "nvidia"     Device         "nvidia"     Option     "AllowEmptyInitialConfiguration" "on"     Option     "IgnoreDisplayDevices" "CRT" EndSection 

the nvidia gpu works but the intel one get black screen in booting.

Any ideas to fix this? I purge and reinstal nvidia (as usual pipeline) many times, but the error keeps.

Thank you.

Penalty for switching targets?

I’m playing a fighter with the two weapon fighting style. Several times in the game tonight, I killed my target with my first attack, and so wanted to use my bonus attack to go at one of the other monsters in the room. Once, I hadn’t moved yet & so used my movement to close with the second monster, and another time the second target was already in range without me needing to move.

Each time, however, our DM made me take a -3 to my hit roll on the second attack (not even like roll with disadvantage, just an arbitrary number he pulled out of his ass) and said it was because I was switching targets.

I played a little of older versions of dnd growing up, but only really got into it a few years ago with 5e. Is this some old school rule the DM is citing? I’ve seen discussions online saying you can move between attacks but haven’t been able to find anything to suggest you take a penalty for switching to a new target.

This DM also isn’t just capricious or vindictive – he always happily relents if we show him a rule in the PHB that goes against what he’s saying, for example, and any homebrew/house rules get discussed beforehand. This is just the first time I’ve ever encountered this sort of penalty, and I’ve played with TWF with other DMs in the past…