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 hkessock · Mar 27, 2014 at 07:13 PM · coroutinethreadinghttp

Dynamic content delivery on Unity iOS

Hi gang,

I need to display some UI textures that can be specified outside the Unity3D ios app via some tools I have written.

Downloading the files, works great, loading the files works great, drawing the images works great, but now that the workflow has been validated I need to do all of this in the background, so I just wanted to make sure I'm using the right approach.

(1)Take image URL (i.e. http://www.someserver.com/someimage.png) and hash it to a filename, and check if I've already downloaded and stored that file locally.

(2)If the file is found locally, add it to the list of files we're going to check the cache status of (in case the remote file has been updated since we last downloaded it.)

(3)If the file is not found locally, add it to the list of files that need downloading.

(4)When evaluating the cache, make an HTTP HEAD call against the image URL and check the last-modified data against the local file timestamp.

(5)If the local file is newer than the server's copy, add it to the list of files to be loaded locally.

(6)If the file is older than the server's copy, delete the local file and add the image URL to the list of files that need downloading.

(7)Pull down each file in the list from the designated web server. When the file arrives, create a local file by hashing the URL, then write the file locally and at it to the list of files to be loaded locally.

My presumption is that to background this and create Texture2D objects out of this, I need to spawn a coroutine that will do everything but the network calls and thread those (since I can't use WWW since it doesn't have HEAD) and have the coroutine while() loop on the network calls and yielding constantly... Then when all files should be local, loading them into Texture2D objects in the coroutine (since it will be in the correct thread.)

That sound crazy or pretty normal?

Cheers,

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

0 Replies

· Add your reply
  • Sort: 

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

20 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 avatar image avatar image avatar image

Related Questions

Unity3D WWW call on main thread on iOS 0 Answers

Callback from a coroutine 1 Answer

Confused about using Update vs. Coroutines 2 Answers

Can I use coroutine to replicate .WaitOne() and .Set() behaviour? 1 Answer

Using AsyncOperation for our own services 4 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