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 /
avatar image
0
Question by dcaamano · Sep 04, 2015 at 08:23 PM · serializationbuildpipeline

Serializing MonoBehaviours

I'm sure this has been asked before but I was unable to locate an answer.

I would like to create a simple comment script. To allow an implementor to explain why/how the gameobject is constructed as it is.

Simple enough, but what I don't want; Is for that component to be serialized with the gameobject when the project is built (Android/iOS/etc...).

The only info I could find was to wrap the class within #if UNITY_EDITOR. I would assume the component would still exist on the object but would have empty data? or a 'missing' component?

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

1 Reply

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

Answer by Positive7 · Sep 04, 2015 at 09:11 PM

http://docs.unity3d.com/Manual/PlatformDependentCompilation.html[link text][1]

So for example if you attach this code to your Project :

 public class PlatformDefines : MonoBehaviour {
   void Start () {
 
     #if UNITY_EDITOR
       Debug.Log("Unity Editor");
     #endif
     
     #if UNITY_IPHONE
       Debug.Log("Iphone");
     #endif
 
     #if UNITY_STANDALONE_OSX
     Debug.Log("Stand Alone OSX");
     #endif
 
     #if UNITY_STANDALONE_WIN
       Debug.Log("Stand Alone Windows");
     #endif
 
   }          
 }

It will compile the code depends on the Build Settings. So for example if you build it Windows and check Assembly-Csharp.dll with reserved engineering Software the code would look like this :

 using System;
 using UnityEngine;
 public class PlatformDefines : MonoBehaviour
 {
     private void Start()
     {
         Debug.Log("Stand Alone Windows");
     }
 }


[1]: http://docs.unity3d.com/Manual/PlatformDependentCompilation.html

Comment
Add comment · Show 2 · 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 dcaamano · Sep 04, 2015 at 09:42 PM 0
Share

What would it look like if I did the following?

 #if UNITY_EDITOR
 using System;
 using UnityEngine;
 public class PlatformDefines : $$anonymous$$onoBehaviour
 {
    private void Start()
    {
       Debug.Log("Unity Editor");
    }
 }
 #endif

$$anonymous$$y concern is bloating the bundle size over a script that is meant to be development only.

avatar image Positive7 · Sep 04, 2015 at 10:00 PM 0
Share

An empty dll . The script PlatformDefines.cs would not exist in the dll.

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Build pipeline and wrong values in OnValidate / ISerializationCallbackReceiver 0 Answers

JsonUtility not found / working 0 Answers

How to store references between scriptableobject assets 3 Answers

Trying to Use DataContractSerializer with 0 Answers

Unserialized private variable values from static instance persist when exiting play mode 1 Answer


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