Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add blender to base image to enable seamless FBX import from .blend project files #181

Closed
wants to merge 1 commit into from

Conversation

aallbrig
Copy link

Changes

  • Adds blender to gameci image, to enable auto FBX import from .blend files (unity docs).

Checklist

  • Read the contribution guide and accept the code of conduct
  • Readme (updated or not needed)

@github-actions
Copy link

Cat Gif

@webbertakken webbertakken added enhancement New feature or request invalid This doesn't seem right labels May 21, 2022
@webbertakken
Copy link
Member

Hey @aallbrig,

Thanks for your contribution. We have discussed making this change before and decided against it.

Why?

We need to make our images suitable for everyone. Adding 250 MB on top of the already large image size would not be preferable for teams that do not use blender.

Now of course you could argue that most people use Blender, which is a fair point to make. However the same point applies for the other file formats that Unity Editor supports.

Different teams would need different combinations of tools installed, and the amount of tools really isn't limited to file types. SonarQube and other quality tools come to mind.

Solutions

Therefor we've decided to offer the user 3 different options:

  • Extending our image by adding blender on top of it. (especially recommended for teams that are large enough to be able to maintain a docker image for their project)
  • A plugin system inside unity-builder (not yet available) - a system where a combination of different tools can be installed during CI time.
  • Forking unity-builder and editing the entrypoint.sh to (partially) simulate what the plugin system would do: install the tools you need during CI time.

Conclusion

Contributions are always welcomed - as long as they work for everyone.
In this case unfortunately it would not, so this PR unfortunately will not be merged.

I hope the above solutions will help you move forward.

@GabLeRoux
Copy link
Member

GabLeRoux commented May 21, 2022

Since this has only been discussed in a few issues (I rememeber some older discussions on gitlab) or discord, it could be useful to add a section in the documentation on how to precisely customize images for different file support.

We had an idea of adding some overhead during the pipeline runs to inject (install) blender on each build,this is the plugin system from Webber's comment above. Until we have support for this (if we accept to go that way), I think including an easy to follow guide in the documentation could be helpful for many.

Right now, all we have is this:
https://game.ci/docs/docker/customize-docker-images

It is helpful, but I think it can be improved. Just another idea on top of this, we could use the power of mdx (react in markdown files) to allow people to pick their unity version, the tool they want and generate some ready to use scripts to publish what they need.

Example: A react component that generates a script from a form

  • dropdown: unity version
  • checkboxes: the tools (file formats) you need (blender, etc)
  • dropdown: GameCI version (feeding from docker releases list, auto picking the latest
  • input text: docker username

result: a shell script that eases building and publishing customized docker images to docker hub.

Now this should be discussed and accepted in an issue before it gets developed to avoid wasting precious developer time 🙏

@webbertakken
Copy link
Member

Nice idea. Added it to game-ci/documentation#286

@webbertakken
Copy link
Member

webbertakken commented May 22, 2022

I've added this to the Roadmap for v3.0.0

@webbertakken webbertakken removed the invalid This doesn't seem right label May 22, 2022
@webbertakken
Copy link
Member

The plugin part will be solved as part of game-ci/cli#10

@aallbrig
Copy link
Author

I appreciate it!!!

@aallbrig
Copy link
Author

aallbrig commented Jun 12, 2022

I solved this in my "virtual arcade bar" micro project. Here are the commits

  1. Customize game-ci Dockerfile with blender 5939206bf123a1bf790f5b09570e017385c19ca1 (thanks NY times engineers!)
  2. Add in a .blend file to my project 7985db80b2d88e81c0732fd213e596d912e21941
  3. Update my game-ci Github Actions yaml 269d368198c82b60d2df130fd99061f89b568a04

My build succeeded!
Screen_Shot_2022-06-05_at_8 15 02_PM

@webbertakken
Copy link
Member

Great! Thank you very much for sharing your solution with the community.

I'm curious, did this somehow end up solving your shader/lighting difference between local and CI?

@aallbrig
Copy link
Author

@webbertakken Unfortunately, no not yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants