I am trying to build a small project with Unity3D and I want to display it locally in my Firefox-Browser.
In my Unity-Editor it looks like this: 1
And if I am building it as WebGL it looks like this:2
The Images which are being displayed in the Browser are imported as .gltf Objects and the green planes are built within the unity-hub. I assumed that it may be because of the lightning and so I tried including a PointLight, but that did not work.
I also tried the same with a new project only containing a cube, but that did not work either as there was as well only a grey screen in the browser, so there is a problem with displaying objects created in the Unity-Hub directly. Inspecting the Website I am getting a lot of Errors which are referencing the resource file 3, as I assume that this is the main source of problems.
I am new to Unity and WebGL and could not find any solutions or even approaches to this problem and was hoping for maybe an explanation what the errors are even about.
workspace:
unity version: 2021.2.1f1
small local webserver with python where I am putting the .html file on
compression disabled in the player settings of the WebGL-Build
Solved by moving to an older version (2020.3.22f1) of Unity
My team is using Yarnspinner in Unity to create a text-based game, visual novel style. It works pretty much perfectly, but we're having trouble figuring out how to save and load the dialogue state in the game. It doesn't seem that saving the game state "normally" will properly save the dialogue state.
I've done a lot of research but have found little documentation on how to do this. Given that Yarnspinner is an overall improvement on previous Yarn parsing, I feel like there is likely a built in function somewhere that does this, but I haven't been able to find anything. Does anyone know how to do this, or know any online resources that describe this?
I was designing my open world RPG's architecture (I am creating it for fun, I don't intend it to be a hit game :D ), and had to stop it, because I ran into a serious wall.
If a create a big open world game, then its size will be big.
Let's imagine that my game has a launcher, which automatically updates itself, when a new patch is found.
Downloading the whole game again is not acceptable, because if there is a minor bugfix, who would download a whole game again, if there is only a minor change?
So somehow I have to make an architecture which is patchable, so if there is an update, my launcher will only download changed files and not the whole client.
When I build my game, 90 % (if not more) of the game data is in one Program Debug Database.
And when I look at a game, for example World of Warcraft, its files are organized in compressed directories. And if there is a minor fix in one zone's particular place (like a tree is missing), they don't have to update the whole game, and not even the whole map, and not even the whole zone.
Instead they only have to update the file, which determines that (for example) 20x20 meter area in the world where is the bug.
So let's get practical with a simple example:
I have one scene with a big terrain in it, and I have to fix a little part of it.
How can I update my released client's buggy parts without downloading the whole client again?
Thanks for your help in advance! :)
There are several ways to do so. One of the most common ways in unity-3d is by asset-bundles. This would allow you to update your game in a similar manner as for example wow.
There are also plenty of assets available in the app store. The one I personally use is M2HPatcher this mainly as it was free at the time. I am not sure if it is still
I am trying to find a way to have unity treat my .ai files as text files, so that Resource.Load and LoadAll will load them. Is there a configuration change I can make to allow for this? Right now it skips the .ai files completly.
We found that the direct solution was not possible, or nobody seems to know it. To get around this issue, we found that there is another folder in unity that allows for resources to be added and it is not compressed or mangled, and can be enumerated.
Use streaming assets, and the problem goes away.
a former coworker (artist) and myself (programmer) are currently developing a small game together in our free time. Since he is not at all interested in learning how to use XCode, save making his own builds (I don't blame him, he is a great artist, but with only little understanding for technical stuff), this is how we have been working so far:
We share a dropbox folder where we store all the ingame artwork
Once enough or important changes have been made, I'd create a build (ad hoc distribution) and send it to him
From time to time we'll meet and work together a couple of hours, maybe once a week since we live in different cities
This was ok for most of the time. However now we're busy finetuning the content and game mechanics. In this development stage, our workflow is just to slow and "disconnected". Whenever he is working on the artwork, he'll have to wait for me to make a build to be able to see the changes reflected in the actual context. Since we're not always working at the same time, this sometimes means he'll have to wait for days - not at all satisfying.
So, what I'd like to know..: What would be the best way to allow him to change the content without the need to rebuild the game?
I know the contents of an iOS app bundle cannot be changed once compiled. So here's what I was thinking about so far:
move the content to the documents folder during development so that it can be accessed via iTunes (handling propably awkward in light of the amount of files in question)
incorporate dropbox into the game, so that the content could be loaded right from our shared folder (extra work needed to implement this, dropbox restricted to 5000 API calls per day while not in production status)
load the content from a webserver (even more complicated compared to using the dropbox)
What do you guys think? Are there better and more comfortable ways to achieve smooth collaboration in our case? Am I missing something?
Thanks alot!!
Edit:
At the moment, I have no plans whatsoever to teach my artist how to make his own builds. You can seriously consider this to be an option only as long as you don't know him in person. He's a great artist, though.
So this question boils down to:
How do I modify files / get new files into an iPhone app after it has been built - as easily as possible and, again, without rebuilding the app?
This has to work during development only, by the way, so dirty approaches are welcome.
In some of the WWDC 2010 videos, Apple discusses this. They advise loading artwork from the web and applying it to UIKit elements or OpenGL contexts programatically.
This is complicated, but a good method, because then you make NO changes to your binary and then your artists can work freely, upload the art to a server and you're golden.
I suggest a good HTTP library, like ASIHTTPRequest, to make those requests easier.
Go with the Web server/dropbox option. You might be able to do this by subclassing or extending UIImage and using the subclass throughout your app.
Jailbreak your iPhone, Then you can ssh into the device using Cyberduck. That way you can navigate to the app's Resources folder (or) App's document folder and change files as you want.
You will have to make sure the folder permissions are proper, or else you need to change them.
Also in your game, in the first run, make sure all your resources are getting copied to the App's documents folder.
I would say that your first option is probably the best. You state the issue with transferring a large number of files through iTunes. To fix that I would to the following:
Create an app to create "package" files. It can take a folder of data and save it in a single in file in the following format:
int - length of name string
char[] - filename
int - length of data chunk
char[] - data chunk
Do this for every file in the folder, and you'll be left with a single image file. Copy that through iTunes, and have your game look at that same folder.
So now his workflow is as follows: 1) edit art 2) run your asset compiler 3) copy the asset file to the device 4) load the game
I hope this helps.
You could also do something like this:
modify the app so on its first start it copies the images into the document folder
load the images from the doc folder instead than from the bundle
with a tool like iPhone Explorer you can then overwrite the files in the document folder
it's a bit boring to find the actual app in the list that iPhone explorer gives you, but then it's just a matter of dragging and dropping the files into the right folder.
It may work also with some file in the .app bundle, but I didn't found any suitable app to try it from there.
Anyway if you want to keep the thing almost hassle free for your artist you may want to put everything in a Documents subfolder nonetheless :)
EDIT
I just tried to edit something into the .app folder and it worked OK, so you don't even have to change your code if you use iPhone Explorer to replace images.
Just remember to disable the PNG optimization if you're using PNGs. Look here for the explanation (search for "PNGs:")
good luck :)
I would say set up a CVS repository. When you're happy with what you have, you can commit your code. He can update his code and change the images however he wants. When he's happy, he can commit his changes so you also have the latest images (as long as he doesn't mess around with out files, it should be fine).
Teach him how to update the images, how to deploy to a device, how to commit to the repository and it should go smooth (albeit I think there'd be some teething issues).