• 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 Abboodd · May 01, 2016 at 01:48 PM · androidassemblylegallegal issueslibunity.so

Is it legal to tamper in the Assembly file libunity.so?

Hello,

I'm working on an android app written in Java that will contain multiple Unity games.

I would like the player to be able to press a button to play the first game, then another button to play another game, and so on.

From what I understand so far, in android applications, the UnityPlayerActivity uses the libraries available in unity-classes.jar

unity-classes.jar then uses the native functions in libmain.so, libmono.so, and libunity.so to run the actual game

libunity.so contains assembly code that refers to the folder "assets/bin" where the actual code and assets of the game exist.

Now, in order to let the player play more than one game, I need to choose the files that need to be placed in "assets/bin" depending on which game the player wants to play; for the first game I put the files of the first game, for the second game I put the files of the second game, and so on.

The problem is that it is not possible to modify the files inside "assets/bin" because they are inside the apk, and an android application is not allowed to modify its own apk.

So the solution that I thought of is to change libunity.so to refer to a folder that is outside the apk, where I can easily replace one game with another, that should hopefully work.

My question, though, before I start any of this, is: Is it legal?? It's just a couple of values that I need to change in the library and it should hopefully work, but is that legal???

If it's not legal, then what are your suggestions for running multiple games in one application??

Thank you,

Regards,

EDIT:

I think this paragraph in the Terms answers my question with a NO. But I'm not that good in reading legal documents so another specific answer would be great :)

General Restrictions. Except as expressly specified in this Agreement, you may not: (a) copy (except in the course of loading or installing) or modify or create derivative works of the Software; (b) distribute, transfer, sublicense, lease, lend, rent or otherwise provide access to the Software to any third party; (c) directly or indirectly make the functionality of the Software available to multiple users or third parties through any means, including but not limited to by uploading the Software to a network or file-sharing service or through any hosting, application services provider, service bureau, software-as-a-service (SaaS) or any other technology or service; (d) use the Software for competitive analysis or to develop a competing product or service; or (e) do anything that could cause or result in the Software (including the runtime portion thereof) being subject to any open source license (or similar license) that requires as a condition of use, modification or distribution that the Software (including the runtime portion thereof) or other software combined or distributed with the Software be: (i) disclosed or distributed in source code form; (ii) licensed for the purpose of making derivative works; or (iii) redistributable at no charge. You acknowledge and agree that portions of the Software, including but not limited to the source code and the specific design and structure of individual modules or programs, are confidential and constitute or contain trade secrets of Unity and its licensors. Accordingly, you agree not to disassemble, decompile or reverse engineer the Software, in whole or in part, or permit or authorize a third party to do so, except to the extent such activities are expressly permitted by this Agreement or by law notwithstanding this prohibition. Notwithstanding the restriction prohibiting decompiling in the immediately preceding sentence, you may decompile the Unity Common Language Infrastructure (CLI) assemblies solely to inspect their functionality for purposes of understanding or improving performance of your Licensee Content or any editor extension to the Software.

Comment
Add comment · Show 1
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 bavbavbavbav · Sep 29, 2017 at 12:35 PM 0
Share

Hi @Abboodd , I've faced the same problem, described it on unity android forum and then found your question. It was posted a long time ago so what was your final solution on this?

2 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by FortisVenaliter · May 01, 2016 at 03:44 PM

Well, first off, you're asking a bunch of developers a legal question. Whatever you hear, can you really trust the armchair lawyers? If you're really concerned, ask an actual lawyer. We certainly can't cover you in court.

That being said, decompiling or modifying a built assembly for your own internal personal purposes, particularly education, is usually okay. But releasing modified assemblies, in any fashion, without written permission, will likely open you very much to a lawsuit.

Per your second question... the best way would be to import them all into the same Unity project, spend a few months quashing conflict bugs, then add a unified menu for them.

Comment
Add comment · 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 Abboodd · May 03, 2016 at 04:49 PM 0
Share

Thank you very much, I don't think I can port them all into one project in my case because not all the games are made at once or even made by me. But thank you very much :)

avatar image
0

Answer by WangYilong · Nov 22, 2018 at 11:58 AM

Buddy, I have encountered similar problems. After you solved this problem, how did you solve it?

Comment
Add comment · 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

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

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

UnsatisfiedLinkError while linking unity android lib project with eclipse project 0 Answers

How do I install Android application as system app and have unity find libmono -1 Answers

Possibility to extract objects from compiled game? 0 Answers

Developing Tablet Games with Multiple Physical Objects? 0 Answers

Can I modify what I buy from the Asset Store? 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges