Problem: Game would finish level, but would not load next one.
The issue was that all the levels were not included in the build scene, (File -> Build Settings -> Scenes In Build) so even though the level was correct in PlayMaker, it would not load the level in the Game window while testing.
To add scene to build, open the scene up in the editor, then open the Build Settings from File -> Build Settings… or Ctrl+Shift+B and Add Open Scenes
The following is some quick notes on using CHIPSEC to compare the EFI whitelist on your current machine with the BIOS Dell provides
Install prerequisites (Uses python 2)
Git clone Chipsec
Install (Had to use a -i option, is in the manual)
Run (Use spaces like below)
Extract Bios ROM from Dell EXE Use the BIOS exe to output a .rom file that you can use in Linux. Run the following command from Windows command prompt, accept the security request. Change the EXE to the BIOS you downloaded.
The BIOS rom is named dell.rom in the following commands
Get list of Computer ROM
Should create fw.bin file and efilist.json file from local machine
sudo python chipsec_main.py -m tools.uefi.whitelist -a generate efilist.json dell.rom
Compare the current ROM against the one downloaded from Dell
sudo python chipsec_main.py -m tools.uefi.whitelist -a check efilist.json fw.bin
For some reason Ubuntu was not recognizing the last three options after the -a as individual options unless there was a space in between them. All the examples online show that they had commas between them. Which should work, so wonder if it was an environment variable problem or something.
The tell tell sign was the [*] Module arguments Line only shows 1 argument, needs 3.
When you have a button object there is the On Click () area that can execute different actions like a PlayMaker script or a function in a C# script.
Issue with the C# script. You can’t drag and drop the script from the Assets Panel. The script needs to be assigned to an object, then drag and drop that object on the On Click () object. Then select the script and then the function from the drop down there.
Code snippet below is the EnableDisableAudio function that gets executed by the On Click () function above. Note that the script has to be assigned to an object, in this case the button.
Looks that the issue has something to do with the fade event not being on the camera directly. Work around is to create a FSM on the main camera to fade in when the scene starts, have a bool that gets turned to true when the scene ends. Then the FSM on the camera fades out.
The following scriptwill let an object follow a player when it is within a certain range and will stop following it once it is out of a certain range
The following variables can be adjusted from the Inspector.
Attack Speed = How fast the game object moves Attack Distance = How close does the player need to be to start moving Buffer Distance = How far away from the player should the game object stop Player = Game player to target
To use script, create a new C# script named FollowPlayer and paste in the following.
public class FollowPlayer : MonoBehaviour
public float attackSpeed = 4;
public float attackDistance;
public float bufferDistance;
public GameObject player;
if (player != null)
playerTransform = player.transform;
Debug.Log("Player not specified in Inspector");
// Start is called before the first frame update
// Update is called once per frame
var distance = Vector3.Distance(playerTransform.position, transform.position);
// Debug.Log("Distance to Player" + distance);
if (distance <= attackDistance)
if (distance >= bufferDistance)
transform.position += transform.forward * attackSpeed * Time.deltaTime;