The forum has been archived
While the forum may not be active, the community still lives on Discord! Click here to join us.
While the forum may not be active, the community still lives on Discord! Click here to join us.
Atmosphir And Unity
- ElectroYoshi
- Well-Known Member
- Posts: 11061
- Joined: October 18th, 2012, 8:27 pm
- Design Competitions Voted: 1
- Baufritz
- Well-Known Member
- Posts: 1297
- Joined: October 10th, 2012, 9:36 am
- Location: Trapped on a huge round rock hurtling with immense speeds around a fiery star.
- Design Competitions Voted: 2
- Contact:
- zardini001
- Member
- Posts: 89
- Joined: June 13th, 2014, 7:54 pm
- Design Competitions Voted: 1
-
- Member
- Posts: 839
- Joined: October 9th, 2012, 8:08 am
- zardini001
- Member
- Posts: 89
- Joined: June 13th, 2014, 7:54 pm
- Design Competitions Voted: 1
Any of this .unity3d crap won't be the easiest thing in the world. I will give a "quick" rundown on what .unity3d file is.
.unity3d files are Asset Bundles. Asset Bundles are a collection of assets, packaged for loading at runtime (quoted from Unity's Manual of AssetBundles). Basically how Atmosphir does it, is that instead of the user having to download a new Atmosphir whenever there is a new update with content, the launcher requests a version number from the Atmosphir server, and if its not up to date, the launcher will download the newest modified assets of this new version. To conserve memory and time, Atmosphir downloads only modified assets in that current release.
Once the asset bundles are downloaded, they sit in the AssetBundles folder in the Application data, and loaded when needed.
A couple things to note that yes, if you attempt to just change the Assembly-CSharp.dll code only, there is a high chance that it will not work, due to some of the Asset Bundles containing scripts and types, because assets can contain scripts, object information such as mesh data, texture data, and other data such as collision. Also another thing is that when asset bundles are downloaded form the server or whenever Atmosphir needs to access the Asset Bundle, Atmosphir takes the script from the asset bundle (if there is a script in the bundle) in its binary format, then load it as a TextAsset. Once it becomes a text asset, Atmosphir uses the System's Reflection class to reflect the raw bytes of the TextAsset into assembly. Then finally, Atmosphir gets the type out of the byte array, and applies it to a selected GameObject (Including scripts in AssetBundles). One problem with us hackers is that there is a chance that the plain .unity3d file could be encrypted to the byte level.
I think I have a solution to getting object data from the Bundles, but requires Unity Pro, and I don't have Unity Pro.
Edit: After thinking about it a little bit, the Assembly-CSharp.dll is never changed. The Assembly-CSharp.dll contains valuable code about the application, and contains scripts and blah blah blah. The notable thing is that Asset Bundles and scripts inside of Atmosphir cannot change the .dll. All that happens is that the .dll contains scripts for unpacking these AssetBundles and using them when the time comes. When the time does come for them to be used, the scripts and data inside them is loaded into the scene as a instance. Technically, if you modify the .unity3d files without damaging any initialization data, we can potentially add and change things to Atmosphir. It looks like there is hope after all
Edit 2: Anything that deals with the editor, like capacity and grid size would be very difficult to change directly. Because that data is not loaded through .unity3d files, you would have to modify the code in the Assembly-CSharp.dll and re-reflect the reflected C# code provided by Sebastian back to Assembly.
.unity3d files are Asset Bundles. Asset Bundles are a collection of assets, packaged for loading at runtime (quoted from Unity's Manual of AssetBundles). Basically how Atmosphir does it, is that instead of the user having to download a new Atmosphir whenever there is a new update with content, the launcher requests a version number from the Atmosphir server, and if its not up to date, the launcher will download the newest modified assets of this new version. To conserve memory and time, Atmosphir downloads only modified assets in that current release.
Once the asset bundles are downloaded, they sit in the AssetBundles folder in the Application data, and loaded when needed.
A couple things to note that yes, if you attempt to just change the Assembly-CSharp.dll code only, there is a high chance that it will not work, due to some of the Asset Bundles containing scripts and types, because assets can contain scripts, object information such as mesh data, texture data, and other data such as collision. Also another thing is that when asset bundles are downloaded form the server or whenever Atmosphir needs to access the Asset Bundle, Atmosphir takes the script from the asset bundle (if there is a script in the bundle) in its binary format, then load it as a TextAsset. Once it becomes a text asset, Atmosphir uses the System's Reflection class to reflect the raw bytes of the TextAsset into assembly. Then finally, Atmosphir gets the type out of the byte array, and applies it to a selected GameObject (Including scripts in AssetBundles). One problem with us hackers is that there is a chance that the plain .unity3d file could be encrypted to the byte level.
I think I have a solution to getting object data from the Bundles, but requires Unity Pro, and I don't have Unity Pro.
Edit: After thinking about it a little bit, the Assembly-CSharp.dll is never changed. The Assembly-CSharp.dll contains valuable code about the application, and contains scripts and blah blah blah. The notable thing is that Asset Bundles and scripts inside of Atmosphir cannot change the .dll. All that happens is that the .dll contains scripts for unpacking these AssetBundles and using them when the time comes. When the time does come for them to be used, the scripts and data inside them is loaded into the scene as a instance. Technically, if you modify the .unity3d files without damaging any initialization data, we can potentially add and change things to Atmosphir. It looks like there is hope after all
Edit 2: Anything that deals with the editor, like capacity and grid size would be very difficult to change directly. Because that data is not loaded through .unity3d files, you would have to modify the code in the Assembly-CSharp.dll and re-reflect the reflected C# code provided by Sebastian back to Assembly.
- zardini001
- Member
- Posts: 89
- Joined: June 13th, 2014, 7:54 pm
- Design Competitions Voted: 1
- ElectroYoshi
- Well-Known Member
- Posts: 11061
- Joined: October 18th, 2012, 8:27 pm
- Design Competitions Voted: 1
Yeah, I know it's about the code. I mentioned the old server because cars don't work at all yet on the OMB server.zardini001 wrote:ElectroYoshi, there is a chance for modifying the controls. It isn't about the server. Its about the code. Read big blocks of text above for reasoning.
I need a shot again, that sweet adrenaline.
- zardini001
- Member
- Posts: 89
- Joined: June 13th, 2014, 7:54 pm
- Design Competitions Voted: 1
- Jamesski
- Member
- Posts: 168
- Joined: September 7th, 2013, 11:54 am
- Contact:
- bionicnacho
- Administrator
- Posts: 5684
- Joined: October 30th, 2012, 7:11 am
- Contact:
Can you please describe exactly what the program or download link is for? Sorry I had to redact your link, but since you're a new user and this is your first post, some precaution is neededmarkb wrote:Attention developers here is what your after to get the files from assets,unity3d packages and unity packaging files . The programs do work and they are free.
[Link Redacted]
If they're free software, please link to the actual official website of the programs in question. Sorry for the inconvenience.
- Phantomboy
- Moderator
- Posts: 5417
- Joined: October 9th, 2012, 11:04 am
Mark, I apologise for the link being removed. I am sure that you understand precautions, especially with zip files but removing the link wasn't meant as an insult. I am sorry that it might have come off as that, recently a surprisingly exponential amount of advertising and spam accounts register -- I attempt to catch what I can but of course I am not perfect and that can lead to suspicions when an relatively new account posts a download link.
I am sorry about that!
I am sorry about that!
- bionicnacho
- Administrator
- Posts: 5684
- Joined: October 30th, 2012, 7:11 am
- Contact:
Alrighty, it's all goodmarkb wrote:Unity explorer 1.4 will fully extract unity3d packages and unity asset files.
Upugui will extract unity packaging files
both programs are very good at extracting all data
Thanks for deleting my files .It your loss not mine.
We just don't want people downloading viruses or anything from untrusted/new users, that's all.
Here's the previously redacted link:
http://www.mediafire.com/download/caf44 ... Backup.rar
- Entity
- Editorial Staff
- Posts: 3097
- Joined: November 29th, 2012, 9:41 pm
- Design Competitions Voted: 1
We have already created a solution to extract unity3d and asset files, however the work we are doing involves the server, not the client.markb wrote:Unity explorer 1.4 will fully extract unity3d packages and unity asset files.
Upugui will extract unity packaging files
both programs are very good at extracting all data
Thanks for deleting my files .It your loss not mine.
Could you perhaps provide some sort of source for this program, like a website? Because otherwise we're just downloading and running a random exe file from a stranger on the internet, which everybody knows isn't a good idea
- markb
- New Member
- Posts: 8
- Joined: October 4th, 2014, 11:38 pm
unity explorer
http://forum.xentax.com/viewtopic.php?f=10&t=10085&start=90
UPUgui 1.02
http://upu.derfunk.com/
Hope this helps
http://forum.xentax.com/viewtopic.php?f=10&t=10085&start=90
UPUgui 1.02
http://upu.derfunk.com/
Hope this helps