Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 /
avatar image
0
Question by Gennadios · Feb 16, 2012 at 07:52 AM · warnings

New Monobehaviour warning - instantiating unattached functions

Hello, the compiler is giving me warnings with the "map[x,z] = new Block();" section of code.

 void BaseMap() {
     bool x_color = true;
     bool y_color = true;
     
     for(int x = 0; x < sizex; x++) {
         x_color = !x_color;
         for(int z = 0; z < sizez; z++){
             map[x,z] = new Block(); //Warnings
             if(z == 0){
                 map[x,z].SetColor(x_color);
                 y_color = x_color;
                 
             }
             else{
                 y_color = !y_color;
                 map[x,z].SetColor(y_color);
                 
             }
             map[x,z].SetPosition(x,z);
         }
     }
     
 }

Essentially, I'm trying to procedurally populate a map in the checkerboard pattern and I'm doing it with an array of the Block function, which holds the colors and Vector3s of each block. The only solutions I've found through google requires attaching the script to an existing object, which is ass backwards of what I'm trying to accomplish, the Block object is meant to instantiate the cubes after all the relevant info has been set.

Can anyone advise? Is there a more Unity friendly way of doing what I'm trying to?

Comment
Add comment · Show 2
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 syclamoth · Feb 16, 2012 at 08:38 AM 0
Share

You need to attach the script to an object in the scene, because it needs to have a starting point! Why are you so against using empty objects in this way? Certainly having an un-needed transform seems a little wasteful, but to be honest you only need one of them literally all of your 'object-independent' logic.

avatar image Gennadios · Feb 16, 2012 at 08:49 AM 0
Share

The problem wasn't so much as creating an unneeded object as me creating a two dimensional array's worth of unneeded objects. As I figured out changing the Block function from a $$anonymous$$onoBehaviour to a ScriptableObject was the ideal solution as Block was meant to be more of an Abstract class.

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by Gennadios · Feb 16, 2012 at 08:39 AM

Never mind, I should have read the warning more carefully. Having Block inherit from ScriptableObject and instantiating with

 map[x,z] = ScriptableObject.CreateInstance("Block") as Block;

fixed everything.

Comment
Add comment · 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

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

6 People are following this question.

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

Related Questions

`UnityEditor.EditorUtility.GetPrefabType(UnityEngine.Object)' is obsolete? 0 Answers

Getting Unresolved Reference Warnings After Unity Update (To 5.3.4f1 64-bit) 3 Answers

error CS0649 1 Answer

Static function won't call another static function 1 Answer

Warnings when I build my Android apk 2 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