Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by SeaPeaMe · Dec 18, 2017 at 12:10 AM · c#gui

Loading Game Crash

Hey guys! Creeperbot65 here!

I'm having a problem with loading data and then creating instances with that data. It's kinda hard to explain but here are the scripts (All written in C#)

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class InstanceCreating : MonoBehaviour {
 
     public float PlacementTime;
     private double Wait;
     public Dropdown MeshDropdown;
     public Slider SizeSlider;
     public GameObject CubePrefab;
     public GameObject SpherePrefab;
     public GameObject CylinderPrefab;
     public GameObject CapsulePrefab;
     public Transform PositionSpawn; 
     public Camera Cam;
     public Quaternion Rotation;
     public float InstantiateDistance;
     public int OBJsCreated;
 
     //Loading Vars
     public Button LoadButton;
     public bool LoadAll = false;
     private int Instancestoload = 0;
     private int Mesh;
     private float X;
     private float Y;
     private float Z;
     public bool KillIns;
 
     void Start () {
         Button btn = LoadButton.GetComponent<Button>();
         btn.onClick.AddListener(TaskOnClick);
     }
 
     void Awake () {
         OBJsCreated = 1;
     }
 
     void FixedUpdate () {
 
         InstantiateDistance += Input.GetAxis("Mouse ScrollWheel");
 
         if (Input.GetKey(KeyCode.E) && Time.time > Wait) {
             Vector3 temp = Cam.transform.position;
             if (MeshDropdown.value == 0) {
                 Instantiate (CubePrefab, Cam.transform.position + Cam.transform.forward * InstantiateDistance , Rotation);
             } else if (MeshDropdown.value == 1) {
                 Instantiate (SpherePrefab, Cam.transform.position + Cam.transform.forward * InstantiateDistance , Rotation);
             } else if (MeshDropdown.value == 2) {
                 Instantiate (CapsulePrefab, Cam.transform.position + Cam.transform.forward * InstantiateDistance , Rotation);
             } else if (MeshDropdown.value == 3) {
                 Instantiate (CylinderPrefab, Cam.transform.position + Cam.transform.forward * InstantiateDistance , Rotation);
             }
 
             OBJsCreated = OBJsCreated + 1;
             Wait = Time.time + PlacementTime;
             }
 
         }
     
 
     void TaskOnClick () {
         LoadAll = true;
         Instancestoload = PlayerPrefs.GetInt ("InsCreated");
         Wait = Time.time + 0.2;
         while (Time.time < Wait) {
             KillIns = true;
         }
             KillIns = false;
             OBJsCreated = 1;
             for (int OBJsCreated = 1; OBJsCreated > Instancestoload; OBJsCreated++) {
 
                 Mesh = PlayerPrefs.GetInt (OBJsCreated + "_Mesh");
                 X = PlayerPrefs.GetFloat (OBJsCreated + "_X");
                 Y = PlayerPrefs.GetFloat (OBJsCreated + "_Y");
                 Z = PlayerPrefs.GetFloat (OBJsCreated + "_Z");
 
                 if (Mesh == 0) {
                     Instantiate (CubePrefab, new Vector3 (X, Y, Z), Rotation);
                 } else if (Mesh == 1) {
                     Instantiate (SpherePrefab, new Vector3 (X, Y, Z), Rotation);
                 } else if (Mesh == 2) {
                     Instantiate (CylinderPrefab, new Vector3 (X, Y, Z), Rotation);
                 } else if (Mesh == 3) {
                     Instantiate (CapsulePrefab, new Vector3 (X, Y, Z), Rotation);
                 }
 
             }
 
             LoadAll = false;
     }
 
 }
 

That was script one and here's the other for instances that have been created.

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class InsScript : MonoBehaviour {
 
     public Renderer rend;
     public Texture GrassTexture;
     public Dropdown MaterialDD;
     public Slider SizeSlider;
     public Toggle PhysicsTogg;
     public Camera MainCam;
     private int InsNo;
     public int Material;
     public float Scale;
     public bool Save = false;
     public Dropdown MeshDD;
     public int Mesh;
     private bool LoadAll = false;
     private bool KillINS = false;
 
     // Use this for initialization
     void Awake () {
 
         //Gets material dropdown from StuffForCubePrefab script
         GameObject GameController = GameObject.Find("GameController");
         StuffForCubePrefab MaterialPrefabScript = GameController.GetComponent<StuffForCubePrefab>();
         InstanceCreating InstCreateScript = GameController.GetComponent<InstanceCreating>();
         InsNo = InstCreateScript.OBJsCreated;
         MeshDD = MaterialPrefabScript.MeshDD;
         MaterialDD = MaterialPrefabScript.MaterialDD;
         GrassTexture = MaterialPrefabScript.GrassTexture;
         SizeSlider = MaterialPrefabScript.SizeSlider;
         PhysicsTogg = MaterialPrefabScript.PhysicsTogg;
         MainCam = MaterialPrefabScript.MainCam;
         PhysicsTogg = MaterialPrefabScript.PhysicsTogg;
         Mesh = MeshDD.value;
 
         InstanceCreating LoadScript = GameController.GetComponent<InstanceCreating>();
         LoadAll = LoadScript.LoadAll;
         if (LoadAll == false) {
             if (MaterialDD.value == 0) {
                 rend.material.mainTexture = GrassTexture;
             }
 
             Material = MaterialDD.value;
 
             transform.localScale = new Vector3 (SizeSlider.value, SizeSlider.value, SizeSlider.value);
             Scale = SizeSlider.value;
         } else {
             Material = PlayerPrefs.GetInt (InsNo + "_Mat");
             Scale = PlayerPrefs.GetFloat (InsNo + "_Size");
 
             //sets Material
             if (Material == 0) {
                 rend.material.mainTexture = GrassTexture;
             }
 
             //sets Size
             transform.localScale = new Vector3 (Scale, Scale, Scale);
         }
 
 
     }
     
     // Update is called once per frame
     void FixedUpdate () {
         if (PhysicsTogg.isOn == false) {
             transform.rotation = Quaternion.Euler(0, 0, 0);
             Rigidbody RigidBody = GetComponent<Rigidbody>();
             RigidBody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationZ | RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezePositionY | RigidbodyConstraints.FreezePositionZ | RigidbodyConstraints.FreezePositionX;
         } else {
             Rigidbody RigidBody = GetComponent<Rigidbody>();
             RigidBody.constraints = RigidbodyConstraints.None;
         }
 
         GameObject GameController = GameObject.Find("GameController");
         SaveAll SaveScript = GameController.GetComponent<SaveAll>();
         Save = SaveScript.Save;
         if (Save == true) {
             PlayerPrefs.SetInt (InsNo + "_Mesh", Mesh);
             PlayerPrefs.SetInt (InsNo + "_Mat", Material);
             PlayerPrefs.SetFloat (InsNo + "_Size", Scale);
             PlayerPrefs.SetFloat (InsNo + "_X", transform.position.x);
             PlayerPrefs.SetFloat (InsNo + "_Y", transform.position.y);
             PlayerPrefs.SetFloat (InsNo + "_Z", transform.position.z);
         }
 
         InstanceCreating InsCreScript = GameController.GetComponent<InstanceCreating>();
         KillINS = InsCreScript.KillIns;
         if (KillINS == true) {
             Destroy (this.gameObject);
         }
 
     }
 }
 

Thanks for helping!

-creeperbot65

Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image DreadKyller · Dec 18, 2017 at 03:00 AM 1
Share

Could you please post the errors that appear in the console when the game crashes?

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by AdmiralThrawn · Dec 19, 2017 at 12:05 PM

  1. Hard to help you without knowing the exact error. So if you like to receive some help, make sure to provide all necessary information, that is at least the copy of the error stack trace shown in the Unity log window.

  2. You frequently use code like:

    Save = SaveScript.Save; if (Save == true) { ... }

a) If you don't use Save anywhere else, there is no reason to store SaveScript.Save into a global or local variable. Therefor you can simply use

    if (SaveScript.Save) { ... }

b) You don't need to compare bool variables via '==' for comparison.

    if (isSomethingTrue) { ...}

or the opposite case

    if (!isSomethingFalse) { /* run only if isSomethingFalse is false */ ... }

will use a minimum of code and increase the readability (given the case you actually use proper naming for variables, methods, etc.

On a side note: The book 'Clean Code' by Robert C. Martin is a good read for any programmer. :)

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image SeaPeaMe · Dec 21, 2017 at 10:01 PM 0
Share

Ok, Thanks! But nothing appears in the console, it crashes unity. I'll see if it works in the new version of Unity.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

489 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Locate _MainTex from a public shader and assign to instantiated prefab for GUI 1 Answer

Editor Window 1 Answer

I don't know how to create a highscore gui text and display it at death screen 0 Answers

How to fill a bar constantly between two variables? 1 Answer

Update and Get PlayerPrefs during runtime? 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges