Unity multi-project collaborative development method, device, equipment and storage medium
By analyzing the engineering specifications and loading the Unity engine on each terminal to create the main project and sub-engine, the problem of low efficiency of collaborative development of complex game projects is solved, independent collaborative development of Unity projects is realized, and development efficiency is improved.
Patent Information
- Application Number
- CN202410993775.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2044-07-23
AI Technical Summary
In the prior art, the collaborative development of complex game projects is less efficient because different business teams need to jointly maintain a Unity project, resulting in high manpower and material consumption.
By obtaining preset engineering specifications, analyzing Unity version information, public library information and basic library information, loading the Unity engine on each terminal based on this information, creating the main project and sub-project, and configuring the link file to retain the public library and basic library, so as to realize the packaging and release of the main project.
It realizes the collaborative development of game projects under independent Unity projects of different business teams without maintaining a unified Unity project, thereby improving the efficiency of collaborative development of game projects.
Smart Images

Figure CN119065702B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a Unity multi-project collaborative development method, device, equipment and storage medium. Background Art
[0002] For a complex game project, it is usually divided into multiple sub-modules that can be independently developed and deployed and assigned to different business teams for development. Finally, the main module loads the developed sub-modules to complete the development of a complex game project.
[0003] At present, the game industry usually uses the code hot loading feature of hot update frameworks such as xLua, ILRuntime, and HybridCLR to divide sub-modules and assign them to different business teams for development. However, these hot update frameworks are designed for a single Unity project. Considering that a complex game project is usually completed by multiple business teams in different regions or countries, and having different business teams jointly maintain a Unity project is a task that requires a lot of manpower and material resources, which leads to low efficiency in collaborative development of game projects. Therefore, how to improve the efficiency of collaborative development of game projects is a technical problem that needs to be solved urgently by those skilled in the art. Summary of the invention
[0004] In view of this, the present disclosure proposes a Unity multi-project collaborative development method, device, equipment and storage medium, which can improve the collaborative development efficiency of game projects.
[0005] According to a first aspect of the present disclosure, a Unity multi-project collaborative development method is provided, the method being implemented by a first terminal and comprising:
[0006] Obtain preset engineering specifications, parse the engineering specifications, and obtain Unity version information, public library information, and basic library information;
[0007] Based on the Unity version information, a corresponding Unity engine is loaded on the first terminal, and based on the Unity engine, a main project of the game project is created, wherein the main project is configured to automatically load resource packages of at least two sub-games developed based on independent sub-projects when started, and the resource packages of the sub-games are developed based on the project specifications;
[0008] Based on the common library information and the basic library information, the common library and the basic library are loaded into the main project, and based on the common library and the basic library loaded into the main project, the link file of the main project is configured, wherein the link file is configured to specify to retain the common library and the basic library loaded into the main project when packaging and publishing the main project;
[0009] Based on the link file of the main project, the main project is packaged and released, thereby completing the collaborative development of the game project.
[0010] In a possible implementation, when developing the resource package of the sub-game based on the engineering specification, the second terminal implements the following steps:
[0011] Obtain the engineering specification, parse the engineering specification, and obtain Unity version information, public library information, and basic library information;
[0012] Based on the Unity version information, load the corresponding Unity engine on the second terminal, and create a sub-project of the game project based on the Unity engine;
[0013] Based on the common library information and the basic library information, load the common library and the basic library into the sub-project, and create the resources of the sub-game based on the sub-project loaded with the common library and the basic library;
[0014] The resources of the sub-game are packaged to obtain a resource package of the sub-game.
[0015] In a possible implementation, after obtaining the resource package of the sub-game, the method further includes:
[0016] The resource package of the sub-game is uploaded to a designated server, and the storage address of the resource package of the sub-game on the server is recorded.
[0017] In a possible implementation, when the main project loads the resource package of the sub-game, it is implemented based on the storage address of the resource package of the sub-game on the server.
[0018] In a possible implementation, the main project automatically loads resource packages of at least two sub-games developed based on independent sub-projects by means of hot update.
[0019] In a possible implementation, the resources of the sub-game include logic code and art resources of the sub-game;
[0020] When the resources of the sub-game are packaged to obtain the resource package of the sub-game, it is implemented based on HybridCLR and Addressable.
[0021] In a possible implementation, when HybridCLR and Addressable package the resources of the sub-game to obtain the resource package of the sub-game, it includes:
[0022] Using the HybridCLR, the logic code of the sub-game is made into a DLL file that can be hot-loaded;
[0023] Convert the DLL file into a Bytes file that can be recognized by the Addressable, and mark the Bytes file as a resource of the Addressable;
[0024] The Bytes file and the art resources are packaged using the Addressable to obtain a resource package of the sub-game.
[0025] According to a second aspect of the present disclosure, a Unity multi-project collaborative development device is provided, the device being installed in a first terminal and comprising:
[0026] The engineering specification parsing module is used to obtain preset engineering specifications, parse the engineering specifications, and obtain Unity version information, public library information, and basic library information;
[0027] A main project creation module, used to load the corresponding Unity engine on the first terminal based on the Unity version information, and create a main project of the game project based on the Unity engine, wherein the main project is configured to automatically load at least two resource packages of sub-games developed based on independent sub-projects when started, and the resource packages of the sub-games are developed based on the project specifications;
[0028] A main project configuration module, used to load the common library and the basic library into the main project based on the common library information and the basic library information, and configure the link file of the main project based on the common library and the basic library loaded into the main project, wherein the link file is configured to specify to retain the common library and the basic library loaded into the main project when packaging and publishing the main project;
[0029] The main project publishing module is used to package and publish the main project based on the link file of the main project, so as to complete the collaborative development of the game project.
[0030] According to a third aspect of the present disclosure, a Unity multi-project collaborative development device is provided, comprising: a processor; and a memory for storing processor executable instructions; wherein the processor is configured to execute the method described in the first aspect of the present disclosure.
[0031] According to a fourth aspect of the present disclosure, a non-volatile computer-readable storage medium is provided, on which computer program instructions are stored, wherein the computer program instructions, when executed by a processor, implement the method described in the first aspect of the present disclosure.
[0032] The present disclosure provides a method for collaborative development of multiple projects in Unity, including: obtaining preset project specifications, parsing the project specifications, obtaining Unity version information, public library information, and basic library information; based on the Unity version information, loading the corresponding Unity engine in a first terminal, and based on the Unity engine, creating a main project of a game project, wherein the main project is configured to automatically load at least two resource packages of sub-games developed based on independent sub-projects when starting, and the resource packages of the sub-games are developed based on the project specifications; based on the public library information and the basic library information, loading the public library and the basic library to the main project, and based on the public library and the basic library loaded into the main project, configuring the link file of the main project, wherein the link file is configured to specify the retention of the public library and the basic library loaded into the main project when the main project is packaged and released; based on the link file of the main project, the main project is packaged and released, thereby completing the collaborative development of the game project. Through the method disclosed in the present disclosure, different business teams can carry out collaborative development of game projects under independent Unity projects, without the need to maintain a unified Unity project, thereby improving the efficiency of collaborative development of game projects.
[0033] Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
[0035] Figure 1 A flowchart of a Unity multi-project collaborative development method according to an embodiment of the present disclosure is shown.
[0036] Figure 2 A schematic block diagram of a Unity multi-project collaborative development device according to an embodiment of the present disclosure is shown.
[0037] Figure 3 A schematic block diagram of a Unity multi-project collaborative development device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0038] Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.
[0039] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
[0040] In addition, in order to better illustrate the present disclosure, numerous specific details are given in the following specific embodiments. It should be understood by those skilled in the art that the present disclosure can also be implemented without certain specific details. In some examples, methods, means, components and circuits well known to those skilled in the art are not described in detail in order to highlight the main purpose of the present disclosure.
[0041] <Method Example>
[0042] Figure 1 FIG. 1 is a flowchart of a Unity multi-project collaborative development method according to an embodiment of the present disclosure. Figure 1 As shown, the method includes steps S1100-S1400.
[0043] S1100, obtaining preset engineering specifications, parsing the engineering specifications, and obtaining Unity version information, public library information, and basic library information.
[0044] It should be noted here that before executing the method disclosed in the present invention, it is necessary to first build an engineering specification, and agree on the version information of the Unity engine (i.e., Unity version information), public library information, and basic library information used in the collaborative development process through the engineering specification. In this way, when different business teams are conducting collaborative development, they can parse out the Unity version information, public library information, and basic library information required for collaborative development from the engineering specification, and build a unified Unity development environment based on the parsed Unity version information, public library information, and basic library information, and build the main project of the game project and the resource package of the sub-game based on the unified Unity development environment. Among them, the public library is used to store the assembly of the team's self-developed library, and the basic library is used to store the assembly that can be added under the Unity Registry.
[0045] In one possible implementation, the Unity version information in the engineering specification can be the minimum version number of the Unity engine, such as Unity 2021.3.29f1c1. The public library information in the engineering specification can be a public library compressed file in the form of an attachment, or it can be the download address of the public library, which is not specifically limited here. The basic library information in the engineering specification can be the version number of the basic library, or it can be a basic library compressed file in the form of an attachment, which is not specifically limited here.
[0046] Step S1200: Based on the Unity version information, the corresponding Unity engine is loaded on the first terminal, and based on the Unity engine, a main project of the game project is created.
[0047] It should be noted here that the game project includes a main project and at least two resource packages of sub-games developed based on independent sub-projects in the present disclosure. Wherein, the main project is configured to automatically load at least two resource packages of sub-games developed based on independent sub-projects when starting, so as to realize corresponding sub-game functions in the structural framework of the main project based on the resource packages of the loaded sub-games. Under this technical concept, the development process of the main project and the resource packages of each sub-game can be independent of each other, so the resource packages of the main project and the sub-games can be assigned to different business teams for independent development. After receiving a specific development task, each business team can carry out independent Unity project development based on unified engineering specifications, and call the resource packages of all sub-games through the developed main project to generate the final project.
[0048] When the business team is developing the main project, they can load the same version of the Unity engine on the first terminal based on the Unity version information parsed from the project file, and create the main project of the game project based on the loaded Unity engine. It should be noted here that in the process of collaborative development, the resource packages of the developed sub-games will be uploaded to the designated server, and the storage address corresponding to the resource packages of each sub-game will be recorded. After the resource packages of all sub-games of the game project are developed, the storage address corresponding to the resource packages of each sub-game can be obtained. In this way, when creating the main project, the main project loading code can be developed based on the storage address corresponding to the resource packages of each sub-game, so that the main project has the function of automatically loading at least two resource packages of sub-games developed based on independent sub-projects when it is started.
[0049] In a possible implementation, the main project can automatically load at least two resource packages of sub-games developed based on independent sub-projects by hot updating, so as to dynamically update the resource packages of the sub-games. Of course, the main project can also automatically load at least two resource packages of sub-games developed based on independent sub-projects by other methods, which are not specifically limited here.
[0050] After the development of the loading code of the main project is completed, step S1300 will be continued to load the public library and the basic library into the main project based on the public library information and the basic library information, and configure the link file of the main project based on the public library and the basic library loaded into the main project. The link file is configured to specify to retain the public library and the basic library loaded into the main project when packaging and publishing the main project.
[0051] It should be noted here that only the logic code and art resources of the sub-game are included in the resource package of the sub-game, and the public library and basic library that realize the logic code of the sub-game are not included. In order to make the resource package of the sub-game loaded into the main project can be used normally, it is necessary to load the public library and basic library that build the logic code of the sub-game into the main project. But because the code created in the main project is to load the resource package of the sub-game, the agreed public library and basic library are not used in this code, in the traditional main project packaging and publishing process, the public library and basic library content that are not used in the main project will be eliminated, but once the content of the public library and basic library in the main project is eliminated, the resource package of the sub-game loaded into the main project will not be able to operate normally. In order to solve this problem, in the present disclosure, based on the public library and basic library that are loaded into the main project, a link file is constructed to avoid the content of the public library and basic library being eliminated in the main project packaging and publishing process with the link file.
[0052] In a possible implementation, when a link file is constructed based on the common library and the base library loaded into the main project, the following steps may be included: obtaining the assembly names of all assemblies in the common library and the base library. Then, by specifying the assembly names to be retained, the link file of the main project is constructed. Specifically, the link.xml file contains the basic XML file header<?xml version="1.0" encoding="utf-8"?> , followed by a <linker> <linker / > Groups for adding content, in <linker> <linker / > Use multiple lines in a group <assembly fullname="程序集名" preserve="all" / > To specify that all completed assemblies in the common and base libraries are retained. <assembly fullname="程序集名" preserve="all" / > Used to specify a complete assembly that saves the common library and the base library.
[0053] After completing the configuration of the link file of the main project, step S1400 can be executed to package and publish the main project based on the link file of the main project, thereby completing the collaborative development of the game project.
[0054] It should be noted here that before loading the code in the main project, the development and uploading of the resource package of the sub-game need to be implemented based on the same engineering specifications. During the collaborative development of the game project, the development of the resource package of the sub-game can be assigned to another business team. Another business team can develop the resource package of the sub-game in the second terminal it uses based on the same engineering specifications. Specifically, the following steps may be included:
[0055] First, obtain the project specifications, parse the project specifications, and obtain Unity version information, public library information, and basic library information. For specific steps, please refer to the corresponding steps in the main project development, which will not be repeated here.
[0056] Second, based on the Unity version information, the corresponding Unity engine is loaded on the second terminal, and based on the Unity engine, a sub-project of the game project is created.
[0057] Third, based on the public library information and the basic library information, the public library and the basic library are loaded into the sub-project, and based on the sub-project loaded with the public library and the basic library, the resources of the sub-game are created. Specifically, the resources of the sub-game include the game logic and art resources of the sub-game, wherein the game logic of the sub-game is implemented by calling the assemblies in the public library and the basic library.
[0058] Fourth, the resources of the sub-game are packaged to obtain the resource package of the sub-game.
[0059] In an embodiment where the main project automatically loads resource packages of at least two sub-games developed based on independent sub-projects by hot updating, when the resources of the sub-games are packaged to obtain the resource packages of the sub-games, it is implemented based on HybridCLR and Addressable. The specific steps are as follows:
[0060] First, use HybridCLR to make the logic code of the sub-game into a DLL file that can be hot-loaded.
[0061] Secondly, convert the DLL file into a Bytes file that can be recognized by Addressable, and mark the Bytes file as an Addressable resource. It should be noted here that the DLL file generated by HybridCLR cannot be directly supported by the Addressable system, so the DLL file needs to be converted into a Bytes file that can be recognized by Addressable. Specifically, you can use File.ReadAllBytes() to read the DLL file as Bytes, and then use File.WriteAllBytes("dllName.bytes", bytes) to write the Bytes to a file with the suffix .bytes, and you can get a Bytes file that can be recognized by Addressable as a TextAsset type file. After generating the Bytes file, mark the Bytes file as an Addressable resource.
[0062] Finally, use Addressable to hot-pack the Bytes file and art resources to get the resource package of the sub-game. The resource package of the sub-game includes catalog_xx_xx.json, catalog_xx_xx.hash files and a batch of Assetbundle files.
[0063] After getting the resource package of the sub-game, you can upload the resource package to the designated server (such as OSS) or other accessible loading location, and record the storage address of the resource package of the sub-game. With the storage address of the resource package of the sub-game, you can refer to the above to build the loading code in the main project.
[0064] It should be noted here that when the main project uses hot update to load the resource package of the sub-game, the following steps can be included:
[0065] First, use the Addressable system to obtain the resource information in the resource pack of the sub-game. Specifically, use the LoadContentCatalogAsync() interface in the Addressable system to load the resource list file catalog_xx_xx.json in the resource pack of the sub-game, and determine the resource information of the sub-game through the resource list file.
[0066] Secondly, based on the obtained resource information, a resource locator matching the resource package of the sub-game is generated.
[0067] Next, the resource locator that matches the resource package of the sub-game is used to compare the differences between the resources of the sub-game already loaded in the main program and the resources of the sub-game in the server, and the resource address that needs to be downloaded is determined based on the determined resource differences.
[0068] Next, use Addressable to load the resource to be downloaded according to the resource address to be downloaded.
[0069] After downloading the resources, first use Assembly.Load() to load the code resource files in the resource package, so as to load the logic code of the sub-game. Then load other resource files such as art resources in the resource package to complete the loading of the resource package of the sub-game.
[0070] It should be noted here that since the resource packages of each sub-game are developed based on independent Unity projects, it is very likely that duplicate content may appear in the resource data lists of sub-games under different Unity projects. In order to avoid abnormal resource calculations, it is necessary to download the resource packages of the sub-games one by one, and after completing the loading of a sub-game's resource package, it is necessary to use ClearResourceLocators to clear the cached resource locators. After completing the clearing of the resource locators, download the resource package of the next sub-game.
[0071] It should be further explained here that under the technical concept of the present disclosure, the resources of the main project and multiple sub-games are all developed based on independent Unity projects. Therefore, in addition to loading the resource packages of the sub-games developed for this game project, the resource packages of the sub-games of other game projects can also be loaded into the main project for use as long as they are constructed with reference to the same method, thereby realizing the cross-project and cross-project game function development. For example, the game project A to be developed currently includes the main project A1 and the sub-game resource packages A2 and A3 developed for the game project A. Another game project B includes the main project B1 and the sub-game resource packages B2 and B3 developed for the game project B. Both game projects are developed by referring to the above-mentioned collaborative development method. At this time, as long as the storage addresses of the sub-game resource packages B2 and B3 are known, the sub-game resource packages B2 and B3 in the game project B can be loaded into the framework of the main project A1 by modifying the loading code in the main project A1, so that the main project has the functions of the sub-games B2 and B3, thereby easily realizing the cross-project and cross-project game project development, and improving the efficiency of game project development.
[0072] The present disclosure provides a method for collaborative development of multiple projects in Unity, including: obtaining preset project specifications, parsing the project specifications, obtaining Unity version information, public library information, and basic library information; based on the Unity version information, loading the corresponding Unity engine in a first terminal, and based on the Unity engine, creating a main project of a game project, wherein the main project is configured to automatically load at least two resource packages of sub-games developed based on independent sub-projects when starting, and the resource packages of the sub-games are developed based on the project specifications; based on the public library information and the basic library information, loading the public library and the basic library to the main project, and based on the public library and the basic library loaded into the main project, configuring the link file of the main project, wherein the link file is configured to specify the retention of the public library and the basic library loaded into the main project when the main project is packaged and released; based on the link file of the main project, the main project is packaged and released, thereby completing the collaborative development of the game project. Through the method disclosed in the present disclosure, different business teams can carry out collaborative development of game projects under independent Unity projects, without the need to maintain a unified Unity project, thereby improving the efficiency of collaborative development of game projects.
[0073] <Device Example>
[0074] Figure 2 FIG. 1 is a schematic block diagram of a Unity multi-project collaborative development device according to an embodiment of the present disclosure. Figure 2 As shown, the Unity multi-project collaborative development device 100 includes:
[0075] The engineering specification parsing module 110 is used to obtain preset engineering specifications, parse the engineering specifications, and obtain Unity version information, public library information, and basic library information;
[0076] A main project creation module 120, configured to load the corresponding Unity engine on the first terminal based on the Unity version information, and create a main project of the game project based on the Unity engine, wherein the main project is configured to automatically load at least two resource packages of sub-games developed based on independent sub-projects when started, and the resource packages of the sub-games are developed based on the project specifications;
[0077] A main project configuration module 130, for loading the common library and the basic library into the main project based on the common library information and the basic library information, and configuring the link file of the main project based on the common library and the basic library loaded into the main project, wherein the link file is configured to specify to retain the common library and the basic library loaded into the main project when packaging and publishing the main project;
[0078] The main project publishing module 140 is used to package and publish the main project based on the link file of the main project, so as to complete the collaborative development of the game project.
[0079] <Equipment Embodiment>
[0080] Figure 3 FIG. 1 is a schematic block diagram of a Unity multi-project collaborative development device according to an embodiment of the present disclosure. Figure 3 As shown, the Unity multi-project collaborative development device 200 includes: a processor 210 and a memory 220 for storing executable instructions of the processor 210. The processor 210 is configured to implement any of the aforementioned Unity multi-project collaborative development methods when executing the executable instructions.
[0081] Here, it should be noted that the number of processors 210 can be one or more. At the same time, in the Unity multi-project collaborative development device 200 of the embodiment of the present disclosure, an input device 230 and an output device 240 may also be included. Among them, the processor 210, the memory 220, the input device 230 and the output device 240 may be connected through a bus or in other ways, which are not specifically limited here.
[0082] The memory 220, as a computer-readable storage medium, can be used to store software programs, computer executable programs, and various modules, such as the program or module corresponding to the Unity multi-project collaborative development method of the embodiment of the present disclosure. The processor 210 executes various functional applications and data processing of the Unity multi-project collaborative development device 200 by running the software programs or modules stored in the memory 220.
[0083] The input device 230 may be used to receive input numbers or signals. The signals may be key signals related to user settings and function control of the device / terminal / server. The output device 240 may include display devices such as display screens.
[0084] <Storage Medium Embodiment>
[0085] According to a fourth aspect of the present disclosure, a non-volatile computer-readable storage medium is also provided, on which computer program instructions are stored. When the computer program instructions are executed by the processor 210, any of the aforementioned Unity multi-project collaborative development methods is implemented.
[0086] The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or technical improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.< / linker> < / linker>
Claims
1. A Unity multi-project collaborative development method, characterized in that: The method is implemented by the first terminal and includes: Obtain preset engineering specifications, parse the engineering specifications, and obtain Unity version information, public library information, and basic library information; Based on the Unity version information, a corresponding Unity engine is loaded on the first terminal, and based on the Unity engine, a main project of the game project is created, wherein the main project is configured to automatically load resource packages of at least two sub-games developed based on independent sub-projects when started, and the resource packages of the sub-games are developed based on the project specifications; Based on the common library information and the basic library information, the common library and the basic library are loaded into the main project, and based on the common library and the basic library loaded into the main project, the link file of the main project is configured, wherein the link file is configured to specify to retain the common library and the basic library loaded into the main project when packaging and publishing the main project; Based on the link file of the main project, the main project is packaged and released, thereby completing the collaborative development of the game project; When developing the resource package of the sub-game based on the engineering specification, the second terminal implements the process, including: Obtain the engineering specification, parse the engineering specification, and obtain Unity version information, public library information, and basic library information; Based on the Unity version information, load the corresponding Unity engine on the second terminal, and create a sub-project of the game project based on the Unity engine; Based on the common library information and the basic library information, load the common library and the basic library into the sub-project, and create the resources of the sub-game based on the sub-project loaded with the common library and the basic library; The resources of the sub-game are packaged to obtain a resource package of the sub-game.
2. The method according to claim 1, characterized in that After obtaining the resource package of the sub-game, it also includes: The resource package of the sub-game is uploaded to a designated server, and the storage address of the resource package of the sub-game on the server is recorded.
3. The method according to claim 2, characterized in that When the main project loads the resource package of the sub-game, it is implemented based on the storage address of the resource package of the sub-game on the server.
4. The method according to claim 1, characterized in that: The main project automatically loads resource packages of at least two sub-games developed based on independent sub-projects by means of hot update.
5. The method according to claim 4, characterized in that The resources of the sub-game include the logic code and art resources of the sub-game; When the resources of the sub-game are packaged to obtain the resource package of the sub-game, it is implemented based on HybridCLR and Addressable.
6. The method according to claim 5, characterized in that When HybridCLR and Addressable package the resources of the sub-game to obtain the resource package of the sub-game, it includes: Using the HybridCLR, the logic code of the sub-game is made into a DLL file that can be hot-loaded; Convert the DLL file into a Bytes file recognized by the Addressable, and mark the Bytes file as a resource of the Addressable; The Bytes file and the art resources are packaged using the Addressable to obtain a resource package of the sub-game.
7. A Unity multi-project collaborative development device, characterized in that: The device is installed at the first terminal and includes: The engineering specification parsing module is used to obtain preset engineering specifications, parse the engineering specifications, and obtain Unity version information, public library information, and basic library information; A main project creation module, used to load the corresponding Unity engine on the first terminal based on the Unity version information, and create a main project of the game project based on the Unity engine, wherein the main project is configured to automatically load at least two resource packages of sub-games developed based on independent sub-projects when started, and the resource packages of the sub-games are developed based on the project specifications; A main project configuration module, used to load the common library and the basic library into the main project based on the common library information and the basic library information, and configure the link file of the main project based on the common library and the basic library loaded into the main project, wherein the link file is configured to specify to retain the common library and the basic library loaded into the main project when packaging and publishing the main project; The main project publishing module is used to package and publish the main project based on the link file of the main project, so as to complete the collaborative development of the game project; When developing the resource package of the sub-game based on the engineering specification, the second terminal implements the process, including: Obtain the engineering specification, parse the engineering specification, and obtain Unity version information, public library information, and basic library information; Based on the Unity version information, load the corresponding Unity engine on the second terminal, and create a sub-project of the game project based on the Unity engine; Based on the common library information and the basic library information, load the common library and the basic library into the sub-project, and create the resources of the sub-game based on the sub-project loaded with the common library and the basic library; The resources of the sub-game are packaged to obtain a resource package of the sub-game.
8. A Unity multi-project collaborative development device, characterized in that: include: processor; a memory for storing processor-executable instructions; Wherein, the processor is configured to implement the method described in any one of claims 1 to 6 when executing the executable instructions.
9. A non-volatile computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Method and device for packaging game installation package based on Unity
CN111158750A
Resource publishing method and device, computer equipment and computer readable storage medium
CN113434197A