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
1
Question by Ochreous · Oct 23, 2013 at 08:33 PM · c#gui

C# GUILayout.Box GUIContent

How do you setup a GUILayout.Box with GUIContent? I've tried moving GUIContent around within GUILayout.Box's parameters but I can't get it to work.

     void OnGUI() {
         //The Following below I have tried and do not work
         //GUILayout.Box("SomeBox",new GUIContent("It is just a box"));
         //GUILayout.Box("SomeBox"),new GUIContent("It is just a box");
 
     }
 }
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

2 Replies

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

Answer by numberkruncher · Oct 23, 2013 at 08:48 PM

Like @Loius pointed out, though I would recommend caching this somewhere to avoid allocation for every frame of your game! GUIContent is a class not a struct!

Constant non-changing content:

 private static GUIContent SomeBox = new GUIContent("SomeBox", "It is just a box");

 void OnGUI() {
     GUILayout.Box(SomeBox);
 }

Variable content:

 private GUIContent someBoxContent = new GUIContent("SomeBox", "It is just a box");

 void OnGUI() {
     GUILayout.Box(SomeBox);

     if (GUILayout.Button("Change content!")) {
         someBoxContent.text = "SomeSpecialBox";
         someBoxContent.tooltip = "Okay, this is not just a box!";
     }
 }
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 Ochreous · Oct 23, 2013 at 08:58 PM 0
Share

I didn't even realise GUIContent was doing that. So in order to prevent this from happening I need to declare and use a GUIContent variable like in your two examples. Correct?

avatar image numberkruncher · Oct 23, 2013 at 10:02 PM 0
Share

Yes, that's right, you can avoid allocating new GUIContent instances by holding on to them ins$$anonymous$$d and then reusing them.

avatar image
0

Answer by FPSworrior · Oct 23, 2013 at 08:52 PM

I'm not exactly sure how you want it to be but this is what I know.

 //Place X and Y are put down so you can place the text wherever you want
 //sizeX and sizeY are so you can make the text whatever size you want
 //You can change the size and place in the editor instead of in the script
 
 public float placeX;
 public float placeY;
 public float sizeX;
 public float sizeY;
 
 
 void OnGUI()
 {
   GUI.Box(new Rect(placeX, placeY, sizeX, sizeY), "Say something");
 }

Hope this helps Vote yes if this is correct.

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

17 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

Related Questions

What is frame, How OnGuI is called every frame? 2 Answers

C# Applying Transparency to a Single GUI.Button 1 Answer

C# Boolean Doesn't Change Value 1 Answer

C# GUI Destroy or Disable? 1 Answer

FPS keep a loadout 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