• 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
Question by gumboots · Aug 12, 2014 at 09:36 AM · resolutionruntimerendertexture

Resize RenderTexture at Runtime

Hi there,

I'm wondering if there's a way to resize a RenderTexture while the game is playing.

If I try and modify the height/width during the game, it tells me that

Resizing of render texture that is loaded not supported!

I basically want to match a RenderTexture's resolution to the screen height and width at run time. Is there a way to access it prior to loading it in the scene? It seems that as soon as I access it, it loads (obviously), and then I can't programatically modify it.

Any and all help appreciated!

Comment
Jean-Fabre
pixel_fiend
Vivien_Lynn
karinarigby
unity_EB4D9554094BAF2E142B

People who like this

5 Show 0
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
Best Answer

Answer by thebmxeur · Aug 14, 2014 at 07:48 PM

You can't resize a render texture but you can set a new one that is the size you need.

If you use the "camera.targetTexture" property (Unity Pro only) you can do :

 if ( camera.targetTexture != null ) {
     camera.targetTexture.Release( );
 }
 
 camera.targetTexture = new RenderTexture( Screen.width, Screen.height, 24 );
Comment
ruudlenders
Senshi
pvt.snake21jpn
Jean-Fabre
domportera
dmarqs
realGalaxy
IgorAherne
devang024
pixel_fiend
yacth_Mon
CreativeAVR
BCook99
quangtqag
Vivien_Lynn
And 4 more...

People who like this

17 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 ruudlenders · May 10, 2015 at 09:07 PM 1
Share

Thanks, this answer was really useful. Don't forget to reassign the texture to the mesh renderer!

avatar image unity_EB4D9554094BAF2E142B · Sep 29, 2022 at 12:26 PM 0
Share

Be aware that if stored in a seperate parameter ( RenderTexture nextTexture = new Texture(1920, 1080, 24) ) every new created texture continues to exist, even when the method is closed. The programm might crash if you infinitely create textures and leave them in memory. You could either use directly Destroy(nextTexture) or at any point System.Resources.UnloadUnusedAssets() to clear the memory.

avatar image

Answer by Neohun · Sep 28, 2022 at 08:02 AM

Well, guys the answer by @thebmxeur is wrong if you release the render texture you can modify the width and height.. here is the proper version:

 void Resize(RenderTexture renderTexture, int width, int height) {
          if (renderTexture) {
             renderTexture.Release();
             renderTexture.width = width;
             renderTexture.height = height; 
         }
 }
Comment
unity_EB4D9554094BAF2E142B
Radivarig
FlorianPogatzki

People who like this

3 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 guneyozsan · Dec 24, 2022 at 12:52 AM 1
Share

I needed to add renderTexture.Create(); at the end for this to work.

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

7 People are following this question.

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

Related Questions

Render Texture doesn't work properly runtime 1 Answer

First Person Camera Pixelation 1 Answer

Painting on Textures at Runtime? 2 Answers

Render Texture to Full Quality Texture for GUI Use 1 Answer

Export objects to a .3DS file at runtime 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