Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[Closed] Etcetera Plugin Live! Alerts, prompts, loading views, push, localization and more!

Discussion in 'iOS and tvOS' started by prime31, Oct 18, 2010.

  1. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,817
    Oh sorry,
    I got that but I'm just not sure how to to find out what that full address is.
    Sorry but I've never accessed files like this before so it's a bit tricky for me.
     
    Last edited: Jan 18, 2011
  2. merlinmimer

    merlinmimer

    Joined:
    Jan 19, 2011
    Posts:
    17
    Hello, I'm having some trouble with your photo import functionality with your etcetera plugin. What I am trying to do is
    I have my iPhone application load in a photo from the photo library, and apply it to the mainTexture of one of the "render planes" in my scene (myRenderPlane.renderer.material.mainTexture = texture;). However, sometimes when I try and load a photo onto my render plane, the application crashes. It only crashes after selecting a photo to load, though it seems to be random when it crashes or not. Sometimes I'll load the same photo multiple times and it works fine, then all the sudden it crashes after loading the same photo the 4th time. Sometimes it crashes on the 1st try.

    Here is the way I am loading the photo:
    I start loading the photo by calling loadImage() when the user presses a button in my game. Then inside imagePickerChoseImage, i call my displayPhoto function to load the photo onto a render plane as soon as the image path has been loaded

    Code (csharp):
    1.    
    2.    
    3.     void loadImage()
    4.     {
    5.         if(Application.platform == RuntimePlatform.IPhonePlayer)
    6.         {
    7.             EtceteraBinding.promptForPhoto(0.9f);
    8.         }
    9.     }
    10.  
    11.     void imagePickerChoseImage(string pimagePath)
    12.     {
    13.         if(Application.platform == RuntimePlatform.IPhonePlayer)
    14.         {
    15.                 imagePath = pimagePath;
    16.             photoLoaded = true;
    17.             displayPhoto();
    18.         }
    19.     }  
    20.  
    21.     // Texture loading delegates
    22.     public void textureLoaded( Texture2D texture )
    23.     {
    24.  
    25.         myRenderPlane.renderer.material.mainTexture = texture;
    26.     }
    27.    
    28.    
    29.     public void textureLoadFailed( string error )
    30.     {
    31.        
    32.         if(Application.platform == RuntimePlatform.IPhonePlayer){
    33.             EtceteraBinding.showAlertWithTitleMessageAndButton( "Error Loading Texture.  Did you choose a photo first?", error, "OK" );
    34.             Debug.Log( "textureLoadFailed: " + error );
    35.         }
    36.     }
    37.    
    38.     void displayPhoto()
    39.     {
    40.        
    41.         if(Application.platform == RuntimePlatform.IPhonePlayer){
    42.             if( imagePath == null )
    43.             {
    44.                 EtceteraBinding.showAlertWithTitleMessageAndButton( "Load Photo Texture Error", "You have to choose a photo before loading", "OK" );
    45.                 return;
    46.             }
    47.        
    48.             // Add 'file://' to the imagePath so that it is accessible via the WWW class
    49.             StartCoroutine( EtceteraManager.textureFromFileAtPath( "file://" + imagePath, textureLoaded, textureLoadFailed ) );
    50.         }
    51.     }
    52.  
    53.  
    Do you have any suggestions or solutions to fixing my application from crashing?
    Another thing, which might be related is, I want the photo to load onto the render plane as soon as the user selects the photo to load. To do this, I had figured to put the displayPhoto function call inside the imagePickerChoseImage, so it should display the photo right after the correct image path was loaded. Is there another way to check when a photo has been successfully loaded, so I can then automatically apply that photo to a plane (texture 2D)?
     
  3. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,817
    Ahh, okay, I figured it out.

    Here's a little JS version incase anyone else needs it -
    Code (csharp):
    1. function ScreenCapture(){
    2.     EtceteraBinding.takeScreenShot("SnapShot.png");
    3.     EtceteraBinding.saveImageToPhotoAlbum(GetDocumentsPath()+"SnapShot.png");
    4. }
    5.  
    6. function GetDocumentsPath() : String{
    7.     var DocumentsPath : String;
    8.     DocumentsPath = Application.dataPath.Substring (0, Application.dataPath.Length - 5);
    9.     DocumentsPath = DocumentsPath.Substring(0,DocumentsPath.LastIndexOf("/"));
    10.     return DocumentsPath + "/Documents/";
    11. }
    12.  


    Strangely though, the screen capture doesn't seem to wok when you are using MSAA. Anyone know why that might be?
     
  4. ezone

    ezone

    Joined:
    Mar 28, 2008
    Posts:
    331
    +1 VGA out!
     
  5. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Petey, MSAA currently doesn't work with screen capture for an unknown reason. A fix is on the list for the next update when vacation is over.
     
  6. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,817
    Thanks man!
    No Stress though.
    Sorry to hassle you while you're on holidays :)
     
  7. sboyette

    sboyette

    Joined:
    Jan 22, 2009
    Posts:
    62
    Prime.

    Sorry if this has been addressed before, the thread is quite large.. However can your plugin allow me to:
    1. Shoot/select multiple images
    2. Scale those images
    3. store the scaled images for use ingame (textures) - and continue to use them once the game has been restarted?

    Thanks for the info!

    Sean
     
  8. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @sboyette, 1. The built in Apple picket only allows 1 image at a time to be chosen. 2. You can scale images with the plugin. 3. The imagescan be used as textures and they are saved in the Documents directory.
     
  9. Hilm

    Hilm

    Joined:
    Nov 2, 2007
    Posts:
    338
    Mmm, I'm getting a strange bug with the photopicker...

    I'm using #pragma strict, and when I launch the photopicker only the cancel button is responsive, the "take photo" and "select photo" buttons are un-responsive...

    Anyone else had this problem/ got a solution?
     
  10. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Hilm, what device is this on? Are there any other UIKit views on screen when you show the picker?
     
  11. Hilm

    Hilm

    Joined:
    Nov 2, 2007
    Posts:
    338
    Hey dude,
    Running on a 3GS.

    And nope, just a normal Unity GUI in the background, the only code going on is a button (see code here):

    GUI Code:
    Code (csharp):
    1.         if(receiptAdded){
    2.             if (GUI.Button (Rect (85+questionGroupPosition,430,150,30), "Submit")) {
    3.                 submitResults();
    4.             }
    5.         }
    6.         else{
    7.             if (GUI.Button (Rect (85+questionGroupPosition,430,150,30), "Photograph Receipt")) {
    8.                 addReceipt();
    9.             }
    10.         }
    AddReceipt Function:


    Code (csharp):
    1. function addReceipt(){
    2.     EtceteraBinding.promptForPhoto(1.0);
    3. }
    Other stuff I have going on in that GUI state:

    Code (csharp):
    1.    
    2. // Question Window
    3.     if(stateIsIn == 3){
    4.         questionGroupPosition = Mathf.SmoothDamp(questionGroupPosition, questionGroupPosTarget, questionGroupVelocity, questionGroupSmoothTime);
    5.        
    6.         if(receiptAdded){
    7.             if (GUI.Button (Rect (85+questionGroupPosition,430,150,30), "Submit")) {
    8.                 submitResults();
    9.             }
    10.         }
    11.         else{
    12.             if (GUI.Button (Rect (85+questionGroupPosition,430,150,30), "Photograph Receipt")) {
    13.                 addReceipt();
    14.             }
    15.         }
    16.        
    17.         if(Input.touchCount > 0)
    18.         {
    19.                 var touch2 = Input.GetTouch(0);
    20.                 if(touch2.deltaPosition.y != 0){
    21.                     scrollPositionQ.y += touch2.deltaPosition.y*0.5;
    22.                 }
    23.         }
    24.        
    25.  
    26.         scrollSizeYQuestions = questionsToProcess * 100;
    27.         scrollPositionQ = GUI.BeginScrollView (Rect (10+questionGroupPosition,120,300,300),
    28.         scrollPositionQ, Rect (0, 0, 280, scrollSizeYQuestions));  
    29.         for (var QuestionNo = 0;QuestionNo < questionsToProcess;QuestionNo++) {
    30.             var startPosY : float;
    31.             startPosY = 100*QuestionNo;
    32.            
    33.             if(questionTypeArray[QuestionNo] == "MC")
    34.             {
    35.                 GUI.Label (Rect (5, startPosY + 5, 290, 30), (QuestionNo+1) + ") " + questionTextArray[QuestionNo],TextStyle2);
    36.                 var words = questionOptionsArray[QuestionNo].Split(","[0]);
    37.                 multiChoiceArray[QuestionNo] = GUI.SelectionGrid (Rect (25,startPosY+30, 240, 60), multiChoiceArray[QuestionNo],words,2);
    38.                 questionRepliesArray[QuestionNo] = words[multiChoiceArray[QuestionNo]];
    39.                 GUI.DrawTexture(Rect(20,startPosY + 100,250,3), questionLineDivider);
    40.             }
    41.             else if(questionTypeArray[QuestionNo] == "TextArea")
    42.             {
    43.                 GUI.Label (Rect (5, startPosY, 290, 30), (QuestionNo+1) + ") " + questionTextArray[QuestionNo],TextStyle2);
    44.                 questionRepliesArray[QuestionNo] = GUI.TextArea (Rect (25, startPosY+35, 240, 50), questionRepliesArray[QuestionNo]);
    45.                 GUI.DrawTexture(Rect(20,startPosY + 95,250,3), questionLineDivider);           
    46.                
    47.             }
    48.             else if(questionTypeArray[QuestionNo] == "Slider")
    49.             {
    50.                 var sliderValues = questionOptionsArray[QuestionNo].Split(","[0]);     
    51.                
    52.                 GUI.Label (Rect (5, startPosY, 290, 30), (QuestionNo+1) + ") " + questionTextArray[QuestionNo],TextStyle2);
    53.                 if(multiChoiceArray[QuestionNo] != 0){
    54.                     GUI.Label (Rect (0, startPosY+40, 300, 30), "Your Said:" + sliderValues[multiChoiceArray[QuestionNo]-1],TextStyle2);
    55.                 }
    56.                 multiChoiceArray[QuestionNo] = GUI.HorizontalSlider (Rect (25, startPosY+25, 240, 30), multiChoiceArray[QuestionNo], 1, 5.0);
    57.                 GUI.DrawTexture(Rect(20,startPosY + 80,250,3), questionLineDivider);       
    58.             }
    59.             else if(questionTypeArray[QuestionNo] == "YESNO")
    60.             {
    61.                 GUI.Label (Rect (5, startPosY + 5, 290, 30), (QuestionNo+1) + ") " + questionTextArray[QuestionNo],TextStyle2);
    62.  
    63.                 var yesno : String[] = ["Yes", "No"];
    64.                 multiChoiceArray[QuestionNo] = GUI.SelectionGrid (Rect (25,startPosY+40, 240, 30), multiChoiceArray[QuestionNo],yesno,2);
    65.                
    66.                 questionRepliesArray[QuestionNo] = yesno[multiChoiceArray[QuestionNo]];
    67.                 GUI.DrawTexture(Rect(20,startPosY + 80,250,3), questionLineDivider);
    68.  
    69.             }
    70.         }  
    71.         GUI.EndScrollView ();  
    72.        
    73.     }
    Seems very odd...

    The test scenes I should say works fine on the device; so it's something weird going-on involving something in my code, although for the life of me, I have no idea what... Maybe something weird with the button press also moving the scrollview a bit/ this section of code? Although seems like a long shot...:

    Code (csharp):
    1.         if(Input.touchCount > 0)
    2.         {
    3.                 var touch2 = Input.GetTouch(0);
    4.                 if(touch2.deltaPosition.y != 0){
    5.                     scrollPositionQ.y += touch2.deltaPosition.y*0.5;
    6.                 }
    7.         }
    8.  
     
    Last edited: Jan 24, 2011
  12. Hilm

    Hilm

    Joined:
    Nov 2, 2007
    Posts:
    338
    Also - You have a good holiday :p?
     
  13. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Hilm, besides the sunburn it was nice to actually take some time off for the first time in a loooong time. None of the Unity touch related code should be able to effect the UIKit related code. Does it happen in both portrait and landscape?
     
  14. Hilm

    Hilm

    Joined:
    Nov 2, 2007
    Posts:
    338
    Hey,
    Yeah it seems to happen in both landscape and portrait. More than happy to upload the project to a FTP if you wanted to look at it?
     
  15. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Hilm, that works for me. Shoot me an email (questions (at) prime31.com) with the link.
     
  16. Deleted User

    Deleted User

    Guest

    Hello,

    i have to dowload images from a webserver with www:
    After the download how i can save this texture in my App Folder to visualize Offline with Etecetera Plugin?

    Thank you

    Code (csharp):
    1.  
    2. var url = "http://images.earthcam.com/ec_metros/ourcams/fridays.jpg";
    3. function Start () {
    4.      // Start a download of the given URL
    5.     var www : WWW = new WWW (url);
    6.    
    7.     // Wait for download to complete
    8.     yield www;
    9.    
    10.     // assign texture
    11.     renderer.material.mainTexture = www.texture;
    12. }
    13.  
    14.  
     
  17. gamma.psh

    gamma.psh

    Joined:
    Jan 25, 2011
    Posts:
    44
    The Screenshot function EtceteraBinding.takeScreenShot("images/" + savename); does Just gieve me a white picture when I got the AA from Unity3.2 activated.

    Does someone know how to fix that? and no, continuing without AA is no solution ^^
     
  18. Paulo-Henrique025

    Paulo-Henrique025

    Joined:
    Dec 12, 2010
    Posts:
    230
    Prime, i´m interested in the Etc Plugin, more specifically the send Mail with Screenshot feature, can you show some images or a video of this function?

    Also, the screenshot, its the entire screen or can i define an area?
     
  19. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @gamma.psh, grab the latest update. It was just pushed live a couple minutes ago and has a fix for MSAA screenshots.

    @Paulo, there isn't much to see for the mail with screenshot feature. You call a method and the mail composer is shown with the current screenshot of the entire screen like so:

    $IMG_0378.PNG
     
  20. Paulo-Henrique025

    Paulo-Henrique025

    Joined:
    Dec 12, 2010
    Posts:
    230
    Prime, does it exits the app to start the mail composer or its done inside the app?
     
  21. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Paulo, it stays in the app at all times.
     
  22. maglat

    maglat

    Joined:
    Jul 9, 2010
    Posts:
    111
    Hey Everyone,

    How can I make it possible after I choose "Prompt for Photo", the function "Load Photo Texture" directly gets fired.
    I tryed to set "StartCoroutine" to EtceteraBinding.promptForPhoto( 0.15f ); and after that I insert the code from "Load Photo Texture" , but "StartCoroutine" can not be assigned to EtceteraBinding.promptForPhoto :(
     
  23. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @maglat, you can only use coroutines when a method returns an IEnumerator. You have to use the imagePickerChoseImage event to find out when an image was chosen. We put up an events tutorial the other day if you are not familiar with them. The sample scene included with the plugin also has examples on how to listen to every event the plugin exposes.
     
  24. masterprompt

    masterprompt

    Joined:
    Jan 6, 2009
    Posts:
    115
    nvm, jumped the gun...
     
    Last edited: Feb 17, 2011
  25. mforsyth

    mforsyth

    Joined:
    Sep 29, 2010
    Posts:
    54
    Hello, I'm not a programmer so I'm probably missing something obvious... I just got the Etcetera plugin and I'm trying to use the showPromptWithTwoFields to get login/password info from the player. I have the prefabs in my scene so when I have this in my js:
    Code (csharp):
    1. EtceteraBinding.showPromptWithTwoFields( "Enter your Twitter credentials", "", inputTwitterName, inputTwitterPassword );
    the keyboard and input screen are seen. But how do I get those variables/inputs into my .js to use when they are done entering them?

    Hmm, I can see when they are done
    Code (csharp):
    1. EtceteraManager.twoFieldPromptTextEntered += twoFieldPromptTextEntered;
    2. function twoFieldPromptTextEntered(){
    3.     Debug.Log( "EtceteraManager.twoFieldPromptTextEntered function called" );
    4. }
    are they passed in a way I should be getting the variables?
     
    Last edited: Feb 17, 2011
  26. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @mforsyth, you will need to listen to the following event:

    Code (csharp):
    1. // Fired when the user finishes entering text in a two field prompt
    2. public static event EceteraTwoStringDelegate twoFieldPromptTextEntered;
    The included sample scene has an event listener that listens to every available event in the plugin. You can have a look at that to see exactly how to listen to the event.

    If you aren't familiar with events, we have a video tutorial explaining them on YouTube:

     
  27. mforsyth

    mforsyth

    Joined:
    Sep 29, 2010
    Posts:
    54
    yup, 'textOne' and 'textTwo' are right there. There you go making things complicated again! ;)
    thanks again for the awesome code!
     
  28. gamma.psh

    gamma.psh

    Joined:
    Jan 25, 2011
    Posts:
    44
    Hello, I have a wish for the SMS composer in the Plugin.
    How difficult is it to make it possible to send pictures and text with the sms composer, of course this will make it a MMS, but the iphone isn't anyway separating sms or mms.
    The Possibility to attach pictures would be nice.

    To avoid to much new posts, write it in here.
    how much work is it to anable, mail and sms composer to rotate with the device.
    I read that you had your reasons doing it fix, but it's not the best way for me, so the possibilty to change it would be nice ;)
     
    Last edited: Mar 2, 2011
  29. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @gamma, I'm not 100% sure if Apple exposes attachments for SMS messages via API. I'll give it a look.
     
  30. ciaravoh

    ciaravoh

    Joined:
    Dec 16, 2009
    Posts:
    252
    Hello Prime31,

    Just purchased your Etcetera plugin. great job. I do have one question about notification. It is said that one can use his own push notification server. I can't find anywhere the function that would allow me to pass the url for my own server and send the credential. Do you have more documentation about that part ?
    thank you.

    hciaravo
     
  31. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @ciarovoh, if you want to implement your own server you just need to listen to the remoteRegistrationSucceeded event. It will return the deviceToken for you. From there you need to follow Apple's Push Notification Programming Guide to setup your server.
     
  32. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Hi Mike,
    I have a little request if it is possible :)
    Can you add AirPrint to your Etcetera plugin please? That would be great :D

    Thanks
     
  33. Deleted User

    Deleted User

    Guest

    Hello,

    i can understand "showMailComposerWithScreenshot" and it works on my iPad because i have the example

    But, is there an example to use "showMailComposerWithAttachment" ?

    showMailComposerWithAttachment( string filePathToAttachment, string attachmentMimeType, string attachmentFilename string toAddress, string subject, string body, bool isHTML )

    Thank you,

    Andrea
     
  34. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Curious, we will put it on our list and if gets enough request we will add it.

    @Andreas, is nearly identical to all of the other showMailComposer* methods. The only difference is that you pass in a filePath (the full path to a file on the iDevice that you want attached to the email) and the mime type of that file.
     
  35. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    That would be awesome :)

    Thank you
     
  36. merlinmimer

    merlinmimer

    Joined:
    Jan 19, 2011
    Posts:
    17
    Hello!
    I had a question related to the photo load (from library) functionality of your etcetera plugin.

    Whenever I try to load almost any of my photo's from my library using a size greater then 0.3f for the scaledToSize value with promptForPhoto, it crashes on my iPod.
    My problem is, if I use any value less then 0.6f for the scale value, the texture it generates usually has a horrible resolution. I need for the photos in my iPhone app to keep their original resolution for my app, and not become so pixelated.
    What can I do to keep the resolution of that original image and load it into unity without crashing the application?
     
  37. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @eriks.strals, without seeing your photos I can only guess that they are very large and causing an out of memory crash or crash do to being larger than OpenGL can handle. The reason the promptForPhoto method takes a scale value is to avoid loading gigantic images as textures. 1024x1024 is the maximum supported resolution for images on pre-iPhone 4 devices. You can always just pass it a value of 1.0 then use the resizeImageAtPath method to get exactly the size you desire.
     
  38. QuietPixel

    QuietPixel

    Joined:
    Jul 29, 2010
    Posts:
    51
    I know this has been asked several times, but no one has ever posted real example code for how to do it. Can someone post a few lines of code showing how to use showMailComposerWithAttachment?

    For the sake of easy testing, I am just trying to use the takeScreenShot () function for now. This is what my code looks like right now:

    Code (csharp):
    1. EtceteraBinding.takeScreenShot ("screenshot.png");
    2. EtceteraBinding.showMailComposerWithAttachment (GetiPhoneDocumentsPath (), "image/png", "screenshot.png",
    3.             "email@test.com", "Test Email", "Here is your picture:", false);
    4.  
    where I am using the function Smorpheus posted earlier:

    Code (csharp):
    1.     public static string GetiPhoneDocumentsPath ()
    2.     {
    3.         // Your game has read+write access to /var/mobile/Applications/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Documents
    4.         // Application.dataPath returns
    5.         // /var/mobile/Applications/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/myappname.app/Data
    6.        
    7.         // Strip "/Data" from path
    8.         string path = Application.dataPath.Substring (0, Application.dataPath.Length - 5);
    9.        
    10.         // Strip application name
    11.         path = path.Substring(0, path.LastIndexOf('/'));
    12.        
    13.         // add Documents to the end
    14.         return path + "/Documents";
    15.     }
    It opens up the Mail Composure, but there is no image attached, and there are no error messages in the XCode console. What am I doing wrong?
     
  39. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @QuietPixel, I'm not a big fan of the way you are getting the Documents directory. That seems really fragile not to mention I believe (but don't quote me on that) Application.dataPath was recently changed in Unity 3.2+. Try something more like this (untested):


    Code (csharp):
    1. string imageName = "screenshot.png";
    2. EtceteraBinding.takeScreenShot( imageName );
    3. string fullImagePath = getPathToDocumentsDirectory( imageName );
    4. EtceteraBinding.showMailComposerWithAttachment ( fullImagePath, "image/png", imageName, "email@test.com", "Test Email", "Here is your picture:", false );
    5.  
    6.  
    7. public string getPathToDocumentsDirectory( string filename )
    8. {
    9.     string basePath = Environment.GetFolderPath( Environment.SpecialFolder.Personal );
    10.  
    11.     // cover new Unity 3.2 behaviour where it returns "Documents" as the Personal folder on iOS
    12.     if( !basePath.EndsWith( "Documents" ) )
    13.         basePath = Path.Combine( basePath, "Documents" );
    14.    
    15.     return Path.Combine( basePath, filename );
    16. }
     
  40. sboyette

    sboyette

    Joined:
    Jan 22, 2009
    Posts:
    62
    Prim - quick question, I currently tried to use U3.3's built in MSAA - however it has issues with particles.. does your implementation support particles?

    Thanks for the info -
    Sean
     
  41. sboyette

    sboyette

    Joined:
    Jan 22, 2009
    Posts:
    62
    Hey Prime, I found out the reason for MSAA and my artifacts (bad mobile shader). However, I am still interested in your solution, does your pack have additional features that are different that units implementation (surrounding MSAA).

    Kind Regards,
    Sean
     
  42. ciaravoh

    ciaravoh

    Joined:
    Dec 16, 2009
    Posts:
    252
    Thanks Prime31, I just forgotten to answer your reply. It works fine now. Great time saving here....!
     
  43. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @sboyette, I believe I just answered you via email but I'll answer here as well: in Unity 3.3+ the plugin's MSAA implementation is no longer supported. You should use Unity's from here on out.
     
  44. ciaravoh

    ciaravoh

    Joined:
    Dec 16, 2009
    Posts:
    252
    Hello Prime31,

    One question about etcetera plugin and the EtceteraBinding.showBezelActivityViewWithLabel() function.

    Since I have added rotation to my app, the Label shows in Portrait mode and it not considering the Screen.Orientation anymore.

    Do you see any reason ?

    thank you.

    Hervé
     
  45. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @ciarovaho, Screen.orientation doesn't exist in native land. Do to some implementation details of how Unity operates with regards to orientation all activity views will display in the orientation of the iPhoneKeyboard.
     
  46. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,085
    Does that mean that there's a way to enable MSAA for iOS apps in Unity itself now?
     
  47. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,085
    Also - what would be the correct steps to REMOVE the Etcetera Plugin from a project? Sorry if that's documented somewhere - just thought I'd throw it in here while I'm pumping out questions :)
     
  48. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,817
    In unity 3.3 you set the MSAA in your projects quality settings.
    Also remember to change kEAGLColorFormatRGB565 to kEAGLColorFormatRGBA8 in Xcode/Appcontroller.mm if you get color banding. I also noticed mine ran a lot better if you I forced opengless 1.1 also, but that could just be my shaders.
     
  49. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,085
    @Petey - awesome, thanks!
     
  50. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,817
    Hey, glad I could help!
    If you want to remove etcetera, just delete/or move the folder from the editor folder. That should prevent it from being built into the Xcode project. If you see the etcetera folder in the Xcode project that means it has been added to the project.